BI神器Power Query(13)-- PQ製作時間維度表(2)

上一篇博客中,創建了日期序列,如下圖所示。

接下來我們繼續創建時間維度表的其他列,依次單擊【添加列】選項卡=>【日期】下拉按鈕=>【僅日期】,將添加新列,可以從指定數據列(例如包含日期和時間)中提取“日期”,由於本示例中第一列只有日期,因此新創建的第二列實際上與第一列完全相同。

接下來創建文本日期列,依次單擊【添加列】選項卡=>【自定義列】,在彈出的【添加自定義列】對話框中輸入新列名和公式,單擊【確定】按鈕創建新列,如下圖所示。

新創建的DataTxt列標左側標識說明這列未指定數據類型(即爲“任意”),並不是所需要的“文本”類型,所以需要進行類型轉換。

選中“DataTxt”列,依次單擊【轉換】選項卡=>【數據類型】下拉按鈕=>【文本】,將數據類型轉換爲文本。

轉換後的數據列如下圖所示,列名左側有“ABC”標識。

在【高級編輯器】中查看PQ公式如下。

let
    FirstDate = #date(2018,1,1),
    LastDate = #date(2019,12,31), 
    CalDates = {Number.From(FirstDate) .. Number.From(LastDate)},
    轉換爲表 = Table.FromList(CalDates, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    更改的類型 = Table.TransformColumnTypes(轉換爲表,{{"Column1", type date}}),
    插入的日期 = Table.AddColumn(更改的類型, "Date", each DateTime.Date([Column1]), type date),
    已添加自定義 = Table.AddColumn(插入的日期, "DataTxt", each Date.ToText([Date],"yyyyMMdd")),
    更改的類型1 = Table.TransformColumnTypes(已添加自定義,{{"DataTxt", type text}})
in
    更改的類型1

其中第7行代碼添加新列,第8行代碼轉換爲文本類型,其實這兩行代碼可以合併爲一行,在AddColumn時添加參數type text,直接指定數據列類型,如下所示。

已添加自定義 = Table.AddColumn(插入的日期, "DateText", each Date.ToText([Date],"yyyyMMdd"), type text)

未完待續 … …

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

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