SSRS分组汇总

时间:2016-05-23 08:19:30

标签: reporting-services ssrs-2012 ssrs-tablix

我在SSRS中创建一些分组时遇到问题。我不能使用SQL。

基本上我有一组数据要转化为数据透视表或汇总表。我可以通过ownerID获得SUM收入没问题,但是他们在报告中有一些我无法复制的团队和过滤器。这是基本表:

Employee    Quote Revenue
User1       SUM by ownerID
User2       SUM by ownerID
User3       SUM by ownerID
User4       SUM by ownerID
User5       SUM by ownerID
User 6      SUM by ownerID

这是他们想要衡量的内容

Teaming/Filter      Quote Revenue
User 1 & User 2     SUM by Group
User 3 & User 4     SUM by Group
User 5 where customer type=1        SUM by Filter
User 5 where customer type=2        SUM by Filter
User 6      SUM by Owner ID

我已经通过组名使用了SUM,并且我尝试了SUM IIF,但它们要么不起作用,要么我在单独的行上获得收入。非常感谢任何建议。

谢谢。

1 个答案:

答案 0 :(得分:0)

我的方法是对每个度量使用一行Tablix。这样,您可以在其自己的Tablix中为每个方案设置过滤器和分组,而不是尝试在一个方案中执行此操作。这符合无SQL限制。至于报表上的显示,您可以对齐每个Tablix,并隐藏标题,因此它最终看起来像一个表。

这不是世界上最优雅的解决方案,但它应该有效。

其中一项措施(用户1和用户2收入)的更多详细信息:

  1. 在报告中添加Tablix
  2. 在Tablix属性中,将数据集名称设置为正确的数据集
  3. 在Tablix的Filters属性中,将过滤器设置为特定度量所需的值。您必须使用In运算符来处理您组合多个用户的度量。在这种情况下,它将类似于“User1”,“User2”,用于过滤器的值,其中Expression是UserID,运算符是In。 SSRS将改变设计师的价值,因此你可能不得不玩弄复制报价
  4. 在“行组”窗格中,对于“详细信息”行组,更改“组属性”组表达式以使用数据集中过滤器中每行共享的字段。在这种情况下,可能是日期或报价编号。您不会显示此值,因此它不重要,只要它对您要过滤的数据中的每一行都相同。
  5. 在Tablix的第一列中,将详细信息值设置为描述您所显示内容的字符串,在此实例中为“用户1和用户2”。
  6. 在Tablix的第二列中,将表达式设为收入的总和。

    =Sum(Fields!revenue.Value)

  7. 隐藏标题行

  8. 运行报告
  9. 我知道这很多,但是一旦你做了一个,你可以复制并粘贴Tablix,并调整到新副本以进行下一个测量。希望你没有很多措施!如果你这样做,那么真的需要考虑用SQL做这件事。