私の質問を見に来てくれてありがとう。
パラメータを追加したい関数ごとの SQL グループがあります。(それが可能であれば)
テーブルの2列のパラメータを関数にスプライスしようとしましたが、うまくいかないようです。
この関数は、レコードをカウントするテーブルを作成します。「チーム」と「場所」によるパラメーターでフィルター処理できるようにしたいと考えています。この情報をデータセットに追加してフィルタリングできるようにするにはどうすればよいですか?
通常、次を使用してそれらを追加します。
select
i.Team
,i.Location
From
incident i
Where i.Team in (@Team)
and i.Location in (@Location)
このテーブルはインシデントと呼ばれ、すべての情報は同じテーブルからのものです。
これを行うためのアイデアをいただければ幸いです。ありがとうございました。
ああ、SQL 2008 R2 で Report Builder 3 を使用しています。
declare @st_date datetime;
declare @en_date datetime;
declare @days int;
declare @offset int;
set @en_date = (@en_datein);
set @offset = (@BrowserTimezoneOffset);
set @days = -6;
set @st_date = DATEADD(dd, @days, @en_date);
with daterange(dt) as
(select
@st_date dt
union all
select
DATEADD(dd, 1, dt) dt
from daterange
where dt <= DATEADD(dd, -1, @en_date)
)
select
left(DATENAME(dw, dt), 3) as weekday
,ISNULL(sum(inc.createdc), 0) as createdcount
,ISNULL(sum(inr.resolvedclosedc), 0) as resolvedclosedcount
from daterange left outer join
(select
left(DATENAME(dw,DATEADD(mi,@offset,CreatedDateTime)), 3) as createddatetime
,count(recid) as createdc
from Incident
where DATEADD(mi,@offset,CreatedDateTime) >= @st_date
and DATEADD(mi,@offset,CreatedDateTime) <= @en_date
group by left(DATENAME(dw, DATEADD(mi,@offset,CreatedDateTime)), 3)
) as inc
on inc.CreatedDateTime = left(DATENAME(dw, dt), 3)
left outer join
(select
left(DATENAME(dw, DATEADD(mi,@offset,ResolvedDateTime)), 3) as ResolvedDateTime
,count(case when status in ('Resolved', 'Closed') then 1 end) as resolvedclosedc
from Incident
where DATEADD(mi,@offset,ResolvedDateTime) between @st_date and @en_date
group by left(DATENAME(dw, DATEADD(mi,@offset,ResolvedDateTime)), 3)
) as inr
on inr.ResolvedDateTime = left(DATENAME(dw, dt), 3)
group by dt
order by dt