1
我有一個數據集看起來像下面這樣:SQL - 創建屬性輸出逆轉置數據
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
我想知道爲什麼要創建數據集有效嗎?我是否需要將數據插入纔可以將它釋放以創建我的最終數據集?或者有另一種方法使用CROSS APPLY和GROUP BY,我可以在這個論壇的其他帖子中看到這些使用情況?
謝謝
感謝在正確的方向@Gordon Linoff –
只是想知道一點,如果你能向我解釋,你對COALESCE是用於獲取彙總行的快捷方式有何評論? @Gordon Linoff –
@chrissyp。 。 。 'grouping sets'返回聚合行的NULL值。當然,原來的鍵可能已經有了'NULL',所以它是一個hacky(但非常方便)的解決方案。正確的方法是使用'grouping()',但這需要一個'case'。 –