SSRS 中的复杂排序(水平和垂直)

Complex ordering in SSRS (Horizontally and Vertically)

有人要求我使用这种布局在 SSRS 中创建报表:

…所以我首先按供应商分组,然后按 Month/Year,最后按客户分组。

这是我的主要数据集,其中 returns 我需要的数据(以及上述分组的月份和年份日期部分)…

SELECT rvpo.SupplierName As [Supplier]
  , rvpoline.CustomerName As [Customer]
  , datepart(mm,rvpoline.DeliveryDate) As [Delivery Month]
  , datepart(yy,rvpoline.DeliveryDate) As [Delivery Year]
  , rvpo.Name As [PO #]
  , rvpoline.Quantity As [Quantity]
  , rvpoline.DeliveryDate As [Handover Date]
  FROM Finance.PurchaseOrderLine rvpoline
    JOIN Finance.PurchaseOrder rvpo on rvpo.Id = rvpoline.PurchaseOrderId
  ORDER BY 
    rvpo.SupplierName
  , DATEPART(YY, rvpoline.DeliveryDate) DESC
  , DATEPART(mm, rvpoline.DeliveryDate) DESC
  , rvpoline.CustomerName

…我不确定如何设置我的矩阵来正确排序(即供应商分组向下,月份分组穿过)。

我怀疑我将不得不为此使用子报表的一部分(就像我使用另一个 table 我会得到一个详细成员不能有内部成员错误),但我不确定我应该使用什么值路过 我只想知道有没有更简单的方法

p.s。我正在使用 SQL 2012.

您可以结合使用矩阵和 table 来获得所需的输出。

  1. 创建一个矩阵并将列分组设置为您的月份日期,将行分组设置为供应商。

  2. 在“数据”部分,右键单击并 select table 以在其中嵌套一个 table。将 table 中的值设置为 Customer、Quality 和 Handover 字段。在设计视图中,这看起来有点像这样

当你运行它会生成以下内容

通过使用 tablixes 的 BorderColor = BlackBorderStyle = Solid 属性,您可以填充缺失的边缘。