【发布时间】:2014-11-05 19:39:26
【问题描述】:
传入数据('Key' 和 'Value' 是数据集中字段的实际名称):
Key Value
--- -----
A 1.0
B 2.0
C 3.0
A 4.0
B 5.0
C 6.0
报告中的期望输出:
A B C
- - -
1.0 2.0 3.0
4.0 5.0 6.0
到目前为止尝试过:
以'Key'为列组,以'Value'为数据,行标题正确,但矩阵中只出现第一行数据。
A B C
- - -
1.0 2.0 3.0
(no other rows appear)
使用“值”作为行组,矩阵中的数据都是稀疏的,因为它将任何字段中的每个更改都视为一个新组:
A B C
- - -
1.0
2.0
3.0
4.0
5.0
6.0
【问题讨论】:
-
最好的方法是将数据集的输出更改为报告中所需的格式。最好的方法是使用 PIVOT。
-
尽量不改变源代码,因为它服务于多个客户。我认为 Tablix 的全部意义在于它确实可以旋转?
-
tablix 应该允许您按列组中的键字段进行分组,同时将详细信息显示为行组。到目前为止,您尝试过什么?
-
您的 PIVOT 要求有点不寻常; PIVOTs 通常涉及聚合数据,但你想保持数据谨慎,我猜是基于它在表中出现的顺序?不确定这将如何完成,因为如果没有 ORDER BY,预计数据的行顺序不会可靠。是否有另一列用于 ORDER BY?换句话说,SQL 怎么知道 A=1.0 应该和 B=2.0 在同一行,而不是 B=5.0?
-
@TabAlleman - 我可以确保订单是正确的,因为它来自数据源。要回答,一切都是一行,直到再次到达键“a”。这来自 XML 字典(Web 服务调用的结果),不幸的是,SSRS 正在扁平化结构并丢失一些层次结构信息
标签: reporting-services reportbuilder3.0 ssrs-2012