【发布时间】:2017-10-10 15:28:48
【问题描述】:
我有一个如下所示的数据集:
Position_Date Portfolio Country Weight BM Weight
2017-09-30 Port1 Mexico 0.2 0.0
2017-09-30 Port1 Mexico 0.1 0.1
2017-09-30 Port1 USA 0.2 0.2
2017-09-30 Port1 USA 0.3 0.1
我想使用 SQL 查询将此存储的数据集转换为以下输出:
Portfolio_Date Portfolio Dimension Dimension_Value Measure Measure_Value
2017-09-30 Port1 Country Mexico Weight 0.3
2017-09-30 Port1 Country Mexico BM Weight 0.1
2017-09-30 Port1 Country USA Weight 0.5
2017-09-30 Port1 Country USA BM Weight 0.3
2017-09-30 Port1 Portfolio Country Weight 0.8
2017-09-30 Port1 Portfolio Country BM Weight 0.4
我想知道创建数据集的有效方法是什么?我是否必须先透视数据,然后再对其进行 UNPIVOT 以创建我的最终数据集?或者是否有另一种使用 CROSS APPLY 和 GROUP BY 的方法,我可以使用我在这个论坛的其他帖子中看到的?
谢谢
【问题讨论】:
标签: sql sql-server pivot unpivot cross-apply