了解 LuckyTemplates 中的評估上下文

理解 DAX 最重要的概念是上下文。上下文主要分為三種類型:求值上下文、過濾上下文和行上下文您可以在本博客底部觀看本教程的完整視頻。

當 DAX 在 LuckyTemplates 中計算某些內容時,它通過兩步過程進行工作。首先,它會評估它當前所在的上下文。完成後,它會決定我將如何計算這些結果,這就是其他兩個上下文發揮作用的地方。

在這篇特定的文章中,我們將重點關注評估上下文。我將在這里通過一個簡單的例子來解釋它的實際含義。

目錄

通過示例了解評估上下文

我們這裡有一個簡單的表格,用於衡量我們每天銷售的數量或數量。

了解 LuckyTemplates 中的評估上下文

讓我們快速評估這個公式在做什麼。它匯總了 Sales 表中的 Quantity 列。

了解 LuckyTemplates 中的評估上下文

當我們轉到 Sales 表時,我們會看到該度量將所有行的 Quantity 列計數為 1。

了解 LuckyTemplates 中的評估上下文

為了在 Total Quantity Sold 列中獲得結果,我們使用的公式完全相同。這些結果中的任何一個都沒有改變。最初唯一改變的是評估上下文

對於每一行,我們都有不同的評估上下文。正因為如此,我們對每一行都會收到不同的結果。

了解 LuckyTemplates 中的評估上下文

什麼是濾波器傳播?

現在,在幕後發生的事情是,對於這裡的每一行,都在數據上放置了一個過濾器。

讓我們回到我們模型的數據表。在評估上下文中,日期列來自日期表。因此,此處的日期列中放置了一個過濾器。

了解 LuckyTemplates 中的評估上下文

當我們放置這個過濾器時,它會向下流動到這個與 Sales 表的關係,並自動過濾該表。這就是您所說的過濾器傳播。

任何從一側流向迷你側的過濾器都將過濾該表。

因此,在此特定示例中,上下文從 Dates 表開始,然後自動向下流向 Sales 表。這就是為什麼我們對每一行都會得到不同的結果。

了解 LuckyTemplates 中的評估上下文

每當您審核或評估公式的作用時,您每次都需要考慮評估上下文。

這是因為一切總是從求值上下文開始。當您開始開發越來越高級的 DAX 公式時,這一點很重要。

編寫高級公式時的評估上下文

評估上下文的另一個好處是它是DAX公式背後的真正力量。

它使您能夠通過編寫簡單的公式快速獲得如此多的結果。

編寫高級公式也可以這樣說。您可以使用高級公式,將其置於不同的評估環境中,並很快獲得大量不同的結果。

所以我們只是在這裡做了一個小改動,將 Product Name 添加到我們的第一個表中。DAX 公式根本沒有改變,但評估上下文發生了變化。這就是為什麼我們在這裡有不同的結果。

了解 LuckyTemplates 中的評估上下文

同樣的過程也適用於此示例,其中這些結果的評估上下文從 Products 表開始並通過 Product Name 列。

了解 LuckyTemplates 中的評估上下文

此過程將過濾每一行。因此,無論使用什麼特定的 Product Name,它都會通過關係一直向下過濾,然後也過濾基礎的 Sales 表。

了解 LuckyTemplates 中的評估上下文

什麼是上下文轉換及其重要性?
DAX 計算引擎如何工作
LuckyTemplates 中的所有功能 – 如何將其與 DAX 一起使用

結論

這只是對什麼是評估上下文的簡要概述。您在LuckyTemplates中所要做的就是更改上下文,您將獲得截然不同的結果。

了解其運作方式非常重要,因為在您的腦海中,您必須考慮公式的當前評估上下文是什麼。

這將使您理解為什麼在特定情況下會獲得特定結果。

為您推薦的一些鏈接,以便您可以詳細了解 LuckyTemplates 中三種上下文的應用:

解釋行上下文 - (1.10) DAX 終極初學者指南

Filter Context – (1.9) DAX 終極初學者指南

享受通過這個工作。

Leave a Comment

在 Power Automate 中執行直到循環控制

在 Power Automate 中執行直到循環控制

了解有關 Do Until 循環控制如何在 Power Automate 流中工作的基礎過程,並熟悉所需的變量。

使用 Deneb 為 LuckyTemplates 製作自定義視覺對象

使用 Deneb 為 LuckyTemplates 製作自定義視覺對象

受限於 LuckyTemplates 中提供的標準視覺效果?學習使用 Deneb 和 Vega-Lite 為 LuckyTemplates 創建自定義視覺對象,提升您的數據可視化能力。

在 Power Automate Desktop 中將日期添加到文件名

在 Power Automate Desktop 中將日期添加到文件名

在此博客中,您將了解如何使用 Power Automate Desktop 自動將日期添加到文件名的開頭或結尾。

Power Query:如何快速添加註釋

Power Query:如何快速添加註釋

找出幾種不同的方法在 Power Query 中添加註釋,這對於不喜歡記筆記的人非常有幫助。

Power Apps – SharePoint 集成指南

Power Apps – SharePoint 集成指南

在此博客中,您將了解 MS Power Apps 界面的基礎知識並了解 Power Apps-SharePoint 集成的過程。

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。