没有数据显示时如何保持Tablix的结构

Sky*_*Sky 9 ssrs sql-server-2008-r2

我们有一个 SSRS 报告,它在 tablix 中显示数据集的结果。如果数据集中的查询未返回任何数据,则会显示 Tablix 的标题,但不会显示标题下方的 Tablix 单元格。我知道有一个属性 to NoRowMessage,但实际上它不是我们想要的。因为当我指定一条消息时,SSRS 显示消息而不是空的 tablix。我必须按原样显示 tablix 结构,但带有空单元格。

我什IsNothing至使用函数为 tablix 的每个单元格值设置规则,如果值为空,则显示空白(“”),但没有帮助。

你有什么主意吗?提前感谢您的帮助。

mma*_*rie 8

您可以在 tablix 标题行下方的最外层组之外添加一行。
在此处输入图片说明

根据表达式将行可见性设置为显示或隐藏。表达式如下:

=iif(CountRows("DataSet1") > 0, true, false)
Run Code Online (Sandbox Code Playgroud)

当没有数据时,表格将显示标题和空行。

在此处输入图片说明

当有数据时,空行将被隐藏。

  • 很好的解决方案!仅供参考 - `CountRows("DataSet") > 0` 将自行解析为 `True` 或 `False`,因此您不需要包含在 `iif` 语句中,只需让它解析即可。此外,如果您以任何方式过滤 Tablix,这将计算原始数据集中的行数。要获取[已过滤 tablix 中的行数](/sf/ask/766277431/),请使用 `=COUNT("Fields.[pick any field].Value")` 或 [删除“数据表1](https://clinthuijbers.wordpress.com/2014/12/04/ssrs-hide-a-tablix-is-case-no-rows-are-displayed-row-count-after-applying-a-filter /) 并使用 `CountRows()` (2认同)