2013-04-26 48 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