具有条件的 Reporting Services 组

Reporting Services group with a condition

我有这个源数据:

首先我想按 "Name" 分组(我已经做了这部分),之后我想创建 "category" 列,如果 "Name" 组有任何行类型 1 = A,则类别为 "X" else category = "Z"

这是我想要的结果:

如何获取报告服务中的类别组列?

我的实际方法是编辑 SQL 查询以提供报告并添加逻辑以在其中添加组。我认为这是不可能的,或者您无权访问 SQL 层,所以这里有一种完全在 SSRS 中完成的方法:

  1. 在您的 Name 组中向右插入另一列
  2. 对于字段表达式,对name字段值做lookupset,检查结果中是否存在A

    =IIF(Array.IndexOf(Lookupset(Fields!Name.Value, Fields!Name.Value, Fields!Type1.Value, "DatasetName"), A) > -1, "X", "Z")

如果您构建表达式零碎,请使用以下表达式首先检查您的查找集是否正常工作:

=JOIN(LookupSet(...), ",")

然后添加 IIF(Array.IndexOf(...,A) > -1, X, Z) 以查看返回的数组是否包含您的 "A" 值。