2011-05-25 173 views
0

我正在嘗試生成矩陣報告。我有一個SSN行和一個3位數的代碼欄。 3位數字代碼隨機插入報告中的單元格中,每行一個。我想讓他們全部顯示在一列中。我試過...sql server 2008報告服務

=Iif(IsNothing(Fields!CODE.Value),"The Field Is Null",Fields!CODE.Value) 

但是,這只是顯示「字段爲空」。我想指出的顯示爲...

=Iif(IsNothing(Fields!CODE.Value),"",Fields!CODE.Value) 

但有空細胞本身排除。任何人都知道一個把這個關掉的伎倆?

的結果是這樣的......

ssn   code 
123456789 123 
123456789 123 
and so on 

我的矩陣結構看起來像這樣... enter image description here

,與EXP現在設置爲= IIF(IsNothing(領域!ID5 .Value),「Field Is Null」,Fields!ID5.Value) 注意:ID5只是一個快速的命名約定。 ID5對應於代碼。 ID2對應於SSN。

+0

您可以在添加報告時添加您的數據,以及關於要顯示的內容的更多信息。你似乎說你想顯示的代碼,但然後說你不? – jimconstable 2011-05-25 23:43:09

+0

So Fields!CODE.Value可以:有一個值;有一個空的字符串值;是NULL?你想NULL和空字符串顯示相同? – thomasswilliams 2011-05-26 04:00:22

+0

我其實希望空單元格消失嘿!我只是使用Iif命令作爲起點。我確實想顯示代碼值,但是他們顯示出來了。每行一個,大約有20個單元格中的一個。 – 2boolORNOT2bool 2011-05-26 14:45:03

回答

1

基本上,你想壓縮幾列到一個列,不包括空列?

也許最簡單的方法是做它在查詢:

SELECT SSN, IsNull(Code1, '') + IsNull(Code2, '') + IsNull(Code3, '') AS Code 
FROM MyTable 

另外,這樣做在Reporting Services中的表達式:

=IIF(IsNothing(Fields!Code1.Value), "", Fields!Code1.Value) + IIF(IsNothing(Fields!Code2.Value), "", Fields!Code2.Value) 

等等...

+0

我可以在構建報告的早期部分使用它,但是我在查詢數據集後試圖找到一個表達式來執行此操作。 – 2boolORNOT2bool 2011-05-26 14:51:14

+0

當然,除非你知道如何將它寫成可接受的表達方式。我沒有,但是我的技術水平很低! – 2boolORNOT2bool 2011-05-26 15:03:01

+0

只需使用IIF(IsNothing(...)如現在的答案中所述 – 2011-05-27 01:14:30