防止預測年初至今的結果

防止預測年初至今的結果

今天,我將討論有關年初至今 (YTD)計算的特定問題的解決方案。這實際上源於中的一個問題。如果您想查看它,我會在下面留下論壇討論的鏈接。您可以在本博客底部觀看本教程的完整視頻。

防止預測年初至今的結果

您可以在此處查看此論壇帖子

Year to Date (YTD)是指從當年年初到年末前指定日期的期間。這基本上是基於從日曆年甚至財政年度開始到指定日期的天數。它通常用於財務報告目的。

在這種情況下,我們希望評估YTD 銷售額,但我們不想評估可能發生的最後一次銷售以外的任何事情。我們只想顯示截至上次銷售的累計 YTD 總數

這是 LuckyTemplates 中的一個獨特場景,你很可能需要以某種方式、形狀或形式來解決。

讓我們試著看看主要問題。

目錄

當前年初至今計算的主要問題

正如您在我們的示例Total Sales中看到的,它為實際上沒有結果的結果返回空白。這就是它在 2018 年只顯示幾天的原因。您還會在這裡看到我們只顯示到1 月 6 日

防止預測年初至今的結果

現在,讓我們嘗試對Sales進行簡單的Year To Date計算。單擊建模選項卡下的新建度量,我們將度量命名為YTD Sales。

防止預測年初至今的結果

讓我們使用TOTALYTD函數。這將在應用指定過濾器(在本例中為 Dates )後,在從一年的第一天開始到指定日期列中的最後一個日期結束的時間間隔內評估指定的表達式(在本例中為Total Sales) .

防止預測年初至今的結果

這絕對是一個非常簡單和有用的功能。但是,當您這樣實施時,它會帶來一定的問題。

如您所見,它會連續預測該年的每個日期的累計總計。這最終導致了扁平化的數字。

防止預測年初至今的結果

現在,如果我想把它做成可視化,你會看到這裡什麼都沒有,它只是一個無意義的可視化。

防止預測年初至今的結果

為了做得更好,我們需要清空每一個超過我們上次銷售的結果。

所以銷售顯然要更新。但是,有時您可能出於某些原因不想根據上次銷售來計算它。

這可能是因為您沒有進行任何銷售,或者您可能已經度過了公共假期,或者類似的其他原因。在這種情況下,您可能希望轉到上次購買日期而不是看到那個扁平化的數字。  

創建銷售年初至今度量

這是您可以用來解決特定問題的技術。

首先,我們必須為最後一個銷售日期創建一個公式,並將此度量命名為Sales YTD

防止預測年初至今的結果

現在,讓我們創建一個變量並將其命名為LastSalesDate

防止預測年初至今的結果

然後,我們將使用MAXX 函數MAXX是查找非常具體的事物的好方法,尤其是在日期附近。這將返回為表的每一行計算表達式所產生的最大數值。

防止預測年初至今的結果

之後,我們將使用ALL函數遍歷每個購買日期

防止預測年初至今的結果

然後,我們將評估實際的最後購買日期

防止預測年初至今的結果

現在,如果我們不使用它,那麼最後購買日期實際上就是這些日子中每一天的那一天。

防止預測年初至今的結果

所以你必須在這裡使用ALL 函數的主要原因是因為它總是會找到 1 月 6 日(最後購買日期),而這正是我們想要的。我們希望這是固定的 1 月 6 日

防止預測年初至今的結果

然後讓我們在這裡創建一個變量並將其命名為YTDSales

防止預測年初至今的結果

因此,我們將編寫與之前編寫的年初至今銷售額完全相同的公式。讓我們使用TOTALYTD查看總銷售額和日期

防止預測年初至今的結果

然後我們將使用RETURN關鍵字來處理前面VAR語句中定義的變量。

防止預測年初至今的結果

使用 IF 邏輯計算年初至今的銷售額

在這裡,我們將編寫一個IF邏輯來評估MIN DATE是否小於或等於 LastSalesDate。因此,在此特定情況下,該日期小於或等於1 月 6 日

防止預測年初至今的結果

如果結果為真,則返回YTDSales

防止預測年初至今的結果

 如果語句為假,它應該返回一個空值

防止預測年初至今的結果

這就是我們將如何基本上過濾掉或不顯示過去有實際銷售的最後一天的任何結果。

總而言之,我們所要做的就是以某種方式將 LastSalesDate 集成IF 語句中。

現在,如果我真的將此度量值帶入此處的Sales表,您會看到結果實際上在最後一次購買日期之後被截斷,並按照我們想要的方式顯示這些空白值。

防止預測年初至今的結果

如果我們在中間沒有YTD Sales度量的情況下查看它,我們將有一個更截斷的表格,如下圖所示。

防止預測年初至今的結果

而且,如果我們將其轉化為可視化,我們會將其保存到當前的最後購買日期,或者在某些情況下,您可以將其保存到最後日期

防止預測年初至今的結果

結論

希望您對如何解決此類問題有所了解。請記住,您需要以某種方式創建一些在表格中顯示空白的邏輯,因為空白不會顯示在可視化中

如果您沒有在正確的時間在您的度量中實施此技術,您的可視化可能看起來有點奇怪。

您還可以在非常相似的情況下應用此技術,在這些情況下,您希望顯示累計總計,例如 YTD、QTD 或 MTD 到當前日期。

如果您希望了解有關可在您自己的模型中使用的其他獨特 LuckyTemplates 主題和技術的更多信息,請不要忘記查看

***** Learning LuckyTemplates?*****







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