【问题标题】:SSRS Lookup Based on Multiple Conditions基于多个条件的 SSRS 查找
【发布时间】:2016-02-29 12:22:05
【问题描述】:

我有一个数据集(卷)如下所示:

在我的报告中,我想要得到的是:

查找表达式:=Lookup (Fields!Id.Value, Fields!Id.Value, Fields!Volume.Value,"Volume") 只能查找 ID。有什么办法可以先查找 ID,然后查找 Sub_Group 以获得正确的卷?谢谢。

【问题讨论】:

  • Volume 是您唯一的数据集,还是使用 Lookup 将其与另一个数据集匹配?
  • Volume 不是唯一的数据集。我正在使用它来获取报告中的音量。该报告基于不同的数据集:)
  • 您必须发布这两个数据集以确定查找表达式应该如何。您想将两个数据集加入一个矩阵吗?
  • 谢谢:)主数据集有 ID,这是唯一可以链接到 Volume DS 的密钥。我试图避免加入这两个数据集,但我认为最好的方法是使用 LookUp...

标签: reporting-services ssrs-2012


【解决方案1】:

如果您在第一个和第二个Lookup 参数中连接所有必要的字段,您可以使用多个字段Lookup

=Lookup(Fields!ID.Value & Fields!SUB_GROUP.Value, Fields!ID.Value & Fields!SUB_GROUP.Value, Fields!VOLUME.Value, "Volume")

或者,您可以连接数据集中所有必要的字段并将其用于您的Lookup

【讨论】:

  • 谢谢,逻辑我明白了。但是 Fields!SUB_GROUP.Value 不在我用于报告的主数据集中。还有其他方法吗?
  • 所以我认为列 A、B 和 C 是 tablix 中的静态列,而不是矩阵列组?如果是这样,您可以将子组硬编码到每列的表达式中。 =Lookup(Fields!ID.Value & "A", Fields!ID.Value & Fields!SUB_GROUP.Value, Fields!VOLUME.Value, "Volume")
  • 是的,这就是我需要的。 A、B 和 C 不是静态列,但我可以按照您建议的逻辑找出一种方法。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2011-11-23
  • 2014-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多