我正在使用SSRS2016。我的数据集如下所示:
Year Month Supplier Category Type Item Sales QTY
2010 02 Supplier1 Category2 Type1 Item1 200 10
2010 02 Supplier2 Category2 Type1 Item3 150 15
2011 02 Supplier1 Category1 Type1 Item4 250 10
2011 02 Supplier2 Category2 Type1 Item3 400 20
我在SSRS中创建的Tablix如下所示:
[YEAR]
[Supplier] sum(Sales)
[Category] sum(sales)
[Item] sum(sales)
Total sum(sales)
结果看起来像这样:
2010 2011
Supplier1 200 250
Supplier2 150 400
我需要根据2011年供应商的desc列对数据进行排序,然后对类别进行分类,然后对项目进行分类。当我在SSRS上使用tablix属性“排序”或“组属性”排序时,它将通过2010 + 2011的总计进行排序,而不仅仅是2011年的值。
编辑:该表包含多年/供应商/类别/项目的销售额。用户将其限制为所需的年/月,并与前一年进行比较。因此,如果月份是2,而年份是2011,它将提供2011-02和2010-02
我有什么想念的吗?
由于您似乎正在使用矩阵(按年列出列),所以您将需要使用表达式来确定排序顺序。
在您的行组中,转到排序选项,并使用类似于...的表达式]
=SUM(IIF(Fields!Year.Value= 2011 , Fields!Sales.Value, nothing))
如果您始终要按动态年份排序,则必须使用类似的方法(此示例始终使用去年作为排序依据)
=SUM(IIF(Fields!Year.Value=MAX(Fields!Year.Value), Fields!Sales.Value, nothing))