Power BI中的透視列和逆透視

透視列(Pivot)和逆透視列(Unpivot)是在Excel當中就經常使用的一對數據聚合和拆分方法,在Power BI桌面應用中也提供了同樣的功能。

透視列操作是將列下所有的N個非重複數據轉換成N個新列,然後對原始數據進行彙總合併來計算新列中的每一行值。也就是說,透視列有將行數據轉換成列數據的能力。

例如,選擇Country列做透視列的操作,Power BI會提示Country列中的內容會被用來創建新列,而後面的Sales Volume列則會根據Country列中的內容進行聚合“求和”操作來生成相應的列值。
在這裏插入圖片描述
逆透視列與透視列的操作相反,它可以將列轉換爲行,並對數據進行拆分操作。逆透視列操作主要針對的是有多列數據的表單,這類表單的特點是一般有一個主列,該列中數值多數情況下都是非重複值;而其他數據列類型基本相同,其數值都是對主列中數據某一屬性的描述。對於這種有一定彙總關係的表單,可以將主列外的其他多列數據合併成一個列,即將列裝換成行,然後將主列中原始值擴展成多個重複數值與合併後的新列產生對應關係,以便進行後續分析計算。
例如,對上面透視操作結果獲得的表單,選中Product列,之後使用“逆透視其他列”
在這裏插入圖片描述

目前,Power BI對逆透視列操作提供了三個選項,其功能區別如下:

  • 逆透視列:後臺調用了M語言中的Table.UnpivotOtherColumns函數。該操作意味着對當前列進行逆透視操作,列中數據將被轉換成行,未選中列保持不變。
  • 逆透視其他列:後臺也是調用了M語言中的Table.UnpivotOtherColumns函數,是逆透視列操作的反選操作。使用此選項意味着對選中列以外的其他列進行逆透視操作,選中列保持不變。
  • 僅逆透視選定列:後臺調用了M語言中的Table.UnpivotColumns函數。該操作意味着僅僅對當前選中列做逆透視操作。

“逆透視列”/“逆透視其他列選項”和“僅逆透視選中列”選項的區別在於,當有新的列添加到表單當中時,“逆透視列”和“逆透視其他列”選項擁有自動將新列進行逆透視操作的能力,而“僅逆透視選中列”選項則不會對新列進行處理。

兩類操作之所以有這樣的區別在於,“逆透視列”和“逆透視其他列”使用的是Table.UnpivotOtherColumns函數,該函數明確定義的是不需要進行逆透視的列,不在定義範圍內的其他列默認都要進行逆透視操作。所以當數據源中出現新列時,就會被進行逆透視操作。而“僅透視選定列”使用的則是Table.UnpivotColumns函數,該函數明確定義了需要進行逆透視操作的列,不在定義範圍內的列都不會做逆透視操作。因此,當數據源中出現新列時,也不會被進行逆透視操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章