【发布时间】:2019-04-24 06:29:40
【问题描述】:
我有一个 PIVOT 查询返回未知数量的动态列。所以查询会返回类似
ID | Col1 | Col2 | ..... |科尔N
ID 是唯一的静态列,其余均为动态列。列的数量和名称未知。
如何在 SSRS 中编写可以处理此问题的报告?任何提示和指导将不胜感激。
谢谢。
【问题讨论】:
标签: sql tsql reporting-services pivot
我有一个 PIVOT 查询返回未知数量的动态列。所以查询会返回类似
ID | Col1 | Col2 | ..... |科尔N
ID 是唯一的静态列,其余均为动态列。列的数量和名称未知。
如何在 SSRS 中编写可以处理此问题的报告?任何提示和指导将不胜感激。
谢谢。
【问题讨论】:
标签: sql tsql reporting-services pivot
SSRS 将无法处理您的数据透视表,因为在设计时这些列是未知的。 SSRS 具有称为Matrix 的功能,如果您的设计时间结构是静态的,它将处理基于运行时数据的运行时数据。
ID | ColumnName | Value
------------------------
1 | Colu1 | Value1
1 | Colu2 | Value2
2 | Colu2 | Value2
我建议您从 TSQL 返回详细信息行并允许 SSRS 处理数据透视表。这将允许一个存储过程用于多个 SSRS 报告和聚合,而不是 PIVOT 提供的单个聚合。
为了节省重复处理,Matrix 还将处理排序,因此无需在 TSQL 内部进行排序。
【讨论】:
Matrix 能够为您创建一个总行。 Reference