列表中的多个组表达式(ssrs 2005)

时间:2010-06-09 14:52:11

标签: list expression reportingservices-2005 reporting-services

我在列表中遇到组表达式问题。我想使用两个表达式:

=Ceiling(RowNumber(Nothing)/3)' and '=Cint(Fields!kpilevel.Value)

它们单独工作,但是当我将它们一起插入时,只有1个工作。我像这样插入:img718.imageshack.us/img718/736/problemxq.png

有谁知道如何解决这个问题?

先谢谢你,克里斯


编辑:更好的解释

马克你是对的,我没有很好地解释。

我想将数据放在一个矩阵中,每行最多三列,我想用表达式对数据进行排序:= Cint(Fields!kpilevel.Value)。因此我想使用两个表达式:Ceiling(RowNumber(Nothing)/ 3)和Cint(Fields!kpilevel.Value)。

但我无法获得正确的输出。我试图以多种方式放置我的分组和排序表达式。结果不同:

最后一种情况:http://img257.imageshack.us/img257/5765/10569159.png(已删除图片)

不同的输出:


列表 - 属性

排序:=Cint(Fields!kpilevel.Value) ascending

列表 - 分组和排序属性

小组:

=Ceiling(RowNumber(Nothing)/3)

=Cint(Fields!kpilevel.Value)

排序:

=Cint(Fields!kpilevel.Value) ascending

Matrix columngroup - 分组和排序属性

小组:

=RowNumber("list1_Details_Group")

输出:(未组合但已排序)

1

2

3

4


列表 - 属性

-

列表 - 分组和排序属性

小组:

=Ceiling(RowNumber(Nothing)/3)

=Cint(Fields!kpilevel.Value)

排序:

=Cint(Fields!kpilevel.Value) ascending

Matrix columngroup - 分组和排序属性

小组:

=RowNumber("list1_Details_Group")

输出:(未分组和未分类)

1

2

9

10


列表 - 属性

排序:

=Cint(Fields!kpilevel.Value) ascending

列表 - 分组和排序属性

小组:

=Ceiling(RowNumber(Nothing)/3)

Matrix columngroup - 分组和排序属性

小组:

=RowNumber("list1_Details_Group")

输出:(已分组但未排序)

1 2 9

4 7 3

10等


列表 - 属性

-

列表 - 分组和排序属性

小组:

=Ceiling(RowNumber(Nothing)/3)

Matrix columngroup - 分组和排序属性

小组:

=RowNumber("list1_Details_Group")

排序:

=Cint(Fields!kpilevel.Value)

输出:(分组但严格排序)

1 2 9

10 11 13

3 4 7

12


我希望这更清楚,克里斯

1 个答案:

答案 0 :(得分:1)

在此之后,我注意到在SSRS中通过矩阵中的数据项功能进行分组时,有些奇怪的效果,而不是数据项本身。

出于这个原因,在这方面我建议:

  • 使用表而不是矩阵
  • 按Cint排序表(或数据集)(Fields!kpilevel.Value)
  • 通过Ceiling(RowNumber(Nothing)/ 3)
  • 对表进行分组
  • 仅包括组页脚行(没有表格页眉/页脚,详细信息或组标题)
  • 报告中有3列
  • 在每个单元格中有条件输出,取决于RowNumber(Nothing)mod 3是否等于0,1或2

或者,如果 要在矩阵中完成,那么(假设您使用的是SQL数据源)我建议

  • 按int(kpilevel)
  • 对查询进行分组
  • 按int(kpilevel)
  • 排序查询输出
  • 包括查询中的display_row和display_column值,分别定义为rownumber / 3的上限和rownumber的模数为3
  • 分别将矩阵的行组和列组定义为查询中的display_row和display_column值。