我在矩阵中有一组图表。每个图表都根据特定的过滤器集显示数据。在当前场景中,如果图表中没有数据,则显示为空白。我已经验证了“NoDataMessage”,但没有运气。
为了解决这个问题,我添加了带有文本“无可用数据”的文本框,并根据特定图表中的数据控制其显示。
每个图表都有三个过滤器。任何人都可以帮我制定文本框隐藏属性的表达式吗?三个过滤器中的每一个都会检查特定数据。
我在矩阵中有一组图表。每个图表都根据特定的过滤器集显示数据。在当前场景中,如果图表中没有数据,则显示为空白。我已经验证了“NoDataMessage”,但没有运气。
为了解决这个问题,我添加了带有文本“无可用数据”的文本框,并根据特定图表中的数据控制其显示。
每个图表都有三个过滤器。任何人都可以帮我制定文本框隐藏属性的表达式吗?三个过滤器中的每一个都会检查特定数据。
我发布此解决方案,以便将来可能对某人有所帮助。
下面的示例公式可用于在检查数据时考虑所需的行。隐藏属性:
=IIF(
IsNothing( SUM( IIF(Fields!TypeOfSection.Value = "Win",Fields!USD_EXT_PRICE1.Value,Nothing )))
AND IsNothing( SUM( IIF(Fields!TypeOfSection.Value = "Win",Fields!USD_EXT_PRICE2.Value,Nothing ) ))
AND IsNothing( SUM( IIF(Fields!TypeOfSection.Value = "Win",Fields!USD_EXT_PRICE3.Value,Nothing )))
,**false,true**
)
在这里,我正在检查列的值TypeOfSection
,以便只考虑所需的行值SUM
。
因此,通过交换假值和真值,上述公式可用于图表和文本框。
只是为了帮助其他有类似问题的人......
如果您使用子报表来显示图表,那么您看不到任何消息的原因是,如果子报表的每个数据集都没有返回任何内容,SSRS 会隐藏子报表。
为了显示子报表并查看“无可用数据”消息,您必须添加一个虚拟数据集(到子报表),返回至少一个元素(即 SELECT 1 AS DUMMY)。
如果您使用子报表在表格或矩阵中显示图表并希望显示“无数据”消息,请转到父报表,单击子报表,然后打开子报表的属性窗口并将 NoRowsMessage 设置为所需的消息。您还可以将一些样式应用于消息,例如颜色和字体。
有关非常好的教程,请查看此博客文章: Dattatrey Sindol 的 SQL Server Reporting Services 提示和技巧