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

Applying different Visibility to each Tablix

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

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

我在许多places/ways中尝试过类似于以下的逻辑:

=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 使用不同的数据集?这似乎是处理报告的笨拙方式。

在 IsNRB 字段上过滤每个 table。右键单击 tablix 和 select Tablix 属性。 Select 过滤器,然后 select 您要过滤的字段 (IsNRB) 以及您希望它成为的值 (1)。

这会将字段为 1 的所有记录放在一个 table 中,将 0 放在另一个中