Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 安全部门改革。如何使用表达式合并单元格?_Sql Server_Reporting Services_Ssrs 2008_Ssrs 2012 - Fatal编程技术网

Sql server 安全部门改革。如何使用表达式合并单元格?

Sql server 安全部门改革。如何使用表达式合并单元格?,sql-server,reporting-services,ssrs-2008,ssrs-2012,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 | | | 应该是这样的: |

我有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)

只是我无法成功使用expression的结构。

您能尝试使用IsNothing代替=NULL吗

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


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

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

我认为可以通过对行中的每个单元格使用表达式来实现这一点,如下所示:

| 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
第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)

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

谢谢您的回答,但是如何将其用于合并单元格<代码>=IIF(IsNothing(Fields!Col1.Value),Fields!Col2.Value,Fields!Col3.Value)这到底是做什么的?检查它们是否为空?目前,如果col2和col3为空,则只从第一列中删除值,因此所有3个都为空。它不保留值,也不合并单元格。因此,当col2和col3都为空时,您希望合并所有单元格。否则,您希望按报告中的原样显示它们。我说的对吗?是的,如果col2和col3都为null,那么应该合并col1、col2、col3并只保留col1中的值。这是为了将字符串放入第四个文本框:
=字段!Col1.值+字段!Col2.值+字段!Col3.Value
这是用于为第四个文本框设置“隐藏”条件:
=IIF(IsNothing(Fields!Col2.Value)和IsNothing(Fields!Col3.Value),FALSE,TRUE)
这是用于为其他三个文本框设置“隐藏”条件:
=IIF(IsNothing(Fields!Col2.Value)和IsNothing(Fields!Col3.Value),TRUE,FALSE)
@StanislovasKalašnikovas-如果这对您有帮助,请将此答案向上投票,如果它解决了您的问题,请将其标记为答案。很抱歉延迟回复,但在我使用此选项后,它不会隐藏
col1
col2
col3
。添加了第4列,并且只有当2和3为空时,它才从col1保留值,以另一种方式隐藏col4的单元格(但对1、2、3列不执行任何操作)。这是不可能的。这两种说法正好相反。如果一个隐藏,另一个应该显示,反之亦然。你确定你用的是正确的表达方式吗?哦,我有点误解了这个问题。但我认为这里的一个好方法是在同一个组中创建两行,并将其中一行设置为在col2和col3为null时可见;此行将有3个单元格与col1值的占位符合并。然后创建另一行,该行仅在col2或col3不为null时可见,并使该行包含3个单独的单元格,每个单元格都有自己的col占位符。我已经测试过了,它似乎有效。