CALCULATE 的新面貌 – LuckyTemplates

CALCULATE 的新面貌 – LuckyTemplates

在本教程中,我們將了解如何在 LuckyTemplates 中使用 DAX 函數您可以在本博客底部觀看本教程的完整視頻。

CALCULATE是最動態的函數之一,可以幫助您為報告添加更深入的見解。但要真正理解它,還必須很好地掌握行和過濾器上下文。

目錄

使用的示例數據

出於本教程的目的,讓我們使用一個簡單的數據集來顯示Products、QuantityUnit Price

CALCULATE 的新面貌 – LuckyTemplates

我們還有一個僅包含Products 的維度表。

CALCULATE 的新面貌 – LuckyTemplates

如果我們查看模型,我們可以看到出現在維度表中的產品通過多對一關係鏈接到事實表。

CALCULATE 的新面貌 – LuckyTemplates

通過在 LuckyTemplates 中計算的行上下文

行上下文是您必須了解的主要概念之一,才能真正理解CALCULATE的全部內容。為了幫助更清楚地說明這一點,讓我們首先看看我們的數據集在 Excel 中的樣子。

CALCULATE 的新面貌 – LuckyTemplates

基本上,行上下文定義每一行發生了什麼。例如,如果我們要獲得產品 A 的銷售額,我們只需放置一個等號,然後將數量和單價下的值相乘。

CALCULATE 的新面貌 – LuckyTemplates

如果我們逐行應用相同的邏輯,我們將獲得每行的銷售額,從而得出總銷售額

CALCULATE 的新面貌 – LuckyTemplates

現在,讓我們切換到 LuckyTemplates。

請記住,相同的計算是逐行迭代的。LuckyTemplates 中有許多迭代函數,其中大多數以 X 結尾。例如,的迭代函數為

CALCULATE 的新面貌 – LuckyTemplates

如您所見,SUMX需要引用一個表,因此我們將在存儲數據的地方使用FactTable 。

CALCULATE 的新面貌 – LuckyTemplates

然後,我們將從FactTable中乘以所需的列,即QuantityUnit Price

CALCULATE 的新面貌 – LuckyTemplates

當我按下回車鍵時,它會給我們Sales

CALCULATE 的新面貌 – LuckyTemplates

通過在 LuckyTemplates 中計算來過濾上下文

我們要看的第二件事是我們的過濾器上下文,這是CALCULATE的另一個關鍵組件。

使用 CALCULATE 意味著修改應用於表達式的過濾器上下文。所以首先,我們將看看如何修改過濾器上下文。這只是意味著更改報告中的過濾器。

將其應用於 Excel 報告時,只需單擊列名旁邊的下拉箭頭並選擇要應用的過濾器即可。

例如,如果我只需要產品 A 的數據,我只需在此過濾器上勾選 A。

CALCULATE 的新面貌 – LuckyTemplates

單擊“確定”後,報告將僅顯示產品 A 的銷售額。

CALCULATE 的新面貌 – LuckyTemplates

這是該過程的第二部分,即將過濾器應用於表達式。在這種情況下,表達式是Sales

回到 LuckyTemplates,我們需要使用CALCULATE來做同樣的事情。讓我們首先為Sales Product A創建一個新度量。

CALCULATE 的新面貌 – LuckyTemplates

然後,我們將使用CALCULATE並應用表達式,即Sales

CALCULATE 的新面貌 – LuckyTemplates

接下來,我們將通過引用我們的FactTable來修改過濾器上下文。

CALCULATE 的新面貌 – LuckyTemplates

然後,我們必須從Products列中指定,我們只需要與產品 A 相關的銷售額

CALCULATE 的新面貌 – LuckyTemplates

現在,我們有產品 A 的銷售額,即 6,520——這與我們從 Excel 表格中得到的結果相同。

CALCULATE 的新面貌 – LuckyTemplates

使用 SUMX 應用過濾器上下文

