【问题标题】:How to filter on a group field in a tablix?如何过滤 tablix 中的组字段?
【发布时间】:2013-07-19 19:26:49
【问题描述】:

我在 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 条记录!这对我想要做的事情有意义吗?

【问题讨论】:

    标签: reporting-services ssrs-tablix ssrs-grouping


    【解决方案1】:

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

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

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

    【讨论】:

    • 我发现了问题所在。这只是在一个额外的领域进行分组的问题。这就是我们所需要的!
    猜你喜欢
    • 2019-08-02
    • 2019-08-17
    • 2017-08-07
    • 2018-12-19
    • 2020-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多