在 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中的此模塊–

Leave a Comment

在 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 用戶最初應該了解的主要主題之一。