【问题标题】:SSRS LOOKUP with row grouping带行分组的 SSRS LOOKUP
【发布时间】:2016-07-13 09:31:58
【问题描述】:

我正在尝试向使用不同数据集的 tablix 添加一列。现在 dataset1 保存新数据,dataset2 保存旧比较数据。

tablix 正在使用 dataset1 并且有问题的行按 D_ID 分组现在我添加了一个需要与 D_ID(dataset1) 绑定到 D_ID(dataset2) 的列

=-1*sum(Lookup(Fields!D_ID.Value, Fields!D_ID.Value, Fields!BUD_OLD.Value, "OLD")+Lookup(Fields!D_ID.Value, Fields!D_ID.Value, Fields!ACK_BUD_OLD.Value, "OLD"))

但是,这确实考虑到我需要将 BUD_OLD 中具有 D_ID = smth 的所有行加在一起。查找只返回一个值,而不是具有 D_ID 的所有值的总和。

例子

D_ID        SUM(BUD_NEW+ACK_BUD_NEW)           SUM(BUD_OLD+ACK_BUD_OLD)         
**100**           **75**  (40+35)                    **15**(SHOULD BE 15+20=35) 

我怎样才能得到总和?

【问题讨论】:

  • 分享两个数据集的样本以重新创建您的场景。
  • @alejandrozuleta - 来吧,Al,我们不需要粘贴数据。
  • @HannoverFist,也许你是对的,但大多数用户不知道他们的数据有什么可能,经常发生你根据模糊的数据描述提供答案,然后 OP 来了再次说它不起作用,因为数据的结构不像你想象的那样。

标签: sql reporting-services ssrs-2008-r2 ssrs-2012 ssrs-tablix


【解决方案1】:

LOOKUP 只获得一个值。

您需要使用 LOOKUPSET 和特殊函数来SUM结果。

幸运的是,这已经完成了。

SSRS Groups, Aggregated Group after detailed ones

来自投标:

LOOKUP:使用 Lookup 从指定数据集中检索具有一对一关系的名称-值对的值。 例如,对于表中的 ID 字段,您可以使用 Lookup 来 从未绑定的数据集中检索相应的名称字段 到数据区域。

LOOKUPSET:使用 LookupSet 从指定的数据集中检索一组值,用于存在一对多的名称-值对 关系。例如,对于表中的客户标识符,您 可以使用 LookupSet 检索所有相关的电话号码 该客户来自未绑定到数据区域的数据集。

【讨论】:

    【解决方案2】:

    您的表达式需要第二个“总和”

    尝试以下方法:

    -1*sum(Lookup(Fields!D_ID.Value, Fields!D_ID.Value, Fields!BUD_OLD.Value, "OLD")+SUM(Lookup(Fields!D_ID.Value, Fields!D_ID.Value, Fields !ACK_BUD_OLD.Value, "OLD")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-25
      • 1970-01-01
      • 2018-10-11
      • 2017-06-11
      • 1970-01-01
      相关资源
      最近更新 更多