0

我在 SSRS 2008 R2 中有一个 tablix,我的意思是仅在字段值 tablix_flag = 2 时显示。我的数据集如下所示:

tablix_flag     ACA_N_ACO_Link2                        Details3
1               CA9CEE16-84FE-418E-933F-33208185A294   C
1               6921FD87-7244-4AB1-934B-471E6B549AA7   A
1               014ED434-4C80-48FF-A93E-95C1051B1638   C
2               6921FD87-7244-4AB1-934B-471E6B549AA7   A
2               6921FD87-7244-4AB1-934B-471E6B549AA7   B

如您所见,第 2 行和第 4 行是相同的,除了 tablix_flag 值。我希望所有 tablix_flag=1 行都在 tablix1 中,另外两个在 tablix2 中。以前我有一个表达式只显示 tablix2 中的 tablix_flag=2 记录,但我现在已经删除了它,以便它显示所有记录,而不考虑标志。

这就是我的输出现在的样子: 在此处输入图像描述

在此处输入图像描述

我只想查看绿色行的第一列中有“2”的列。所以我希望能够只显示这些“2”行,但问题是我的 tablix2 中有 2 个组:

  • ACA_N_ACO_Link2
  • 详情3

从上图中可以看出,“2”行出现在“1”父组下。换句话说,从我的数据集中,有两个相同的父行(2 和 4)。在这种情况下,我只想查看第 4 行和第 5 行。我怎样才能做到这一点?

ACA_N_ACO_Link2 组没有过滤器,也没有可见性限制。(如果有什么不同,Details3 组确实有一个过滤器)。但是 tablix2 在 SSRS 中具有可见性表达式:

=iif(tablix_flag=2,false,true)

但这导致了 0 条记录!这对我想要做的事情有意义吗?

4

1 回答 1

2

与其担心可见性,为什么不像为 Details3 组那样在分组上设置“过滤器”?按其定义的过滤器应该在评估数据集之后设置在那里设置的东西,例如“where”子句谓词。要么使用您的数据集,然后完全消除您不想要的值,然后硬编码您的数据集,使其具有谓词“where tablix_flag = 2”

如果您的过滤器设置在“Details3”组上,该组可能会发生更多事情,该组希望区分您可能对“A、B、”等进行分组的不同值......关键是让每个分组都是一组不同的孩子值和第二列似乎重复值 4 和 5 和列 3 两者都有不同的值,但你提到让它们在一起。

我会确保该集合易于启动,并且在父组上有一个过滤器来开始您想要确定的内容。设置它的过滤器,然后如果您获得预期的结果,则将父组添加到额外谓词的组中。

于 2013-07-19T22:07:03.637 回答