【发布时间】:2015-11-06 04:50:25
【问题描述】:
我有一份报告显示已注销的工时和美元。此报告的工作分为 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 提供不同的数据集?这似乎是处理报告的一种笨拙方式。
【问题讨论】:
标签: reporting-services ssrs-tablix