我在矩阵中有一组图表。每个图表都根据特定的过滤器集显示数据。在当前方案中,如果图表中没有数据,则显示为空白。我已经验证了“NoDataMessage”,但没有运气。
为了解决这个问题,我在文本框中添加了“No Data available”文本,并根据特定图表中的数据控制其显示。
每张图表都有三个过滤器。任何人都可以帮我制定文本框隐藏属性的表达式吗?三个过滤器中的每一个都会检查特定数据。
答案 0 :(得分:1)
我发布此解决方案,以便将来可以帮助某人。
下面的示例公式可用于在检查数据时考虑所需的行。 隐藏财产:
=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
所需的行值。
因此,通过交换false,true值,上面的公式可以用于Chart和Text框。
答案 1 :(得分:0)
只是为了帮助其他有类似问题的人......
如果您使用子报表来显示图表,那么您看不到任何消息的原因是,如果子报表的每个数据集都没有返回任何内容,则SSRS会隐藏子报表。
为了显示子报告并看到“无数据可用”消息,您必须添加一个虚拟数据集(到子报告),返回至少一个元素(即SELECT 1 AS DUMMY)。
答案 2 :(得分:0)
如果您使用子报表在表格或矩阵中显示图表并希望显示“无数据”消息,请转到父报表,单击子报表,然后打开子报表的属性窗口并将NoRowsMessage设置为您的想要的消息。您还可以将某些样式应用于消息,如颜色和字体。
对于一篇非常好的教程,请看这篇博文: SQL Server Reporting Services Tips and Tricks by Dattatrey Sindol