SSRS - 按多个值分组

时间:2015-05-15 22:58:34

标签: sql sql-server sql-server-2008 reporting-services

我正在尝试按字段的特定值进行分组。我有项目信息数据填充,我想分组选举区域。

但是,我想以特定的方式将值组合在一起。例如:

如果值为:

因弗米尔区, 克兰布鲁克市, 克雷斯顿镇

然后将这些项目分组到名为" EAST"

的组中

如果值为:

Valemount村, 新丹佛村, 卡斯洛村

然后将这些项目分组到名为" WEST"

的组中

" BASIN"中的所有其他群组。

所以,到目前为止,我已经创建了一个组,在组属性中,我在" Group on" 字段中添加了一个表达式:

**=iif(Fields!cbt_electoralareaidname.Value = "District of Invermere" OR "City of Cranbrook" , "EAST" ,(iif(Fields!cbt_electoralareaidname.Value = "RDCK Area F" OR "Town of Creston", "WEST", "BASINWIDE")))**

但没有任何工作......我知道我正在思考这个,请帮助!

更新

以下是样本数据:

  • 项目名称
  • 项目描述
  • 位置
  • 选举区

检索它并且布局当前是这样的:

Project Details

我还有字段选举区,这是我想要对数据进行排序/分组但不使用SQL查询的字段,因为我不想聚合,我希望详细信息并创建行组。对于下面的示例,我只想让它看起来如下所示:

Sorted By

1 个答案:

答案 0 :(得分:4)

您可以尝试这样的事情:

Select ...
From ..
GROUP by 
case 
when city in ("city1","city2",...) then "west" 
When city in (...) Then "east"
Else "other"
End 

如果您想生成额外的字段,以便稍后分组:

Select ..., 
case 
when city in ("city1","city2",...) then "west" 
When city in (...) Then "east"
Else "Basin"
End AS region
From ..

如果您要定义许多城市并且案例...结束失控,您可以创建一个表格,将每个城市映射到某个地区并进行联接: