在上一篇博客中,創建了日期序列,如下圖所示。
接下來我們繼續創建時間維度表的其他列,依次單擊【添加列】選項卡=>【日期】下拉按鈕=>【僅日期】,將添加新列,可以從指定數據列(例如包含日期和時間)中提取“日期”,由於本示例中第一列只有日期,因此新創建的第二列實際上與第一列完全相同。
接下來創建文本日期列,依次單擊【添加列】選項卡=>【自定義列】,在彈出的【添加自定義列】對話框中輸入新列名和公式,單擊【確定】按鈕創建新列,如下圖所示。
新創建的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)