【问题标题】:Sum rows based on values in a group根据组中的值对行求和
【发布时间】:2021-04-06 09:39:24
【问题描述】:

我正在尝试将一组的小计与另一组的值相加。查看图像,将两个突出显示的值相加,并将总和放在带圆圈的单元格中。这是我试过的 =iif(Instr("InpatientActivity,Observation",Fields!MetricGroup.Value)>0,sum(Fields!MTD.Value),sum(Fields!MTD.Value))

【问题讨论】:

  • 你试过RunningValue了吗?
  • 我没有尝试过运行值。不知道怎么做。
  • 我可以定义我想加起来的组值吗?我只想要“InpatientActivity”和“Observation”的总数,并在屏幕截图中圈出的单元格中显示该计算。

标签: reporting-services


【解决方案1】:

试试这样的......

=SUM(
    SWITCH(
          Fields!MetricGroup.Value = "InpatientActivity", Fields!MTD.Value,
          Fields!MetricGroup.Value = "Observation" , Fields!MTD.Value,
          True, 0
          )
    )

对于每一行,我们都会评估 MetricGroup 字段。如果它是两个文字之一,则返回 MTD 值。最后一对值中的True 的作用类似于ELSE,因此返回0。

最后,将返回值的结果相加。


编辑


如果要在行组内使用表达式,则上面将只返回该行组内的值。

要包含所有值,您需要指定表达式的范围。在这种情况下,您可能希望对整个数据集求和。

假设您的数据集被称为 DataSet1 然后将表达式更改为 ...

=SUM(
    SWITCH(
          Fields!MetricGroup.Value = "InpatientActivity", Fields!MTD.Value,
          Fields!MetricGroup.Value = "Observation" , Fields!MTD.Value,
          True, 0
          )
    , "DataSet1")

注意数据集名称区分大小写,如上必须用双引号括起来。

【讨论】:

  • 有错误吗?数字不正确吗?
  • 对不起。没有错误。它没有全部。只是保持不变。
  • 编辑以显示您的报告设计,包括行组详细信息,我会在有机会时查看
  • 如果可行,您能否将答案标记为已接受(左侧投票向上/向下按钮下方的复选标记)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-14
  • 2014-05-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多