Reporting services 在SSRS中选择参数后高亮显示行

Reporting services 在SSRS中选择参数后高亮显示行,reporting-services,Reporting Services,我有一个报告有3个参数:RaceDate,racecorse,SilksColours。SilksColours参数是可选的 如果选择了SilksColours参数,我想用黄色突出显示报告中的行,而所有其他行保持白色 这可能吗?对于要高亮显示的行中的每个文本框,需要将“背景色”属性设置为基于表达式,并将参数值与行中的值进行比较,例如: =IIf(Fields!Colour.Value = Parameters!SilksColours.Value, "Yellow", "White") =II

我有一个报告有3个参数:
RaceDate
racecorse
SilksColours
SilksColours
参数是可选的

如果选择了
SilksColours
参数,我想用黄色突出显示报告中的行,而所有其他行保持白色


这可能吗?

对于要高亮显示的行中的每个文本框,需要将“背景色”属性设置为基于表达式,并将参数值与行中的值进行比较,例如:

=IIf(Fields!Colour.Value = Parameters!SilksColours.Value, "Yellow", "White")
=IIf(InStr(Join(Parameters!Colour.Value, ","), Fields!Colour.Value) > 0
    , "Yellow"
    , "White")
评论后编辑:

好的,正如你所注意到的,这里有两个问题

带有默认值的参数

您需要有一个多值参数,该参数能够不指定任何特定值。您不能将多值设置为接受
NULL
值,因此需要向数据集添加一个全包值。因此,参数基于与以下类似的值:

设置参数以使用此数据集,并将默认值设置为“无”:

现在我们有了一个默认参数,它不会突出显示任何行,所以用户可以忽略它们,或者根据需要选择值

这里有一个小麻烦-用户可以选择None和其他值,它们不是相互排斥的,但应该足够好了

突出显示行

下一步是为所有必需的文本框设置背景色。由于可以选择多种颜色,我们需要将多值参数与单个参数区别对待,例如:

=IIf(Fields!Colour.Value = Parameters!SilksColours.Value, "Yellow", "White")
=IIf(InStr(Join(Parameters!Colour.Value, ","), Fields!Colour.Value) > 0
    , "Yellow"
    , "White")
因此,我们需要做的是使用
JOIN
函数创建一个选定值的字符串列表,然后检查行值是否在该列表中的任何位置。将其全部放在一起,以获得以下内容:

报告将立即加载,因为参数具有默认值,没有突出显示任何行:

选择一种颜色,该行将高亮显示:

选择多种颜色以高亮显示多行:


希望这一切都是你想要的

这似乎是一个基本的SSRS任务,但也许你的问题是缺乏信息?你能详细说明你遇到的问题吗?你说的参数是可选的,你的意思是它接受
NULL
值吗?早上好,我想你是对的Jereon,我解释得对。我有3个参数:Racedate-必须选择Racecourse-必须选择SilkColor-如果用户不想选择,则无需选择此参数,如果未选择(或留空),则所有行将保留为白色,但是,如果一个人从参数下拉选择中选择了一种颜色,则该颜色出现在报告上的位置,该行将高亮显示为黄色,所有其他行将为白色。我希望这澄清了我的问题。ThanksHi Ian=IIf(Fields!SilksName.Value=Parameters!colors.Value(0),“黄”、“白”)这是一个有效的排序,但我需要选择0(默认值)或选择多个,但当我这样做时,只会显示一个高亮显示的字段。第一个问题-如何获取参数以显示选中的多个突出显示的单元格?抱歉,我不确定我是否完全理解。。。这是一个多值参数吗?在这种情况下,您必须更新表达式。对于要高亮显示的每个单元格,可以将“背景色”属性设置为表达式。你能为你的问题添加一个简化的例子来帮助证明你的要求吗?嗨,伊恩,这是我的参数Racedate-这必须是选定的赛马场-这必须是选定的丝质颜色-如果该人不愿意,这不需要选择,如果没有选定(或留空),所有行将保留为白色,但是,如果一个人从参数下拉选择中选择了一种颜色,则该颜色出现在报告上的位置,该行将高亮显示为黄色,所有其他行将为白色。我希望这澄清了我的问题。谢谢对不起,这不会改变上面的答案。我仍然不知道这是一个单值参数还是多值参数,是否允许空值,或者您面临的具体问题。你能用显示问题的截图更新你的答案吗?只要几行就足够了。请准确描述参数是如何工作的,您使用的是什么表达式,您当前看到的是什么,以及您希望看到的是什么。不要担心任何不影响当前问题的问题,例如其他参数。嗨,Ian,我不知道如何将截图粘贴到此网站,但我会尝试回答您的问题:这是一个多值参数,此人可以选择不选择颜色、黑色、蓝色或红色或任何颜色的组合。这是参数SELECT SilksImages.id、SilksImages.Silks_Skey AS[SilksImages Silks_Skey]、SilksImages.filestream_data、Silks.Silks_Skey AS[Silks Silks Silks Silks_Skey]的数据集,Silks.SilksName来自Silks内部连接SilksImages ON Silks.Silks_Skey=SilksImages.Silks_Skey