為 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是一個了不起的工具,可以為您提供深刻的見解,尤其是在涉及日期時。嘗試查看此博客中有關時間智能的其他帖子,看看您可以應用哪些其他技術。

一切順利,

梅麗莎


什麼是 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 網關?所有你必須知道的