2013-04-26 78 views
-2

我有一个报告,其中有3个参数:RaceDateRaceCourse,SilksColoursSilksColours参数是可选的。在SSRS中选择参数后突出显示一行

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

这可能吗?

+0

这似乎是一个基本的SSRS任务,但也许你的问题是缺乏信息?你能[告诉我们你已经尝试了什么](http://whathaveyoutried.com)并具体说明你遇到的问题? – Jeroen 2013-04-26 12:10:53

+0

你说的参数是可选的,你的意思是它接受NULL值? – 2013-04-26 12:30:21

+0

早安,我认为你是对的Jereon我已经解释了我自己的权利。我有3个参数: 比赛日期 - 必须选择 赛马场 - 必须选择 Silkcolours - 如果不想选择,不需要选择,如果没有选择(或留空),所有的行都会我们被留白,然而如果一个人从参数下拉选择中选择一种颜色,那么报告中该颜色出现的位置将显示该行将突出显示为黄色,而其他所有行将显示为白色。 我希望这能够澄清我的问题。谢谢 – wafw1971 2013-04-29 07:49:15

回答

1

对于要突出显示,你需要需要设置背景色属性为基础的表达和行中的参数值与值的行中的每个文本框,像:

=IIf(Fields!Colour.Value = Parameters!SilksColours.Value, "Yellow", "White") 

在评论后编辑:

好的,正如你所指出的那样,这里有两个问题。

参数使用默认

你有要求有指定特别是没有价值的能力的多值参数。您无法设置多值来接受NULL值,因此您需要将一个catch全部值添加到DataSet。因此,立足于价值的参数类似以下内容:

enter image description here

设置一个参数为使用此数据集和默认值设置为

enter image description here

enter image description here

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

这里有一个小小的烦恼 - 用户可以选择以及其他值,它们并不相互排斥,但它应该足够好。

高亮行

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

=IIf(InStr(Join(Parameters!Colour.Value, ","), Fields!Colour.Value) > 0 
    , "Yellow" 
    , "White") 

因此,我们需要做的是使用JOIN函数来创建所选值的字符串列表,然后检查行值是否在该列表中的任何位置。把它放在一起,以得到如下结果:

该报告将加载直线距离作为参数有一个默认值,没有行强调:

enter image description here

选择一种颜色,该行被突出显示:

enter image description here

选择多种颜色,以突出显示多个行:

enter image description here

希望所有这一切都是你的追求!

+0

嗨伊恩 = IIf(Fields!SilksName.Value = Parameters!Colours.Value(0),“Yellow”,“White”) 这工作分拣,但我需要选择0(默认)或选择很多,但是当我这样做时只显示一个突出显示的字段。 第一个问题 - 如何将参数设置为deafault none 第二个问题 - 如何选择参数以显示多个突出显示的单元格? – wafw1971 2013-04-29 08:49:11

+0

对不起,我不确定我完全理解......这是一个多值参数吗?在这种情况下,你必须更新表达式。对于要突出显示的每个单元格,请将Background Color属性设置为表达式。你能否给你的问题添加一个简单的例子来帮助证明你的要求? – 2013-04-29 12:52:11

+0

嗨伊恩 这是我的参数 Racedate - 这必须选择 赛马场 - 这一定是选择 Silkcolours - 这并不需要进行选择,如果人不希望,如果不选择(或左空白)所有行将保持白色,但是如果某人从参数下拉选项中选择了一种颜色,那么该报告中该颜色出现的位置将显示该行将突出显示为黄色,而其他所有行将显示为白色。 我希望这能够澄清我的问题。谢谢 – wafw1971 2013-04-29 12:57:14