【问题标题】:SSRS Row ConsolidationSSRS 行合并
【发布时间】:2013-10-03 21:44:01
【问题描述】:

我正在为 Server 2008 R2 运行 SSRS 并在 Report Builder 3.0 中创建报告

我有一份名为缺失周数的报告,它显示了一年中我们公司的财务报表缺失的周数。现在,报告在报告的单独行中显示所有缺失的周数,如下所示:

Group  Cmp_code  town      Owner    Year  Week
001    004       townname  mr ozzy  2012  50
                                          52
                                    2013  25
                                          26
       005       townname  mr bark  2013  32
                                          33
002    235       townname  mr woof  2013  17
ETC..

是否可以让该组和 cmp_code 的所有周显示在同一行中?

Group  Cmp_code  town      Owner    Year  Week
001    004       townname  mr ozzy  2012  50, 52
                                    2013  25, 26, etc...
       005       townname  mr bark  2013  32, 33, etc...
002    235       townname  mr woof  2013  17

理想情况下,我想在 SSRS 中完成此操作,而不是更改我在 sql server 上所做的事情。

【问题讨论】:

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


    【解决方案1】:

    在一周内创建一个列组。

    【讨论】:

      【解决方案2】:

      您可以使用LookupSet 函数来帮助解决这个问题。

      这是我的测试数据集:

      我在数据集中添加了一个名为 CmpYear 的计算字段,其表达式为:

      =Fields!Cmp_code.Value & CStr(Fields!Year.Value)
      

      我们稍后会用到它。

      现在,制作你的报表:

      您可以看到基于GroupCmp_codeYear 的行组。我假设townOwner 基于Cmp_code

      最重要的部分是Week的表达式:

      =Join(LookupSet(Fields!CmpYear.Value, Fields!CmpYear.Value, Fields!Week.Value, "DataSet1")
        , ",")
      

      由于我们对特定公司/年份组合的所有周感兴趣,因此我们使用基于这些的计算字段作为查找键 - 此 LookupSet 返回特定公司/年份中所有周的数组组,然后我们使用Join 将数组变成分隔列表:

      对我来说看起来不错。当然,您可能需要对基础数据稍作更改,但希望这能给您一些有用的想法。

      【讨论】:

      • 这很棒。你知道如何将结果限制为只有 x 周缺失的 cmp_code 吗?
      • 当然,我将首先查看在 Group 属性下设置 Group 可见性;即将Hidden 设置为=IIf(Count(Fields!Week.Value) > 1, False, True)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多