DAX LuckyTemplates:什麼是行上下文

DAX LuckyTemplates:什麼是行上下文

在此博客中,我們將深入探討DAX LuckyTemplates 中的行上下文。另一種叫法是迭代計算引擎,不過從更技術的角度來說,叫行上下文。您可以在本博客底部觀看本教程的完整視頻。

目錄

DAX LuckyTemplates:行上下文和 SUMX

進入行上下文的方法是在 LuckyTemplates 中使用迭代函數,例如。SUMX 返回為表中的每一行計算的表達式的總和。

SUMX的第二個參數是表達式,它代表與我們指定的表一起工作的任何邏輯。

DAX LuckyTemplates:什麼是行上下文

按照這個例子,還記得我們是如何生成這個度量的嗎?

首先發生的是應用評估上下文。之後,我們在每個單獨的結果之後跳入幕後的銷售表。

之後,我們在該表的每一行中運行一些邏輯並將它們保存在內存中。然後,根據內存中的那些結果,我們最終匯總所有內容以得到Total Sales列中的結果。

DAX LuckyTemplates:什麼是行上下文

總之,首先完成評估上下文,然後通過行上下文評估每一行,因為SUMX是一個迭代函數

考慮到這一點,您實際上可以在表達方面取得真正的進步。

您可以編寫IF 語句SWITCH 語句,或者可以在迭代函數(如SUMX)中的單行中完成的任何類型的邏輯。

DAX LuckyTemplates:什麼是行上下文

SUMX不是我們可以使用的唯一迭代函數。還有像這樣的函數,它們的計算也是在行上下文中完成的。

迭代引擎過濾器上下文更全面,因為它會在所有過濾器就位後查看列中剩餘的所有內容。

總數量的行上下文

您可以在此處看到我們有總數量度量,它採用數量列的總和

DAX LuckyTemplates:什麼是行上下文

我們實際上可以使用row context而不是filter context來計算相同的結果。

為此,我們可以創建一個名為Total Quantity (Iteration)的新度量,使用SUMX,然後在引用Quantity 列的同時放入Sales 表

DAX LuckyTemplates:什麼是行上下文

在那之後,我們現在可以引入我們的新措施進行比較。我們只是為這兩種措施計算出完全相同的結果。

然而,結果是在 LuckyTemplates 中使用兩種不同的計算引擎計算出來的——左邊的一個使用過濾器上下文,另一個使用行上下文

DAX LuckyTemplates:什麼是行上下文

雖然在使用更簡單的模型時沒有太大區別,但更多的計算發生在迭代函數中。

如果您要處理更大的數據集和模型,最好使用函數而不是SUMX。前面的例子只是為了比較,所以沒有必要過度計算。

但是,為了計算諸如Total Sales之類的東西,有必要使用迭代函數,因為我們無法根據現有數據使用SUM來計算它。

這些是你應該考慮的事情。希望您對這些計算的幕後發生的事情更加清楚。

DAX LuckyTemplates:迭代函數與聚合函數

根據個人經驗,當我使用Microsoft Excel時,我在運行計算時從未真正需要考慮計算引擎發生了什麼。

但在 LuckyTemplates 中,您需要考慮何時最好使用迭代函數聚合函數。當您使用更高級的公式並將它們組合在一起時,這會變得更加複雜。

考慮到這一點,在繼續處理更複雜的事情(如累計總計或移動平均數)之前,很好地掌握這些概念很重要。


使用高級 DAX 函數優化您的 LuckyTemplates 公式 Power
BI 中 SUM 與 SUMX 的區別 LuckyTemplates
中使用迭代函數 SUMX 和 AVERAGEX

結論

LuckyTemplates 之所以令人驚嘆,是因為它能夠進行所有高質量的分析,而這一切都始於對行上下文的良好理解。

即使使用更高級的東西,您也應該考慮特定結果的上下文以了解正在計算的內容。

這就是我想介紹的有關 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 網關?所有你必須知道的