LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

當您開始使用 LuckyTemplates 時,和 DAX 函數之間的區別可能會比較混亂。在本教程中,我將快速介紹這兩個常用 DAX 函數之間的主要區別以及它們在 LuckyTemplates 報表中的各自用法您可以在本博客底部觀看本教程的完整視頻。

讓我們來看看這個例子。我將使用它來討論ALLALLSELECTED DAX 函數之間的主要區別  。

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

目錄

分析最高銷售月份的可視化

在這個例子中,我將確定任何特定月份的最高銷售額。同時,我想直觀地展示這張圖表中的最高銷售額。正如您在這裡看到的,我已經設置了顯示每個月收入的圖表。它還顯示圖表線,指示每個唯一月份中的最高值。

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

在此可視化中,我通過使用ALLALLSELECTED DAX 函數獲得了結果。 

正如我所說,這兩個功能之間存在重大差異。無論日期過濾器的上下文如何,ALL函數都會從時間開始識別最高月份。 

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

另一方面,ALLSELECTED函數將考慮報表頁面上的日期上下文

最高銷售月份度量公式

對於本教程,我將使用我創建的最高銷售月度量作為示例。

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

該公式用於計算每月最高銷售額。現在,我將把它作為卡片添加到我們的報告中。

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

如您所見,即使沒有應用任何上下文,它也會根據示例表計算最高銷售月份。此外,如果您仔細查看表中的數據,您會注意到卡片視覺效果中顯示的值來自2016一月

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

現在讓我們將Highest Sale Month度量引入示例表。

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

函數中發生了一定的迭代。請記住,使用此函數時,重複的值會被刪除,只返回唯一值在這種情況下,最高銷售月份列的每一行都被評估為月份和年份列中的每個月。 

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

這意味著它只對每一行迭代一個特定的月份。這與最高銷售月份卡片視覺效果的公式形成對比。

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

本質上, “最高銷售月份”卡片視覺效果的公式在指定上下文中遍歷所有月份

但是,我在這裡的目的是顯示一個月的最高銷售額,結果一直顯示到最高銷售額月份列的最後一行。在這種情況下,我將創建一個可以在其中使用ALL函數的度量。

在 DAX 中使用 ALL 函數

讓我們看一下我創建的Highest Sale Month ALL度量。

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

對於這個特定的度量,我使用了ALL DAX 函數。

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

這是使用ALL函數的常用方法。大多數時候,您必須將它與或函數結合使用。有時您需要將它放在過濾器中,例如 函數。

如您所見,這部分公式與前面討論的最高銷售月份度量完全相同。

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

另一方面,我想在不同的上下文中計算它。因此,我將使用CALCULATE函數更改計算的上下文。

如您所見, Highest Sale Month ALL列的結果與Highest Sale Month卡片視覺對像中顯示的結果不同。

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

我創建了另一張卡片,它將顯示Highest Sale Month ALL度量的結果。這只是為了清楚地顯示兩個結果之間的差異。

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

Highest Sale Month ALL度量中的結果是不同的,因為它沒有考慮我在Date過濾器中選擇的上下文。它實際上是在查看每個月的時間。

在這種情況下,如果我延長日期過濾器中的時間範圍,您會看到兩個結果是相同的。

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

但是如果我設置一個較短的時間範圍,這個特定日期選擇中的最高金額將變得不同。這是因為ALL函數刪除了所有日期的過濾器

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

在 DAX 中使用 ALLSELECTED 函數

根據前面討論的示例,我需要使用ALLSELECTED DAX 函數。這是為了刪除專門針對我在報告頁面中選擇的當前上下文中的日期的過濾器。

LuckyTemplates 中 ALL 和 ALLSELECTED DAX 函數的區別

ALLSELECTED函數刪除任何篩選器,就像ALL函數所做那樣。唯一的區別是它仍然考慮報告頁面中的總體上下文。

您很可能已經看到ALLSELECTED函數在累積總模式計算中的工作原理。這在某種程度上與此類似,因為在計算累計總數時,報告頁面中還有一個日期選擇。

您不會真正關心從時間開始計算累計總數。在大多數情況下,您只想查看基於您在日期過濾器中選擇的上下文的結果。然後,您希望它是一個動態計算,每次您在日期過濾器中進行選擇時都會更新。 


LuckyTemplates 中的 ALL 函數——如何將其與 DAX 一起使用
深入探討 ALLSELECTED DAX 函數在 LuckyTemplates 中的使用
方式

結論

總而言之,ALL函數計算列中的所有值,而不考慮應用的上下文過濾器。ALLSELECTED函數也返回列中的所有值,但它從當前查詢的列和行中刪除上下文過濾器,同時保留來自外部的過濾器

現在,這就是您需要了解的這兩個 DAX 函數之間的主要區別。

這是一個微妙的區別,但它可以對您在特定上下文中獲得的計算產生很大的影響。 

徹底了解導致這些差異的原因非常重要,尤其是當您從ALL函數轉到ALLSELECTED函數時。

一切順利,

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