"日期表"90%以上Power BI資料模型(Data Model)中不可或缺的元素,舉凡你的資料為客戶管理、業務銷售、廣告促銷、股票資訊、流量分析、財務交易、進銷庫存、學習歷程、重複測量等,都可能包含了日期數據,這需要連結到一個完整的日期表,叫用日期的不同屬性。例如,比較週一至週日,哪一天的銷售最好,就需要叫用日期表的星期欄。

完整的日期表,包含了各式各樣的日期欄位資訊(年、月、日、周等),與主要事實表建立關聯後,前述欄位資訊就能夠被數據模型輕鬆叫用!創建日期表有以下幾種常規方法:

1.Excel手動生成對應的表格,然後導入Power BI數據模型

2.Power Query中利用M語言生成

3直接在Power BI中使用DAX表函數生成

 

本文介紹的是第2種方法,Power Query中利用M語言。此法不僅在Power BI可用,也可應用在Excel2016專業增強版以後),因為二者都內含Power Query功能。幸運的是,在網路神人存在的今天,我們不用親自去寫M語言。這裏介紹Sam McKayEnterprise DNA創辦人)所寫的語法,快速建立日期表(註1)。

 

首先你先下載語法(註2),開啟Power BI Desktop後,在"取得資料"中,選擇空白查詢。進入Power Query後,選擇上方的進階編輯器,將前述語法內容複製到查詢1內(覆蓋原內容),即完成第一步。

 

 

1.bmp

2.jpg

 

第二步就是自訂日期表的參數,如下圖所示,起、迄日是必填,指定年月日。叫用後,即出現名稱「已叫用函數」的日期表,此時可在右方把名稱改「日期表」,即可套用囉!

 

111.jpg

 

3.jpg

4.jpg

 

這張日期表的優點是——日期資訊種類超多,總共36個資訊欄。我舉幾個實用例,

DateInt:整數格式,很多資料表的日期欄格式為數字時,這個當關連鍵很實用。

Quarter & Year:文字格式,年與季度值,這個在以季為單位的趨勢或分類時很實用。

DayOfWeek:整數格式,WeekDay的數字化,在排序時很實用。

Week & Year:文字格式,一年中的第幾週,某些製造業是以週序為紀錄,像輪胎生產日就以年份週數為準。

IsAfterToday:二元格式,判別這一天是否已過或者未來,這個在動態區分未來過去很實用。

IsWorkingDay:二元格式,這個在區分是否上班日很實用。如再搭配自行創建的Holiday,就能完美辨別平日、假日。

 

5.jpg

6.jpg

 

有了這張日期表,搭配BI的時間智慧函式(DAX),相信在建立Power BI報表時,必將如虎添翼。

隨場加映:另外有時間表可用,適用場合較為特殊,例如品管領域,有興趣者可詳註3

 

1Sam McKay日期表介紹片  https://www.youtube.com/watch?v=mLiPm82GRUo

2:日期表語法下載  https://drive.google.com/file/d/1ugBfOhraO-3Q9N2_POYbMxsYogsOr3Oi/view?usp=sharing

3Time Table語法下載  https://forum.enterprisedna.co/t/time-table-power-query-m-function/6667

 

arrow
arrow
    全站熱搜

    晨晰部落格新站 發表在 痞客邦 留言(0) 人氣()