為 Power Query 日期表設置動態 StartDate 和 EndDate

為 Power Query 日期表設置動態 StartDate 和 EndDate

我將向您展示如何使用 LuckyTemplates 的強大查詢日期表設置動態開始日期和結束日期。

如果您一直在關注這個關於不同時間智能主題的系列,那麼您已經知道如何使用強大的查詢函數創建日期表。您可能還閱讀了有關如何更改該表的結束日期的信息。您可以在本博客底部觀看本教程的完整視頻。

不過,這一次,我將向您展示一些替代方案。

目錄

Power Query 日期表

我將從前往電源查詢日期表功能開始。它顯示了四個日期參數——必需的 StartDate、必需的 EndDate、可選的 FYStartMonth 和可選的假期列表。

為 Power Query 日期表設置動態 StartDate 和 EndDate

請注意,對於您調用的每個查詢,相應的查詢函數將顯示在此處。

為 Power Query 日期表設置動態 StartDate 和 EndDate

您還會看到日期參數的順序與之前列出的順序相同。所以這顯示了 StartDate、EndDate 和財政年度。它還顯示假期列表為空。

為 Power Query 日期表設置動態 StartDate 和 EndDate

現在您已經看到了日期表函數的各個部分,我將向您展示您可以使用的不同查詢函數。

Power Query 日期表函數

如果我進入我的 Sales 表,它也是我的事實表,它會顯示一個 OrderDate 列。

為 Power Query 日期表設置動態 StartDate 和 EndDate

如果我單擊 OrderDate 旁邊的下拉列表,它將顯示此日曆中的第一個日期是 2017 年 9 月 24 日。

為 Power Query 日期表設置動態 StartDate 和 EndDate

所以我將通過創建一個新的空白查詢來提取該數據。

為 Power Query 日期表設置動態 StartDate 和 EndDate

我將使用 List.Min 函數。

為 Power Query 日期表設置動態 StartDate 和 EndDate

看說明,List.Min返回列表中的最小項。

為 Power Query 日期表設置動態 StartDate 和 EndDate

對於此函數,我將引用 Sales 表和 OrderDate 列。

為 Power Query 日期表設置動態 StartDate 和 EndDate

一旦我按下回車鍵,它就會給我第一個日期,即 2017 年 9 月 24 日。

為 Power Query 日期表設置動態 StartDate 和 EndDate

我將重命名此查詢並將其稱為 FirstSale。

為 Power Query 日期表設置動態 StartDate 和 EndDate

但是讓日曆從 9 月 24 日開始可能沒有意義。所以我會把它改回年初。

為此,我將再次使用空白查詢。這次,我將使用函數 Date.StartOfYear。

為 Power Query 日期表設置動態 StartDate 和 EndDate

Date.StartOfYear 返回日期、日期時間或日期時區值的給定年份的第一個值。

為 Power Query 日期表設置動態 StartDate 和 EndDate

對於我的日期值,我將使用 FirstSale。

為 Power Query 日期表設置動態 StartDate 和 EndDate

一旦我按下回車鍵,它現在顯示 2017 年 1 月 1 日。

為 Power Query 日期表設置動態 StartDate 和 EndDate

我也將重命名此查詢,並將其命名為 StartOfYear。

為 Power Query 日期表設置動態 StartDate 和 EndDate

但是還有另一種方法可以獲得完全相同的值。那是通過使用固有日期。

所以我將再次創建一個新查詢並使用#date,它是固有日期值。

為 Power Query 日期表設置動態 StartDate 和 EndDate

對於#date,我需要一個動態值。所以我將使用 Date.Year 並引用 FirstSale。我還會使用 1 月 1 日,它由度量中的兩個 1 表示。

為 Power Query 日期表設置動態 StartDate 和 EndDate

我將其命名為 fxStartDate。

為 Power Query 日期表設置動態 StartDate 和 EndDate

現在,我要回到日期表查詢。現在,我可以更改 StartDate 參數。

為 Power Query 日期表設置動態 StartDate 和 EndDate

選擇 StartOfYear 或 fxStartDate 並不重要,因為它們會產生相同的結果。

為 Power Query 日期表設置動態 StartDate 和 EndDate

我將使用 fxStartDate,這樣我就可以在此處輸入適當的值。

為 Power Query 日期表設置動態 StartDate 和 EndDate

現在,我的日曆從 2017 年 1 月 1 日開始。

為 Power Query 日期表設置動態 StartDate 和 EndDate

當然,我可以為 EndDate 做完全相同的事情。我只需要再次進行空白查詢,但這一次,我將使用函數 List.Max。我還將引用 Sales 和 OrderDate 列。

