在 LuckyTemplates 中使用 GROUPBY 函數的有效方法

在 LuckyTemplates 中使用 GROUPBY 函數的有效方法

在這個富有洞察力的教程中,我想重點介紹 LuckyTemplates 中的 GROUPBY 函數。我將演示您可以使用此 DAX 函數的不同方式。您可以在本博客底部觀看本教程的完整視頻。

老實說,我並沒有經常使用GROUPBY函數,主要是因為有幾種方法可以使用其他表函數在 LuckyTemplates 中解決問題。例如,我已經多次使用 SUMMARIZE 函數來實現我想要實現的目標。

使GROUPBY函數獨一無二的一件事是某種語法。

最重要的是,我想通過使用GROUPBY函數引入一個新的性能視角。這個 DAX 函數可以使您的公式更快,尤其是當您在使用其他表函數時遇到輕微的性能問題時。

目錄

使用 GROUPBY 函數創建表

函數嘗試對數據中的某些維度進行分組。它將根據數據模型中的元素創建一個表,無論是物理表還是虛擬表。

在我的模型中,我有SalesCustomersDatesUS Regions以及Products 的數據。

在 LuckyTemplates 中使用 GROUPBY 函數的有效方法

當我從所有這些不同的表中放置過濾器時,我可以對這些數據進行分組。例如,如果我想按州對每個產品得出一些獨特的見解,我將必須計算特定客戶每個州每個產品的最大銷售額。如果不在評級函數中進行某種聚合,就很難實現這種分析。這就是為什麼除了使用函數之外,我還要教您另一種創建聚合的方法

研究下面的公式。

在 LuckyTemplates 中使用 GROUPBY 函數的有效方法

首先,我需要引用一個表。在本例中,我引用了銷售表,因為我需要將它引用到兩個不同查找表中的任何其他維度。這就是為什麼我在公式中以及按州使用Products[Products Name]的原因。公式的這一部分將按產品和州級別合併數據。

在 LuckyTemplates 中使用 GROUPBY 函數的有效方法

這裡有趣的部分是我實際上無法在該部分內放置一個度量。我必須使用類似於我使用的迭代函數的語法。之後,看看我在公式中放置CURRENTGROUP函數的位置。

在 LuckyTemplates 中使用 GROUPBY 函數的有效方法

我需要在我設置的特定表中的每一行上運行一些迭代邏輯。從性能的角度來看,它遍歷分組與Sales表中的每一行。我很確定這就是它的工作原理。我可以在進一步測試後找到更多關於它的信息,但到目前為止,這就是它根據微軟的定義所做的一切。

我將向您展示另一個有趣的見解。如果我在公式中放入收入度量,它不會返回結果,實際上顯示為錯誤。這僅意味著我需要用非常具體的公式語法編寫它才能獲得新表。

在 LuckyTemplates 中使用 GROUPBY 函數的有效方法

最後,我可以把桌子做得更大,因為它不受限制。我什至可以添加不同的功能並使用類似的邏輯創建不同的列。

在變量中計算 GROUPBY 函數

我想回到Max Product Sales By State公式並向您展示另一種技術。

我可以將它放在一個變量中,而不是在計算器表中使用GROUPBY函數。這次,我將變量命名為ProductStates

在 LuckyTemplates 中使用 GROUPBY 函數的有效方法

使用這個公式,我想在同一個虛擬表中找到不同的客戶,併計算出各州的最大產品銷售額。因此,我要找出客戶對一個產品的最高銷售額,然後查看每個不同狀態的數據。

首先,我將進行聚合,這就是為什麼我將GROUPBY虛擬表放在函數中的原因。 

在 LuckyTemplates 中使用 GROUPBY 函數的有效方法

之後,我將通過虛擬表運行一些迭代函數,然後計算每一行的銷售額。該公式將只返回最大結果,因為我在 MAXX迭代函數中使用了聚合虛擬表。

看看當我在這裡選擇特定客戶時會發生什麼。 

在 LuckyTemplates 中使用 GROUPBY 函數的有效方法

正如報告中所反映的那樣,客戶在各州的最大產品銷售額約為 68,000 美元。您可以在下表的第一行中看到它。此外,客戶購買的不同產品名稱以及狀態在表中可見。僅此客戶的總銷售額約為 193, 000 美元。

對於其他客戶,該表每次都返回正確的結果。希望它能讓您很好地了解使用GROUPBY函數可以做的事情。


通過在 LuckyTemplates 中使用 RANKX 對客戶進行動態分組
使用 DAX 在 LuckyTemplates 中對數據
進行分段和分組 在 DAX 中使用迭代函數

結論

對於那些想要嘗試這個的人,我建議嘗試使用GROUPBY 函數的不同可能性。您可以使用它來創建某種聚合併查看會出現什麼。

這是一個很好的函數,但我個人還是更喜歡使用SUMMARIZE函數,因為我覺得它更容易。然而,這完全是我個人的意見。您可以隨時嘗試其他功能,並根據您的型號查看它是否適合您。

我當然希望您仍然對這個特定功能有所了解。不要忘記查看LuckyTemplates TV以獲得許多其他精彩內容。

敬上。

山姆


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