使用 DAX 顯示選定日期之前或之後的結果

使用 DAX 顯示選定日期之前或之後的結果

在我們完成本教程的過程中,我將向您展示一些真正強大的分析,您可以在 LuckyTemplates 中完成這些分析。我們在這裡試圖分析的是選定日期前後的信息。您可以在本博客底部觀看本教程的完整視頻。

我們將查看特定時間範圍,然後查看所選日期範圍內的天數範圍。可能是該日期前三天或該日期後十天。這完全取決於您在報告中的選擇。基本上,當您在我的動態過濾器中選擇任何時間範圍時,您也可以過濾結果。

此外,我將向您展示如何製作動態可視化來顯示圍繞您的日期選擇的結果。

如果設置正確,您可以在 LuckyTemplates 中靈活地創建解決方案,這真是令人驚訝。

當我說“設置”時,我首先是指您的數據模型,然後是將正確的 DAX 函數技術添加到您的報告中。

我們圍繞您可以在報告中動態顯示的內容提供的靈活性非常驚人。

我將研究您需要如何在您的模型中進行設置,因為它不像使用您的通用日期表那麼簡單。然後,我將向您展示您需要的DAX 公式和邏輯。這並不太難,但它有點獨特。

目錄

顯示選定日期之前或之後的結果

在這裡,我模擬了一個快速儀表板,顯示選定日期之前或之後的結果。我想要做的實際上是選擇任何日期之一,然後回顧該選擇之前的特定天數。

在此示例報告中,我可以更改各種上下文。例如,我可以快速更改周圍的日期並查看之前的日子。

此外,我在這里為天數添加了一個“假設參數”,我可以在其中過濾進出。我可以將其更改為幾天,也可以最多使用 20 天。

使用 DAX 顯示選定日期之前或之後的結果

當您了解這實際上是如何工作時,您會感到非常驚訝。這裡最難解決的事情是如何在沒有額外過濾器的情況下同時顯示在兩個日期選擇器中選擇的所有日期。 

發生的情況是,您通常會選擇一個日期來過濾報告頁面上的所有內容。但正如您所見,它實際上並不影響任何特定的可視化。

使用 DAX 顯示選定日期之前或之後的結果

您應該考慮的第一件事是日期列。您可能想在切片器中使用它。您真正想要做的是創建另一個只有日期列的表。 

讓我們跳回到這裡,看看通用日期表是什麼樣子的。 

使用 DAX 顯示選定日期之前或之後的結果

現在,我想創建另一個表,因為我不希望選擇對可視化產生直接影響。我只想提取日期選擇並將其放入公式中。所以,我創建了一個全新的表格,看起來像這樣,它只包含我在切片器中使用的日期。

請注意,我不想使用New Table函數創建此列或表。相反,我需要跳轉到查詢編輯器。

使用 DAX 顯示選定日期之前或之後的結果

我已經引用了日期表並刪除了所有其他列。這最終將對錶進行硬編碼,而不是從公式中導出。

使用 DAX 顯示選定日期之前或之後的結果

這稱為循環依賴。這意味著您可以在日期表和新表之間建立關係或一對多關係。這裡重要的是能夠過濾這個新表,這樣切片器仍然會過濾。 

日期背後的模型關係

這就是需要建立模型的方式。我創建了一個名為Selection Date的附加表。只是為了確保,它需要在Dates表之間建立關係。

使用 DAX 顯示選定日期之前或之後的結果

這些表之間存在關係的原因是因為我希望日期選擇器是動態的。它需要根據我在日期切片器中選擇的日期範圍進行擴展或收縮。 

這非常重要,因為很難在日期選擇器中列出所有日期。如果提到的表沒有關係,您肯定會發現很難在日期選擇器中向下滾動所有日期列表。

此外,當日期選擇器中的某些日期在日期切片器的上下文之外時,您可能會在可視化中發現空白數據。因此,日期選擇器只需要根據您在切片器中選擇的日期顯示特定日期。

計算選定日期的銷售額

您仍然可以通過多種方式應用我提到的技術,而不僅僅是約會。例如,您可以將其應用於任何查找表。一旦您理解了這項技術,您就可以在彼此之上利用內容層上下文來創建不同的可視化效果。當涉及到分析視角和視覺視角時,這是一個很好的額外知識。

現在,讓我們計算出一個公式,用於可視化按日期顯示所選日期的銷售額表。我要先把它變成表格, 這樣我們才能看到到底發生了什麼。

使用 DAX 顯示選定日期之前或之後的結果

如您所見,我有兩個計算。我有Total Sales 列,顯示每天的每一筆銷售。然後,Sales From Selected Date列顯示 

比如選擇的日期是2016年8月26日,想往回看三天。因此,我只想在可視化中顯示 8 月 26 日、8 月 25 日和 8 月 24 日。

使用 DAX 顯示選定日期之前或之後的結果

我也可以在這裡更改天數,例如,我將其延長為 4 天。結果,計算量也會發生變化。

這是這樣做的公式:

使用 DAX 顯示選定日期之前或之後的結果

無論背景如何,我都需要計算出選定的日期。那天我還需要在變量中進行硬編碼。最後,我用ALL(Dates)把它包起來,因為那是來自日期表的日期列。因此,對於這裡的每一天,它都會在“選擇日期”表中放置一個過濾器。 

由於我只想提取選定的日期,因此我需要將實際結果與所有日期一起包裝在 函數中,以便刪除上下文。

然後,我不得不運行一些邏輯。首先,它檢查當前日期是否大於所選日期和天數的差值。其次,它檢查當前日期是否小於或等於所選日期。然後,它將返回Total Sales的值,否則它應該為空。 

使用 DAX 顯示選定日期之前或之後的結果

如果我將它帶入可視化,這就是它的基本計算方式。因此,您可以更改Day Number參數中的值 或在日期選擇器中選擇任何特定日期。 

本教程的標題可能是Show results before OR after a selected date,但您也可以在此處應用實際應用程序。查看Total Sales by Date表。例如,您可以看到這種巨大的銷售高峰,這可能是由於銷售期或某些營銷活動造成的。

使用 DAX 顯示選定日期之前或之後的結果

您可以查看該特定事件特定天數的流量或效果。您可以在一張圖表上查看全部結果。例如,您想要查看 2016 年 4 月 20 日的銷售額。基本上,您需要從日期選擇器中選擇20/04/2016 。更改公式後,您可以看到四天而不是倒退日期。


在 LuckyTemplates 中顯示截至當前日期或特定日期的結果
如何在 LuckyTemplates 中使用多個日期 在 Power
BI 中非標準日期表的時間比較

結論

我認為您會驚訝於在 LuckyTemplates 報告中突出顯示的效果。

在報告頁面上複製列和應用不同的上下文是非常強大的技術。如果您可以將模型、DAX 公式或選擇中的所有這些結合在一起,您實際上可以創建非常酷的可視化效果。 

如果您想查看更多用於 LuckyTemplates 的時間智能技術,我建議您查看我們在 LuckyTemplates Online 上的課程模塊,它專門針對與時間相關的見解量身定制的一系列分析。

通過這個詳細的視頻享受工作。


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