【问题标题】:SSRS Grouping Summary - with Max not workingSSRS 分组摘要 - Max 不工作
【发布时间】:2019-01-22 15:50:32
【问题描述】:

这是从数据库返回的数据

一个季节的数据样本(报告返回两个值):

您可以看到分组,按季节、剧院然后表演编号,最后我们有收入和门票列。

SSRS 报告包含三个级别的分组。 Pkg(对以下内容进行分组的另一个 ID)、场地——场地列和 perf_desc——链接到 perf_no 的描述列。

看起来像这样——

我需要做的是获取每个 Performance 的收入列(一个唯一值)并将其返回到单独的列中 - 所以我使用这个公式。

 sum(Max(Fields!perf_tix.Value, "perf_desc"))

这很好用,为我提供了每个性能的总独特价值——并按 pkg 级别总结它们。

问题是我需要按季节提取数据。 我创建了一个单独的列,如下所示

它是黄色的,因为它是不可见的并且在其他地方被引用。但表达式是如果季节值 = 参数(传递的季节值) - 然后基本上拉出每个 tix 值的总和并将它们相加。这在下一行也很有效 - pkg 存在分组的行 - 在我的情况下为浅蓝色。

=iif(Fields!season.Value = Parameters!season.Value, Sum(Max(Fields!perf_tix.Value, "perf_desc")), 0)

但是,上面的行 - 父/标题行给了我两个季节值的总和。基本上全部加起来。这不是我想要的,也是为什么要这样做。季节值不等于第二个季节值的传递参数,所以为什么要将其添加到分组值中。

我该如何解决这个问题?

【问题讨论】:

  • 您可以发布报告 XML 吗?否则,很难知道您是如何对报告进行分组的。如果您右键单击 .rdl 文件,您可以将其作为文本打开以复制 XML。
  • 这是一个巨大的,但请持有一个,我会看看我是否可以拉出适当的部分。 (此模块/部分是报告中的 7 个模块/部分之一)。
  • @aduguid 你能准确地告诉我你在寻找什么 xml 文件超过 1000 页。我应该拉哪个部分?

标签: tsql reporting-services group-by aggregate ssrs-2008-r2


【解决方案1】:

由于您的聚合函数位于 IIF 函数中,因此仅评估数据集中的第一条记录。如果第一个与参数匹配,则将包括所有记录。

这可能有效:

=IIF(Fields!season.Value = Parameters!season.Value, Sum(Max(Fields!perf_tix.Value, "perf_desc")), 0)

如果您的报告也在场地上分组可能会更好,否则您的计数可能包括所有值。

【讨论】:

  • 谢谢,我明天试试。第一个通常不匹配参数 - 我不完全确定为什么这意味着所有记录都包括在内。赛季不匹配的记录不应该被排除在外吗? (并且我们希望包括所有场地,假设赛季符合条件。(分组是赛季/场地/表演。我们希望将给定赛季所有场地的所有不同 perf_tix 值相加)。
猜你喜欢
  • 2021-09-29
  • 1970-01-01
  • 1970-01-01
  • 2017-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多