背景 - 我正在尝试使用包含多个参数的Report Builder 3.0在SSRS中创建报告 . 该请求是在打开报表时显示所有数据行 . 然后,最终用户可以选择一个或多个参数以减少显示的结果 . 我可以使用类似下面的内容来使用它 .
参数的数据集,其中可用值来自查询,(数据集类型为文本)
对于数字字段:
SELECT 0 'FACG' UNION ALL SELECT DISTINCT STR(ACG) FROM STG_CSI_SA_CONFIRM
对于包含文本的列:
SELECT 'Any' 'FunderName' Union All Select DISTINCT NAME FROM STG_CSI_SA_CONFIRM
在报告的数据集中,我有:
WHERE ('Any' IN (@FrName) or Fname.name in (@FrName)) AND ( 'Any' IN (@FACG) OR FLIST.FACG IN (@FACG))
结果是两个参数框,一个表示0,一个表示任意,报表在首次打开时运行 . 然后,最终用户可以从FACG中选择一个或多个数字,或从FRName中选择一个或多个名称 .
My question is ,如何调整第一个参数以显示“任何”而不是零作为默认值?返回的所有值都是7位数的整数 . 当我只是将0更改为Any时,我收到有关转换数据类型的错误消息 . 如果我使用STR()我可以从SQL服务器中获取一个列表,我会得到一个我期望的列表 . (任何,1234567,1234568等)但我无法让这份名单在SSRS中发挥作用 .
谢谢
[R
1 回答
两种方法来做到这一点 . 1.确保为参数提供值的数据集有两列,一列用于在数据集中实际执行过滤/连接的ID列,另一列是用户可见的标签 . 就像是
在您的主数据数据集中,查询将沿着
SSRS会将参数中的选定值转换为逗号分隔值列表,并将它们注入查询中 .