【问题标题】:ALL parameter for SSRS ReportSSRS 报告的 ALL 参数
【发布时间】:2016-08-16 08:38:34
【问题描述】:

我希望能够让企业在参数框中手动输入 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

如果您还需要什么,请告诉我。

【问题讨论】:

  • 可以查看参数IS NULL?所以像WHERE (USERID = @UserID OR @UserID IS NULL)
  • 我尝试了以下并得到了错误。我在代码中输入了以下行(USERID = Parameters!UserID.Value OR Parameters!UserID.Value IS NULL)我还在 Visual 中的参数中启用了 NULL 值。
  • 上面查询中的参数你想在哪里使用?我认为您可以将我的代码添加到您的 SQL 中。
  • 我想将条件添加到 WHERE 子句中,就像我为已经存在的 CUSTOMERID 和 DATE 参数所做的那样。唯一的区别是我希望企业能够为所有值保留 NULL 或在参数中输入 USERID。
  • 以上查询是数据集吗?例如,为什么不在 SQL 查询中使用参数(如 @CustomerID@UserID)?您收到什么错误消息?

标签: visual-studio reporting-services parameters


【解决方案1】:

您可以设置 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 子句中,但出现错误。
【解决方案2】:

通常你会在 WHERE 子句中编写类似这样的脚本。

在哪里 isnull(@CustomerID,'') = '' OR (CUSTOMERID in('"+join(Parameters!CustomerID.Value, "','")+"'))

从长远来看,我会创建一个接收分隔字符串并将它们转换为行的函数,然后您可以加入表值函数的结果。

How to split a comma-separated value to columns

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多