為 Power Query 日期表設置動態 StartDate 和 EndDate

現在顯示銷售表中的最後日期,即 2020 年 4 月 24 日。

為 Power Query 日期表設置動態 StartDate 和 EndDate

我將通過以降序方式對該列進行排序來仔細檢查這是否正確。果然,該專欄確實將 2020 年 4 月 24 日顯示為最終日期。

為 Power Query 日期表設置動態 StartDate 和 EndDate

我將此查詢重命名為 LastSale。

為 Power Query 日期表設置動態 StartDate 和 EndDate

同樣,我可以在年底做與年初所做的完全相同的事情。

在新查詢中,我將使用 Date.EndOfYear 並引用 LastSale。

為 Power Query 日期表設置動態 StartDate 和 EndDate

我將其稱為 EndOfYear。

為 Power Query 日期表設置動態 StartDate 和 EndDate

還記得我如何使用 StartOfYear 的固有日期嗎?我也可以這樣做以返回任何給定年份的 12 月 31 日。但是,您還必須考慮一旦到了該結束日期,數據會溢出到新的一年的可能性。

這就是您可以處理的方式。

我將使用 Date.AddYears 並引用 EndOfYear。

為 Power Query 日期表設置動態 StartDate 和 EndDate

對於年數,我只想加 1。

為 Power Query 日期表設置動態 StartDate 和 EndDate

果然,現在的日期顯示為 2021 年。

為 Power Query 日期表設置動態 StartDate 和 EndDate

我將其稱為 EndOfNextYear。

為 Power Query 日期表設置動態 StartDate 和 EndDate

我現在要替換日期表上的 EndDate。

為 Power Query 日期表設置動態 StartDate 和 EndDate

我將使用 EndOfNextYear 來替換它。

為 Power Query 日期表設置動態 StartDate 和 EndDate

仔細檢查我的年齡,它現在運行到 2021 年。

為 Power Query 日期表設置動態 StartDate 和 EndDate

要保存並應用我所做的所有更改,我將單擊“關閉並應用”。

為 Power Query 日期表設置動態 StartDate 和 EndDate

其他日期函數

轉到 docs.microsoft.com 並查找 Power Query M 公式語言。

為 Power Query 日期表設置動態 StartDate 和 EndDate

出現後,查找日期函數概述。

為 Power Query 日期表設置動態 StartDate 和 EndDate

這將向您展示在處理高級查詢日期表時可以使用的所有其他日期函數。

為 Power Query 日期表設置動態 StartDate 和 EndDate


在 LuckyTemplates 中構建綜合日期表 真正快速地
比較 LuckyTemplates 中非標準日期表的時間
將工作日和周末數字添加到日期表中:LuckyTemplates 中的時間智能技術

結論

使用強大的查詢日期表時,您可以使用許多功能,這就是為什麼我建議逐一查看的原因。

開始創建空白查詢並使用它們看看會發生什麼。這是了解每個查詢函數如何幫助您解決未來可能遇到的場景的最佳方式。

老實說,power query是一個了不起的工具,可以為您提供深刻的見解,尤其是在涉及日期時。嘗試查看此博客中有關時間智能的其他帖子,看看您可以應用哪些其他技術。

一切順利,

梅麗莎


在 Power Automate 中執行直到循環控制

在 Power Automate 中執行直到循環控制

了解有關 Do Until 循環控制如何在 Power Automate 流中工作的基礎過程,並熟悉所需的變量。

使用 Deneb 為 LuckyTemplates 製作自定義視覺對象

使用 Deneb 為 LuckyTemplates 製作自定義視覺對象

受限於 LuckyTemplates 中提供的標準視覺效果?學習使用 Deneb 和 Vega-Lite 為 LuckyTemplates 創建自定義視覺對象,提升您的數據可視化能力。

在 Power Automate Desktop 中將日期添加到文件名

在 Power Automate Desktop 中將日期添加到文件名

在此博客中,您將了解如何使用 Power Automate Desktop 自動將日期添加到文件名的開頭或結尾。

Power Query:如何快速添加註釋

Power Query:如何快速添加註釋

找出幾種不同的方法在 Power Query 中添加註釋,這對於不喜歡記筆記的人非常有幫助。

Power Apps – SharePoint 集成指南

Power Apps – SharePoint 集成指南

在此博客中,您將了解 MS Power Apps 界面的基礎知識並了解 Power Apps-SharePoint 集成的過程。

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

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

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

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

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

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

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

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

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

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

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

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

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

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