【发布时间】: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