LuckyTemplates 中的 DAX 函數:使用迭代器

LuckyTemplates 中的 DAX 函數:使用迭代器

在 LuckyTemplates 或迭代器中迭代 DAX 函數是學習和理解的關鍵概念。我製作了幾個關於如何以及何時在 DAX 公式中使用這些函數的教程。中看到了一些對這些功能的混淆 ,所以我認為討論 LuckyTemplates 成員遇到的一些問題並向您展示解決方案是個好主意。 

隨著您了解更多並深入 DAX 公式,您會發現自己使用迭代函數的頻率比您想像的要高。 它們比簡單的聚合函數(如 SUM 或 AVERAGE)更通用,我在第一篇 中展示了這一點。 

目錄

使用 AVERAGEX 而不是 SUM 

在此論壇帖子中,該成員試圖根據個人的觀察結果總結安全統計數據,並記錄了日期。觀察者可以在同一天輸入一個觀察值,也可以每天輸入多個觀察值。他想確定一段時間內的平均值,這些是他創建的計算: 

LuckyTemplates 中的 DAX 函數:使用迭代器

對於此類分析,解決方案非常簡單。我建議他使用AVERAGEX而不是他所做的邏輯。我向他推薦了我的一些關於迭代函數的教程,尤其是關於 AVERGEX 的教程。

我還給他分享瞭如何計算平均值總數的教程。這裡要學習的重要事情是知道 想用你的迭代函數迭代什麼。您需要了解AVERAGEX 函數的工作原理

將 SUMX 與 IF 函數一起使用

另一個示例場景顯示迭代函數是使用的關鍵,是這個。根據特定的實習生標準,該成員有一個包含 0 和 1 的列。如果它是 0,他需要從 X 列檢索一個數量,如果它是 1,他需要從 Y 列檢索一個數量。他在 LuckyTemplates 中創建逐行驗證上下文時遇到了困難。這是他正在處理的數據:

LuckyTemplates 中的 DAX 函數:使用迭代器

這是他在 Excel 中的計算:

IF(CellA1=1 ; 真 ; 假)

在這種情況下,他做的這個Excel邏輯可以而且應該在LuckyTemplates中的一個度量中完成。這就是迭代函數發揮作用的地方。這是我給他的示例公式:

LuckyTemplates 中的 DAX 函數:使用迭代器

在這裡,我將SUMXIF函數一起使用,但您也可以以類似的方式將FILTERCALCULATE一起使用。另一個關於如何以及何時使用 SUMX 和 IF 函數的例子是這個,其中成員試圖為今年剩餘時間創建一個組合計劃/實際預測。這就是他在 Excel 中的做法:

LuckyTemplates 中的 DAX 函數:使用迭代器

他擔心的是年度總數不正確。他做的公式假設 ExFactory 有一個年值,取那個值而不是每個月計算,然後總結所有月度結果。

我查看了他在LuckyTemplates中製作的數據,發現問題不僅出在公式上,還在於該成員使用計算列而不是度量進行計算。正如我在使用 DAX 時經常提到的那樣,我的建議是讓他從最簡單的措施開始,例如這個:

LuckyTemplates 中的 DAX 函數:使用迭代器

由此,他可以使用迭代函數,以便他可以遍歷每一行並運行一些邏輯。

LuckyTemplates 中的 DAX 函數:使用迭代器

LuckyTemplates 中的 DAX 函數:使用迭代器

迭代函數允許您遍歷表,無論是虛擬表還是物理表,並在每一行運行邏輯。

當每一行都完成邏輯時,最終的計算就完成了。了解這一點後,您會發現將迭代函數合併到您的計算中很容易。

另一個需要注意的關鍵點是讓 事情保持簡單不僅是計算,還有模型。這將使您更容易使用迭代函數從分析中獲得所需的結果。查看我的了解有關正確有效地組織模型的更多信息。

迭代函數和模型結構

我在論壇中遇到過許多主要由模型過於復雜引起的問題。這是一個,其中可以通過使用迭代函數輕鬆解決問題,但首先設置的模型不正確。

該成員希望建立對激活帳戶的控制,但沒有銷售、計算帳戶以及能夠識別客戶姓名。

LuckyTemplates 中的 DAX 函數:使用迭代器

在這種情況下,它應該只是 CALCULATE 和 FILTER 函數的組合,或者使用迭代函數,例如 SUMX、COUNTX和 AVERAGEX。了解迭代函數可以幫助您在行級別解決此類問題。但是,當我查看模型時,整體設置確實讓我很擔心。

LuckyTemplates 中的 DAX 函數:使用迭代器

有些關係看起來不對,查找表不是必需的。該成員必須首先重新組織模型才能使正確的公式起作用。


在 DAX 中使用迭代函數在 DAX 語言中使用迭代函數 -在 LuckyTemplates 中使用迭代函數 SUMX 和 AVERAGEX 的
詳細示例

結論

我在這篇文章中突出顯示的示例是 LuckyTemplates 論壇中成員提出的問題。這些是在 LuckyTemplates 中使用 DAX 函數時的常見場景,其中由於使用的函數不正確而導致計算結果錯誤。公式應具有以正確方式使用的迭代函數。

此外,當模型中存在不起作用的關係時,數據模型也會導致計算問題。當模型過於復雜且設置不當時,通常會發生這種情況。解決此問題後,您可以使用正確的 DAX 組合處理您的公式。

正如我一直建議的那樣,很好地理解 LuckyTemplates 中 DAX 函數的概念非常重要,尤其是迭代器。我希望您可以從這篇文章中學習並在您自己的 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 網關?所有你必須知道的