SSRS。如何使用表达式合并单元格?

时间:2015-03-10 08:45:15

标签: sql-server reporting-services ssrs-2008 ssrs-2012

我有3列,这里有两种可能的方式:

1. In all of them are values 
2. Only col1 keeps value (col2 and col3 NULL)

现在看起来像:

| col1 | col2 | col3 |
----------------------
| val1 |      |      |
| val2 | val3 | val4 |
| val5 | val6 | val7 |
| val8 |      |      |

应该是这样的:

| col1 | col2 | col3 |
----------------------
|        val1        | -- merged cells, because col2 and col3 empty
| val2 | val3 | val4 |
| val5 | val6 | val7 |
|        val8        | -- merged cells, because col2 and col3 empty

我不知道如果我需要创建组(我已经尝试了行/列分组,但实际上没有成功,远远超出我的需要)。

我认为我需要写一些类似的表达式:

IFF(col2 & col3 = NULL) MERGE(col1, col2, col3)

只是我无法通过表达式的结构获得成功。

3 个答案:

答案 0 :(得分:1)

我不认为在SSRS中可以使用表达式动态合并单元格。我能想到的唯一方法就是有一个第四个文本框(可能在顶部的3下面),它以连接的方式包含Col1,Col2和Col3。然后,您可以设置这两组文本框的可见性条件。即如果Col2和Col3为NULL,则隐藏前3个文本框并使第四个文本框可见。另一方面,如果Col2或Col3不为NULL,则显示前3并隐藏第4个。

答案 1 :(得分:1)

我认为您可以通过对行中的每个单元格使用表达式来执行此操作:

第1栏:

=iif(isNothing(col2) AND isNothing(col3), "", col1)

第2栏:

=iif(isNothing(col2) AND isNothing(col3), col1, col2)

第3栏:

=iif(isNothing(col2) AND isNothing(col3), "", col3)

这种类型绕过了合并的需要,这应该更快,更容易实现。

答案 2 :(得分:0)

你能尝试IsNothing而不是= NULL吗?

EX:= IIF(IsNothing(Fields!MyField.Value),Fields!MyFields.Value,Fields!MyFields.Value)

如果需要再次使用IIF条件......