对每个Tablix应用不同的可见性

时间:2015-11-05 20:03:32

标签: reporting-services ssrs-tablix

我有一份报告显示已注销的小时数和美元数。此报告的作业分为NRB(不可计费)和非NRB(可计费)。每个作业类型在报告中都有自己的Tablix,我想根据位值填充每个Tablix - IsNRB。

所有“0”IsNRB行应填充顶部Tablix,“1”值应填充底部Tablix。在大多数情况下,这是有效的。然而,正在发生的是,某些程序或客户端将同时具有NRB和非NRB作业,并且看起来当每个Tablix通过报告数据集的行时,它将捕获并保留IsNRB的第一个值。并将其应用于整个报告。

我在很多地方/方式尝试过与以下类似的逻辑:

=IIF(Fields!IsNRB.Value = False, Fields!CustProgram.Value, NOTHING)

报告的分组层次结构如下所示:

ProgramGroup
    ClientGroup
        Job/SubJobGroup
            Detail is here

我尝试在TablixVisibility,GroupVisibility,RowVisibility和字段表达式本身中设置类似于上面的评估表达式。行为似乎是一致的,因为该程序,客户端或作业的第一行为整个报表设置了IsNRB的值。

作为具体示例,第一个程序“Cascadia”有三行,IsNRB = 1 / True,两行IsNRB = 0 / False,后两行数据总是误用,因为值为1 / True覆盖0 / False值行。

正确的方法是什么,允许第一个Tablix接受并显示IsNRB = 0的数据行,第二个Tablix显示值为1的那些?我是否需要放弃IsNRB位数据类型,并且每个Tablix都有一个不同的数据集?这似乎是接近报告的一种笨重方式。

1 个答案:

答案 0 :(得分:2)

过滤IsNRB字段上的每个表。右键单击Tablix并选择Tablix Properties。选择过滤器,然后选择要过滤的字段(IsNRB)和您想要的值(1)。

enter image description here

这将把所有记录的字段1放在一个表中,而将0放在另一个表中