如何在ssrs中单独报告子组总值

时间:2018-01-30 08:11:55

标签: sql-server reporting-services

我在SSRS 2012中有一个包含两个小组的报告。

一个是父母,另一个是儿童组。两者都是行组,父组是根据月号(1到12)而子组是根据名为" State"的数据集中的列的值。在每个子组结束时,从1到5,总共有一行,在报告结尾处是所有子组的总计。

我需要在报告正文(上表)或报告标题的开头显示每个子组的总和。在ssrs有没有办法做到这一点?

Btw儿童组名为" State"和父组是"月"

我将此表达式放在随机文本框中:

summernote.paste function

但它不起作用!

2 个答案:

答案 0 :(得分:0)

您用于向群组添加总计的位置,它为总计提供了两个选项。

  1. 之前添加总计
  2. 之后添加总计

    您必须选择Add Totals After选项。

    1. 现在,您可以简单地删除报告中的总计行。
    2. 选择“组行”并右键单击并选择Add Totals Before
    3. 选项

答案 1 :(得分:0)

你的表达无效的原因有很多

iif(Fields!State.Value=1, "Sum(Fields!Amount.Value, "State")", "0") 
  1. iif(Fields!State.Value=1)当在组内部时,此语句引用当前行并针对组中的每一行进行评估。如果您将其放在随机文本框中,则已删除行级上下文。你需要使用First |最后|最大|最小值告诉SSRS您要评估状态字段的行
  2. 表达式"Sum(Fields!Amount.Value, "State")"的真实部分不是任何语言的有效表达式。虽然您具有正确数量的双引号,但它们不在正确的位置。当if语句为true时,您要求它评估的值为Sum(Fields!Amount.Value,。但是,从那里到伪表达式的逗号分隔符,您还有State")"。该怎么办呢?
  3. 您不能将表达式嵌入为字符串值并对其进行评估。如果你的表达式是IIF(Fields!State.Value = 1,“John”,“0”),则真值将返回 John 。字符串文字只会被评估为字符串文字。一旦双引号问题得到解决,您的真值将返回文本“Sum(Fields!Amount.Value,”State“),它不会将其评估为表达式并返回总和国家组或数据集中的金额。
  4. 可以从Tablix中提取聚合并在报告的其他位置使用它,但是很少有充分的理由这样做,并且您必须处理一些问题以确保它是准确的。通过设计SSRS使其变得困难,因为它很容易犯错误(由你不是SSRS)并且提供不正确的信息。我强烈建议您从简单的报告开始,并在组页眉/页脚中显示您的组总计。您还可以尝试嵌入对象(列表中的Tablix?),这样您就不必破解报表模型。