SSRS 多值参数 - 当 Select ALL,returns 零行时
SSRS Multi-Value Parameter - When Select ALL, returns zero rows
我目前对这份报告的定义是这样的:
数据集 A = 'AND ai.Channel IN (@ChannelParameter)'
的相当广泛的查询
数据集 B = 通道 'Select distinct channel from Account_Info'
结果集 'Retail Channel' 或 'Wholesale'
参数 = @ChannelParameter 设置为允许多个值并且正在从查询中获取值。
Tablix 属性 - 过滤器
表情[频道]
运营商输入
值=参数!ChannelParameter.Value(0)
当我 运行 报告和 select 'Retail Channel' 时,我得到了正确的数据。
当我 运行 报告和 select 'Wholesale' 时,我得到了正确的数据。
当我 运行 报告和 select 两个值时,我返回零行。
当我将数据集 A 的查询修改为 ai.Channel IN ('Retail Channel','Wholesale') 时,我得到了所有行。数据中没有 Channel 字段为 NULL 的行。
我已经看到并尝试使用 JOIN 语句对参数中的表达式进行一些更改,但没有更好的结果。
我错过了什么?
您的过滤器表达式不正确,如您所述(0)
这意味着将仅使用第一个参数值。
话虽如此,您似乎已经在过滤 A
数据集中的数据,因此不需要 tablix 过滤器,只需将其删除即可。
我目前对这份报告的定义是这样的:
数据集 A = 'AND ai.Channel IN (@ChannelParameter)'
的相当广泛的查询数据集 B = 通道 'Select distinct channel from Account_Info'
结果集 'Retail Channel' 或 'Wholesale'
参数 = @ChannelParameter 设置为允许多个值并且正在从查询中获取值。
Tablix 属性 - 过滤器 表情[频道] 运营商输入 值=参数!ChannelParameter.Value(0)
当我 运行 报告和 select 'Retail Channel' 时,我得到了正确的数据。 当我 运行 报告和 select 'Wholesale' 时,我得到了正确的数据。 当我 运行 报告和 select 两个值时,我返回零行。
当我将数据集 A 的查询修改为 ai.Channel IN ('Retail Channel','Wholesale') 时,我得到了所有行。数据中没有 Channel 字段为 NULL 的行。
我已经看到并尝试使用 JOIN 语句对参数中的表达式进行一些更改,但没有更好的结果。
我错过了什么?
您的过滤器表达式不正确,如您所述(0)
这意味着将仅使用第一个参数值。
话虽如此,您似乎已经在过滤 A
数据集中的数据,因此不需要 tablix 过滤器,只需将其删除即可。