我在SSRS 2008中有一个Tablix,我有一个有时有数据的列,有时却没有。如果没有行数据,我想隐藏列。
所以这会隐藏第2列:
Column 1 Column 2 Column 3 Column 4
1 3 4
2 3 4
这不会隐藏第2列:
Column 1 Column 2 Column 3 Column 4
1 3 4
2 2 3 4
在SSRS 2008中有没有办法做到这一点?
谢谢!
答案 0 :(得分:8)
很老的帖子,但是当我使用SSAS多维数据集时,我想出了一个更好的解决方案。由于所有聚合都已在SSAS中发生,因此您只需检查层次结构的父级别是否具有值。
这是相应的:
=IsNothing(Fields!Field.Value)
SSRS无需汇总或必要声明。因为函数的计算结果为true
或false
,并且因为表达式正在评估是否隐藏列(即 True 隐藏它)这就是公式中你所需要的一切。
答案 1 :(得分:5)
如果您的字段包含值而不是数字,则以下内容应该可以隐藏列中每行只有NULL值的列。
将此代码作为表达式添加到要评估的每列的“列可见性”对象中
=IIF(Count(Fields!<NAMEofCOLUMN>.Value) = Cint(0), True, False)
答案 2 :(得分:1)
我怀疑你必须要有创造力。例如,运行查询以获取列的非空行数。然后将计数结果用作列的visibility属性上的表达式的一部分。即如果数大于零......显示。
这可能会有所帮助
Reporting Services - hide table column based upon report parameter
答案 3 :(得分:1)
选择Tablix中的所有列,并将可见性 - 隐藏属性设置为:
=IIF(Fields!ColumnSample.Value = Nothing, True, False)
答案 4 :(得分:1)
在设计中,
转到该列,右键单击并选择“列可见性”
根据表达式选择show
或hide
,并将表达式设为:
=iif(Fields!column_name.Value=Nothing,True,False)
答案 5 :(得分:0)
您可以根据表达式探索Tablix的列可见性属性: 如果没什么,那么就将条件评估为Nothing。
点击链接:
SSRS 2008 Column Visibility Expression Evaluates to true, column not visible