雖然我們這裡的主要焦點是CALCULATE,但同樣重要的是要知道這也可以使用其他函數來完成。例如,我們所做的篩選就像使用 Excel 函數SUMif一樣。但是在 LuckyTemplates 上執行時,我們可以使用SUMX

為此,讓我們創建另一個名為 Sales Product A v2 的度量。

CALCULATE 的新面貌 – LuckyTemplates

我們想逐行查找有關產品 A 的任何詳細信息,因此我們將應用SUMX。通常,我們的第一直覺是引用我們的FactTable,因為那是我們數據的來源。

CALCULATE 的新面貌 – LuckyTemplates

但如果我們這樣做,我們將無法再應用任何過濾器。因此,我們需要優先使用函數,而不是先引用表。FILTER 是另一個迭代器,它允許我們逐行查看數據。

CALCULATE 的新面貌 – LuckyTemplates

一旦我們有了FILTER函數,那是我們唯一一次引用FactTable。然後,我們將指定要使用的過濾器,因此我們將引用與產品 A 相關的產品列中的項目。

CALCULATE 的新面貌 – LuckyTemplates

接下來,我們指定表達式,即 Sales。

CALCULATE 的新面貌 – LuckyTemplates

如果我們將此度量引入我們的結果,您會看到它顯示與我們之前創建的度量相同的總計。

CALCULATE 的新面貌 – LuckyTemplates

現在,您可能會問,如果我們可以使用其他函數,為什麼還需要CALCULATE 。事實上,CALCULATE 的用途比我們目前討論的要多得多。

LuckyTemplates 中 CALCULATE 的其他用途

為了向您展示使用CALCULATE的其他方法,讓我們向數據集添加另一列以表示銷售額百分比。在 Excel 上,這意味著將 Sales 除以 Total Sales

CALCULATE 的新面貌 – LuckyTemplates

我還必須鎖定 Total Sales 的單元格,以便將相同的數字應用於列中的其餘單元格。

一旦我按下 Enter,我們就會看到加起來為 100% 的百分比。

CALCULATE 的新面貌 – LuckyTemplates

如果我更改過濾器並只獲取產品 A 的數據,您會看到銷售百分比列仍然保留相同的百分比。

CALCULATE 的新面貌 – LuckyTemplates

當您切換到 LuckyTemplates 時,您可以通過使用CALCULATE來執行類似的操作。

讓我們在我們的關鍵措施下創建一個新措施。我們首先從所有銷售額開始,這相當於我們 Excel 報告中的總銷售額。我們將為此使用CALCULATE 。

CALCULATE 的新面貌 – LuckyTemplates

然後,我們將使用Sales作為表達式。

CALCULATE 的新面貌 – LuckyTemplates

回顧我們的 Excel 表格,請記住我們必須鎖定包含總銷售額的單元格以確保儘管進行了過濾,但我們仍將在整個列中使用相同的總計。在我們的 LuckyTemplates 報告中,我們將使用來做到這一點。

CALCULATE 的新面貌 – LuckyTemplates

單擊“輸入”後,我們會引入所有產品的所有銷售額。

CALCULATE 的新面貌 – LuckyTemplates

這使得我們更容易獲得銷售額百分比。因此,讓我們為此創建另一個度量。

CALCULATE 的新面貌 – LuckyTemplates

然後,我們將使用,再次將我們的銷售額除以所有銷售額,就像我們在 Excel 中所做的那樣。

CALCULATE 的新面貌 – LuckyTemplates

一旦我們按下回車鍵,我們就會得到銷售額百分比,總計為 100%。

CALCULATE 的新面貌 – LuckyTemplates

結論

這些只是 CALCULATE 函數的眾多用途中的一部分。事實上,它也可以用於時間智能計算。

您可以瀏覽我們展示這些其他用途的其他教程。如果我們希望我們的報告顯示盡可能多的洞察力,它基本上是我們不能沒有的功能之一。

一切順利,

穆達西爾



LuckyTemplates CALCULATE:使用 LuckyTemplates 內部計算函數的高級 DAX 公式的關鍵
使用 DAX 在 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 網關?所有你必須知道的