SSRS - 无法获取报告行以突出显示与多值参数中所选值匹配的行
SSRS - Cannot get report rows to highlight that match the values selected in multi-value parameter
我有一个 SSRS 报告,它将显示特定情况下的所有条目,其中来自不同参数的多个参数值可用。
示例:
结果显示在报告中具有 ...
的案例
在开始日期参数和结束日期参数之间创建日期
包括至少一个从区域组中选择的区域组条目
参数
注意:如果一个案例在数据库 table 中有多个行条目,其中包括区域组 A、B、C 和 D .... 并且 .... 只选择了区域组 A 和 B在“区域组”参数中,所有“区域组”行条目都将显示在该案例的报告中,而不管选择的“区域组”参数选择如何。这是需要的报告 return ... 至 return 具有区域组 A 和 B 条目的案例。
现在……问题来了!我们需要在报告中突出显示与区域组参数选择相匹配的区域组行条目。
示例:如果在区域组参数中选择了区域组 A 和 B,则突出显示报告中包含区域组 A 或 B 条目的任何行,并保留报告中区域组 C 或 D 的任何行transparent/No 颜色(有关所需的报告输出,请参阅下面的 link)。
期望的报告输出
我已经尝试了以下用于行填充和文本框填充的表达式,并且每个表达式要么突出显示仅包含区域组 A 的任何行......要么......它们不突出显示任何条目。
=IIf(InStr(Join(Parameters!AREAGROUP.Value, ","), Fields!AreaGroup.Value) > 0, "Yellow", "No Color")
=IIf(Fields!AreaGroup.Value = Parameters!AREAGROUP.Value, "Yellow", "No Color")
=IIf(InStr(Join(Parameters!AREAGROUP.Value, ","), ReportItems!AreaGroup.Value) > 0, "Yellow", "No Color")
我 运行 没主意了。对此的任何指导将不胜感激。提前致谢!
好的.....我解决了我自己的问题
最初,我将此表达式用于行填充表达式。
=IIF(InStr(Join(Parameters!AREAGROUP.Value, ","), Fields!AreaGroup.Value) > 0, "Yellow", "No Color")
考虑到这个问题,我在表达式中添加了一个数字 true/false(即 1、0)测试。结果表达式如下。将其放置到位后,正确的行开始在报告中突出显示为黄色。
=IIF(IIF(InStr(Join(Parameters!AREAGROUP.Value, ","), Fields!AreaGroup.Value) > 0,1,0) = 1, "Yellow", "No Color")
希望这对以后的人有所帮助。感谢大家的回复!
另一个更简洁的方法是这样做...
=IIF(JOIN(Parameters!AREAGROUP.Value).Contains(Fields!AreaGroup.Value), "Yellow", Nothing)
我有一个 SSRS 报告,它将显示特定情况下的所有条目,其中来自不同参数的多个参数值可用。
示例: 结果显示在报告中具有 ...
的案例在开始日期参数和结束日期参数之间创建日期
包括至少一个从区域组中选择的区域组条目 参数
注意:如果一个案例在数据库 table 中有多个行条目,其中包括区域组 A、B、C 和 D .... 并且 .... 只选择了区域组 A 和 B在“区域组”参数中,所有“区域组”行条目都将显示在该案例的报告中,而不管选择的“区域组”参数选择如何。这是需要的报告 return ... 至 return 具有区域组 A 和 B 条目的案例。
现在……问题来了!我们需要在报告中突出显示与区域组参数选择相匹配的区域组行条目。
示例:如果在区域组参数中选择了区域组 A 和 B,则突出显示报告中包含区域组 A 或 B 条目的任何行,并保留报告中区域组 C 或 D 的任何行transparent/No 颜色(有关所需的报告输出,请参阅下面的 link)。
期望的报告输出
我已经尝试了以下用于行填充和文本框填充的表达式,并且每个表达式要么突出显示仅包含区域组 A 的任何行......要么......它们不突出显示任何条目。
=IIf(InStr(Join(Parameters!AREAGROUP.Value, ","), Fields!AreaGroup.Value) > 0, "Yellow", "No Color")
=IIf(Fields!AreaGroup.Value = Parameters!AREAGROUP.Value, "Yellow", "No Color")
=IIf(InStr(Join(Parameters!AREAGROUP.Value, ","), ReportItems!AreaGroup.Value) > 0, "Yellow", "No Color")
我 运行 没主意了。对此的任何指导将不胜感激。提前致谢!
好的.....我解决了我自己的问题
最初,我将此表达式用于行填充表达式。
=IIF(InStr(Join(Parameters!AREAGROUP.Value, ","), Fields!AreaGroup.Value) > 0, "Yellow", "No Color")
考虑到这个问题,我在表达式中添加了一个数字 true/false(即 1、0)测试。结果表达式如下。将其放置到位后,正确的行开始在报告中突出显示为黄色。
=IIF(IIF(InStr(Join(Parameters!AREAGROUP.Value, ","), Fields!AreaGroup.Value) > 0,1,0) = 1, "Yellow", "No Color")
希望这对以后的人有所帮助。感谢大家的回复!
另一个更简洁的方法是这样做...
=IIF(JOIN(Parameters!AREAGROUP.Value).Contains(Fields!AreaGroup.Value), "Yellow", Nothing)