使用 M 函數創建擴展的 LuckyTemplates 日期表

使用 M 函數創建擴展的 LuckyTemplates 日期表

本教程將介紹任何模型中最重要的 LuckyTemplates 維度表,即日期表您可以在本博客底部觀看本教程的完整視頻。

設計模型時的最佳做法是檢查日期字段。如果它們存在,請始終包含一個日期維度表。

日期包含您可能想要切片、切塊和過濾數據以獲得有價值的見解的所有屬性。有了它,模型中任何地方的日期字段都不會成為問題。

目錄

在論壇中獲取 Power Query M 代碼

在中,您可以在搜索欄中輸入Date Table,或者切換到 Categories 並查找M Code Showcase。但找到它的最快方法是尋找“@melissa”。

接下來,選擇任何主題,然後單擊徽章,然後單擊特色主題擴展日期表

使用 M 函數創建擴展的 LuckyTemplates 日期表

然後您將找到 M 代碼。

使用 M 函數創建擴展的 LuckyTemplates 日期表

複製整個度量並將其傳輸到 Power Query。

Power Query 中的應用

對於此步驟,請確保公式欄可見。如果不是,請轉到“查看”選項卡並啟用它。

右鍵單擊參數和函數文件夾,選擇新建查詢,然後選擇空白查詢。

使用 M 函數創建擴展的 LuckyTemplates 日期表

然後單擊高級編輯器並粘貼Power Query M 代碼。之後,將查詢名稱更改為 fxCalendar。

使用 M 函數創建擴展的 LuckyTemplates 日期表

在調用此函數之前,您需要設置參數。使用以下詳細信息進行設置:

使用 M 函數創建擴展的 LuckyTemplates 日期表

調用該函數,然後將其重命名為 Dates。

現在它將向您顯示這個包含 32 列的日期表。如果您熟悉 M 代碼,您可能會認出這裡的一些列。其他列是您使用的代碼中的附加屬性或邏輯。

使用 M 函數創建擴展的 LuckyTemplates 日期表

在顯示的日期表中,您可以看到財政年度、季度和期間列,以及篩選列 IsAfterToday、IsWorkingDay 和 IsHoliday。

由於未設置第 4 個參數,因此 IsHoliday 具有未知值。

使用 M 函數創建擴展的 LuckyTemplates 日期表

此外,此日期表中包含 Offset 列,可簡化您進行某些分析所需的 DAX 代碼。

使用 M 函數創建擴展的 LuckyTemplates 日期表

如果要添加屬性,請使用代碼並將其修改為您想要的。此外,如果您想刪除不需要的列,請轉到“選擇列”,然後取消選擇您不需要的列。

制定一個動態的結束日期

開發報告時,開始日期與結束日期不同,很容易設置。 結束日期很棘手,因為它取決於模型中的數據以及報告保持活動狀態的時間

要創建動態結束日期,我們需要動態更新年份。

首先,創建一個新的空白查詢。

DAX 或 Excel 函數的 M 等效項是“DateTime.FixedLocalNow”。這是函數的作用:

使用 M 函數創建擴展的 LuckyTemplates 日期表

接下來,在公式欄中,使用函數提取年份值。

使用 M 函數創建擴展的 LuckyTemplates 日期表

到了年底,您的數據可能會溢出到下一年。所以,最好像這樣再增加一年:

使用 M 函數創建擴展的 LuckyTemplates 日期表

之後,將查詢重命名為“MaxYear”。

返回到您的日期表,並在函數中的 MaxYear 變量中進行子操作,以便在您的日曆中顯示 2021 年。

使用 M 函數創建擴展的 LuckyTemplates 日期表

調用並獲取假期列表列

如果您查看假日表,您會發現它從 2018 年運行到 2020 年,即使最大年份是 2021 年也是如此。

使用 M 函數創建擴展的 LuckyTemplates 日期表

要更改此設置,請轉到“源步驟”,然後在度量中加入 MaxYear 變量。

使用 M 函數創建擴展的 LuckyTemplates 日期表

您的假期表將包含 2021 年。

使用 M 函數創建擴展的 LuckyTemplates 日期表

接下來,返回並重新設置參數。但是這一次,通過單擊選擇列來包含假日參數。

使用 M 函數創建擴展的 LuckyTemplates 日期表

選擇假期和包含日期的列,然後單擊確定。

使用 M 函數創建擴展的 LuckyTemplates 日期表

設置完所有內容並單擊“調用”後,您​​將在公式欄中看到“Holidays[Date]”變量。複製該變量並刪除調用的函數。

使用 M 函數創建擴展的 LuckyTemplates 日期表

返回到日期表,然後將變量子到源步驟的函數中。

使用 M 函數創建擴展的 LuckyTemplates 日期表

一旦完成加載和調用該函數,您將看到曾經具有未知值的 IsHoliday 列現在每行中都有 True 或 False 值。

使用 M 函數創建擴展的 LuckyTemplates 日期表

如果日期是假期,則顯示 True,否則顯示 False。


LuckyTemplates 查詢參數:優化表
將工作日和周末數字添加到您的日期表中:LuckyTemplates 中的時間智能技術在
LuckyTemplates 中非常快速地構建綜合日期表

結論

Power Query M 代碼是完成日期表報告的有用功能。

它向您顯示您希望在表格中看到的內容,並方便地為您提供模型的數據。

您只需獲取代碼,在 Power Query 中進行設置,然後根據表中的需要對其進行修改。

一切順利,

梅麗莎


什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。

DAX Studio 中數據緩存的物化想法

DAX Studio 中數據緩存的物化想法

本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。

使用 LuckyTemplates 進行業務報告

使用 LuckyTemplates 進行業務報告

如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的