簡體   English   中英

SSRS報告的ALL參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM