【问题标题】:SSRS - sorting by a single tablix column result in a column groupSSRS - 按单个 tablix 列排序导致列组
【发布时间】:2020-03-17 13:23:56
【问题描述】:

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

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

编辑:该表包含多年/供应商/类别/项目的销售额。用户将其限制为他们需要的年/月,并提供与前一年的比较。因此,如果月份为 2,年份为 2011,它将提供 2011-02 和 2010-02

我有什么遗漏的吗?

【问题讨论】:

    标签: sql-server reporting-services ssrs-tablix


    【解决方案1】:

    由于您似乎在使用矩阵(年份列组),因此您需要使用表达式来确定排序顺序。

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

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

    如果您总是想按动态年份排序,那么您将不得不使用类似的东西(本示例始终使用最后一年进行排序)

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多