私は、専用チーム、一般ユーザー、またはその両方の統計を見ることができるようにパラメータを設定するレポートを用意しています。私は手動で私のSQLに区別していた場合、私は、[ユーザー名]( '%専用')のようなチーム間を区別するためのパラメータにLIKEを使用する
専門チームのためと
[ユーザー名
を使用します]は好きではない( '%Dedicated')
通常のユーザーの場合(専用チームメンバーは常にユーザー名の末尾にタグ付けされています)
これらのSQL where句をSSRSパラメータ式に変換する構文についてはわかりません。私は他のための一つのパラメータと
=好きではない( '%専用')
ため
=同様に( '%専用')
を試し
= L IKE( '%')が、それは投げ
と[ユーザー名]は私のSQL
に
を@Team
両方のためのエラー "式が期待される"ので、私は構文が間違っている必要があります。誰も助言することはできますか?私は通常、SQLに直接LIKEを入れますが、この場合、時には、選択したオプションに応じて好きではないようにする必要があります。
WITH [data] as ( SELECT iif([Agent Name] like '%Robert Dyas', 1, 0) as [Dedicated] ,convert(date,format(Dateadd(hh,1,[Start Time]),'dd/MM/yyyy'),103) as [Date], [Client Name], [Account], sum(iif([Type] in ('Normal operator call','Caller rang off','Caller rang off during divert','No suitable operator logged on'),1,0)) as [Calls Offered], sum(iif([Type] in ('Normal operator call'),1,0)) as [Calls Answered], sum(iif([Type] in ('Caller rang off','Caller rang off during divert','No suitable operator logged on'),1,0)) as [Ring Offs], sum(iif([Ring (secs)] <= 20 AND [Type] in ('Normal operator call'),1,0)) as [Answered in 20 Secs], sum(iif([Type] in ('Normal operator call'),[Ring (secs)],NULL)) as [Total Ring Time], sum([connected (secs)]) as [Total Connected Time], sum(iif([Ring (secs)] > 5 AND [Type] in ('Caller rang off','Caller rang off during divert','No suitable operator logged on'),1,0)) as [CRO After 5 Secs], avg(iif([Type] in ('Normal operator call'),[Ring (secs)],null)) as 'Avg Time to Answer', avg(iif([Type] in ('Normal operator call'),[Connected (secs)],null)) as 'Avg Call Time' ,sum(iif(rtrim([rhoutcome]) = 'MESSAGE',1,0)) AS [Total Messages] FROM ipr.dbo.InboundCallsView IC left JOIN [iAnalyse].[dbo].[iAnalyse3_iResultsHeaderXML] ires ON ic.[Reference] = ires.[rhcallref] WHERE [account] = '106844' AND Dateadd(hh,1,[Start Time]) between '2017-05-29' AND '2017-05-31' group BY iif([Agent Name] like '%Robert Dyas', 1, 0), format(Dateadd(hh,1,[Start Time]),'dd/MM/yyyy'),[client name],[account] ) select * from [data] as [d] where d.Dedicated = 1
Stangelyそれは作ります非常に長い処理時間。 [Dedicated]のようなUser Nameは[Dedicated]のように完全に動作し、5秒後に実行されますが、iif( '%Dedicated'のようなUserName、1、0)= 1を追加するか、 2番目のものを選択してから*を選択してみてください。[専用] = 1の場合、それは1時間以上実行され、何らかの理由で実行されます。 – tomdemaine
CTE要素を説明するための答えを追加しました。あなたのように見えますか? – BishNaboB
ITは初めではありませんでしたが、私はあなたのやり方を試しました。実行するにははるかに長い時間がかかっています(実行をキャンセルする必要がありました)。 – tomdemaine