SSRS-按单个tablix列排序会导致列组

问题描述 投票:0回答:1

我正在使用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

我有什么想念的吗?

sql-server reporting-services ssrs-tablix
1个回答
0
投票

由于您似乎正在使用矩阵(按年列出列),所以您将需要使用表达式来确定排序顺序。

在您的行组中,转到排序选项,并使用类似于...的表达式]

=SUM(IIF(Fields!Year.Value= 2011 , Fields!Sales.Value, nothing))

如果您始终要按动态年份排序,则必须使用类似的方法(此示例始终使用去年作为排序依据)

=SUM(IIF(Fields!Year.Value=MAX(Fields!Year.Value), Fields!Sales.Value, nothing))
© www.soinside.com 2019 - 2024. All rights reserved.