BI神器Power Query(12)-- PQ創建時間維度表(1)

Power Query支持數據模型,可以將多種數據添加到數據模型,然後建立關聯關係並進行後續分析。有些時候會使用類似於數據倉庫星形模型的方式進行關聯,這裏常用的兩類表爲維度表和事實表。維度表是維度屬性的集合,是分析問題的一個窗口;事實表通常是數據倉庫結構中的中央表,它包含聯繫事實與維度表的數字度量值和鍵。更詳細的內容請參閱相關資料。

維度表從概念上理解似乎有些抽象,接下來舉個例子。Excel工作表銷售數據如下圖所示。

創建數據透視表並添加切片器,如下圖所示,切片器中可以按時間維度的不同層級(日,月,季度,年)進行切片,完成數據篩選。

如果組數據分析時需要對數據進行更多層次的聚合,那麼使用數據模型中的數據表和時間維度表關聯是個不錯的選擇。時間維度表其實並不複雜,典型的時間維度表如下圖所示。

對於Excel的重度使用者來說,用公式創建這樣的時間維度表也不需要太高深的水平,基本上日期函數+字符串函數就夠用了。這次咱們劍走偏鋒,使用Power Query來創建時間維度表,在實戰中學習更多的PQ知識點。

創建時間維度表整體可以分爲兩步:

  • 創建日期序列:對於上圖中的日期序列,當然可以從工作表導入到PQ,既然是用PQ實現,那麼我們全部在PQ編輯器中實現。
  • 創建後續其他更多的列

步驟1:依次單擊【數據】選項卡=>【新建查詢】=>【從其他源】=>【空白查詢】

步驟 2:在PQ對話框的公式編輯框中輸入= #date(2018,1,1)並按回車鍵。

在窗口中可以看到輸入的日期,如下圖所示。

打開【高級編輯器】可以查看PQ公式,如下圖所示。

爲了便於後續的引用修改PQ公式如下。

let
    FirstDate = #date(2018,1,1)
in
    FirstDate

時間維度表中日期範圍通常都是多個日期,那麼如何輸入呢?已經有了起始日期,接下來編輯PQ公式輸入截止日期。

步驟3:打開【高級編輯器】修改PQ公式,添加截止日期。

let
    FirstDate = #date(2018,1,1),
    LastDate = #date(2019,12,31)
in
    LastDate 

結果如下圖所示。

步驟4:打開【高級編輯器】修改PQ公式,生成日期序列列表。

let
   FirstDate = #date(2018,1,1),
   LastDate = #date(2019,12,31), 
   CalDates = {Number.From(FirstDate) .. Number.From(LastDate)}
in
   CalDates

{起始數值 .. 終止數值}用於創建一個數值列表,起始值和終止值之間一定兩個點號分隔,{Number.From(日期)將日期轉換爲數值。

結果如下圖所示,不難看出第一列爲數值,並不是日期,但是PQ中列表無法進行類型轉換,所以需要先轉換爲表。

步驟5:單擊【轉換】選項卡的【到表】按鈕將列表轉換爲表。

步驟6:在彈出的對話框中,保持默認選項,單擊【確定】按鈕完成轉換。

步驟7:轉換的結果如下圖所示,依次單擊【數據類型】=>【日期】,將第一列的轉換爲日期格式。

終於見到了我們的日期序列。


未完待續 … …

相關文章鏈接如下:
PQ製作時間維度表(1)
PQ製作時間維度表(2)
PQ製作時間維度表(3)
PQ製作時間維度表(4)
PQ製作時間維度表(5)
PQ製作時間維度表(6)
PQ製作時間維度表(7)

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