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

SSRS - sorting by a single tablix column result in a column group

我正在使用 SSRS 2016。我有一个如下所示的数据集:

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

我需要根据 Supplier 的 2011 列 desc 对数据进行排序,然后是 Category,然后是 Item。当我在 SSRS 上使用 Tablix 属性排序或组属性排序时,它会根据 2010+2011 的总数进行排序,而不仅仅是 2011 年的值。

编辑:table 包含多个 years/suppliers/categories/items 的销售额。用户将其限制为他们需要的 year/month,并提供与前一年的比较。因此,如果月份是 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))