来自PIVOT查询的SSRS报告,列数未知

时间:2018-11-21 16:15:40

标签: sql tsql reporting-services pivot

我有一个PIVOT查询,返回的动态列数未知。因此查询将返回类似

的内容

ID | Col1 | Col2 | ..... | ColN

ID是唯一的静态列,其余的都是动态的。列的编号和名称未知。

如何在SSRS中编写可以处理此问题的报告?任何提示和方向将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

SSRS将无法处理您的数据透视表,因为在设计时这些列是未知的。 SSRS具有称为Matrix的功能,如果您的设计时间结构是静态的,它将基于运行时数据处理枢轴运行时间。

ID | ColumnName | Value
------------------------
1  | Colu1      | Value1
1  | Colu2      | Value2
2  | Colu2      | Value2

我建议您从TSQL返回明细行,并允许SSRS处理数据透视。这将允许一个存储过程用于多个SSRS报告和聚合,而不是PIVOT提供的单个聚合。

为节省重复处理,Matrix还将处理排序,因此无需在TSQL内部进行排序。

参考:Create a Matrix