在 LuckyTemplates 中使用 DAX 度量修復不正確的總數

在 LuckyTemplates 中使用 DAX 度量修復不正確的總數

在使用DAX度量時,在 LuckyTemplates 報告中獲取正確的總數有時是最令人沮喪的事情。您可能會遇到某些情況,您的DAX 度量總計未按您希望的方式累加。 您可以在本博客底部觀看本教程的完整視頻。

DAX 度量可以基於標準聚合函數,例如COUNTSUM。這些DAX公式使您能夠執行數據建模、數據分析,並將結果用於報告和決策制定。

在此博客中,我們將討論有關DAX 度量的總邏輯。這個問題是在中提出的。如果您想查看問題並查看論壇中的確切場景,只需單擊下面提供的鏈接即可。

在 LuckyTemplates 中使用 DAX 度量修復不正確的總數

我將向您展示用於解決該場景的技術。

當然,您可以將此技術應用於各種場景,尤其是在創建一些非常複雜的DAX邏輯或分支出多個度量時。這也將幫助您解決可能計算不正確的總數

目錄

示例問題場景

這是一個與論壇中討論的場景有某種關聯的通用示例。

現在,我們正在查看此表中的銷售結果。此外,我將它與另一個結果進行比較,即Sales Last Year

在 LuckyTemplates 中使用 DAX 度量修復不正確的總數

在此示例中,我們試圖根據所選的上下文找出每個客戶的最小結果。它可以是任何度量,例如MIN Total SalesTotal Sales Last Year(在這種情況下,我們將使用通用的)。

很可能,您會認為下圖中的公式將為我們提供適當的結果。

在 LuckyTemplates 中使用 DAX 度量修復不正確的總數

那麼,讓我們將Minimum Testing 度 量值拖到表中並檢查結果。

在 LuckyTemplates 中使用 DAX 度量修復不正確的總數

查看結果,我們可以說每一行的計算都是準確的。

在 LuckyTemplates 中使用 DAX 度量修復不正確的總數

但是,它計算的總數不正確。

在 LuckyTemplates 中使用 DAX 度量修復不正確的總數

它僅使用MIN函數為Total SalesSales LY度量中的每一行計算最小總數,只要每次計算都沒有上下文。

此外,它沒有以獨特的方式計算特定的最小值,也沒有通過我們所處的任何上下文獲得所有這些獨特的最小值的總和。

分析示例場景的正確結果

現在,讓我向您展示前一個場景的適當結果。

您會從圖像中看到它顯示了一個非常不同的結果,因為它顯然比所有其他總數少得多。

在 LuckyTemplates 中使用 DAX 度量修復不正確的總數

這更有意義,因為我們主要是計算該表中每一行的最小值。所以,這意味著result 的價值會小得多

在 LuckyTemplates 中使用 DAX 度量修復不正確的總數

我們在這裡需要了解的主要邏輯是使用虛擬表評估每個結果。

遍歷虛擬表允許您確保您實現的邏輯是在正確的上下文中遍歷總數,而不是通過在報表頁面上進行的選擇可能出現的任何自然上下文

如果您可以開始了解如何將虛擬表合併到DAX函數中,您將很快看到進一步擴展分析的機會。

在 DAX 度量中創建虛擬表

現在,要解決當前的情況,我們需要做的第一件事是在SUMMARIZE函數的幫助下為每個客戶創建一個虛擬表

SUMMARIZE函數返回一組組的請求總計的匯總表。

在 LuckyTemplates 中使用 DAX 度量修復不正確的總數

然後,在我們要遍歷的特定虛擬表中,將虛擬生成下圖中突出顯示的列。

在 LuckyTemplates 中使用 DAX 度量修復不正確的總數

匯總虛擬表中每一行的MIN

當我們進入評估階段時,我們將使用一個名為SUMX的迭代函數。此函數返回為表中的每一行計算的表達式的總和。

在我們的例子中,SUMX函數將對我們創建的虛擬表的每一行的MIN結果求和。

在 LuckyTemplates 中使用 DAX 度量修復不正確的總數

這就是我們得到正確結果的方式。

在 LuckyTemplates 中使用 DAX 度量修復不正確的總數

另一個很酷的事情是虛擬表也適用於每一行。這意味著該表將只有一行長。

這是因為此篩選器實際上只會應用到公式中,並且SUMMARIZE函數中的客戶 ID只會與我們所在的客戶上下文相關。

在 LuckyTemplates 中使用 DAX 度量修復不正確的總數

這就是解決此特定情況的簡單方法。

結論

總而言之,了解合計計算方式的關鍵是深入了解 LuckyTemplates 中上下文的工作原理。

這種技術絕對有用,因為在很多情況下,總和不會達到您的想法或應有的水平。例如,您可能實際上得到了總數,但您不知道它實際上計算不正確。

要使此技術正常工作,您需要做的主要事情是了解虛擬表方法。您需要將這些虛擬表有效地集成到您的DAX度量中,以確保它們獲得所需的結果。

這不僅可以幫助你解決當前正在處理的問題,還可以幫助你解決未來在 LuckyTemplates 模型中運行計算時可能遇到的其他總體問題。

在您自己的環境中,有很多東西可以應用和實施。這就是將這些概念牢記在心至關重要的原因。

有關可在 LuckyTemplates 中使用的更高級 DAX 技術,請查看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 網關?所有你必須知道的