[英]ALL parameter for SSRS Report
我希望能夠讓企業手動在參數框中輸入USERID或將其保留為空白以帶回所有USERID。
我為CUSTOMERID設置了另一個參數,該參數使用數據集帶回客戶ID的列表。 由於USERID的數量,我不想使用相同的解決方案,而是讓他們手動輸入USERID或將其保留為空白,然后全部取回。
SELECT
CUSTOMERID,
CASE
WHEN STATUSCODE = 200 THEN 'Successful Logon'
ELSE 'Unsuccessful Logon'
END as LogonStatus,
COUNT( * ) COUNTOFACCOUNTS
FROM
MA4EQNG.APPLICATIONLOG
WHERE
CUSTOMERID in ('"+join(Parameters!CustomerID.Value, "','")+"')
AND (Cast(DATETIME as Date) >= '"& Format(Parameters!FromDate.Value, "yyyy-MM-dd") & "'
AND Cast(DATETIME as Date) <= '" & Format(Parameters!ToDate.Value, "yyyy-MM-dd") & "')
AND COMPONENTDESCRIPTION = '/eq/auth/v1/logon'
AND METHOD = 'POST'
GROUP BY
CUSTOMERID,
CASE
WHEN STATUSCODE = 200 THEN 'Successful Logon'
ELSE 'Unsuccessful Logon'
END
ORDER BY
CUSTOMERID ASC
如果您還有其他需要,請告訴我。
您可以將USERID參數設置為允許空白值,然后在主數據集sql腳本上使用IF條件。
嘗試
IF LEN(@USERID)>0
*put the sql script with UserId filter in where clause*
ELSE
*put the sql script WITHOUT UserId filter in where clause*
通常,您只需要在WHERE子句中編寫這樣的腳本即可。
WHERE notull(@CustomerID,'')=''或(CUSTOMERID in('“ + join(Parameters!CustomerID.Value,”','“)+”'))
從長遠來看,我將創建一個使用帶分隔符的字符串並將其轉換為行的函數,然后就可以對表值函數的結果進行聯接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.