LuckyTemplates の評価コンテキストを理解する

DAX を理解する上で最も重要な概念はコンテキストです。コンテキストには、評価コンテキスト、フィルター コンテキスト、行コンテキストの 3 つの主なタイプがあります。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

DAX が LuckyTemplates で何かを計算する場合、2 段階のプロセスを経て動作します。最初に、現在のコンテキストを評価します。それが完了すると、これらの結果をどのように計算するかを決定します。そこで、他の 2 つのコンテキストが機能します。

この記事では、評価コンテキストに焦点を当てます。ここでは、実際に何を意味するのかを説明するために、簡単な例を示します。

目次

例を通じて評価コンテキストを理解する

ここにあるのは、1 日に販売した商品の数または数量を測定する単純な表です。

LuckyTemplates の評価コンテキストを理解する

この式が何をしているのかを簡単に評価してみましょう。これは、Sales テーブルの Quantity 列を合計しています。

LuckyTemplates の評価コンテキストを理解する

Sales テーブルに移動すると、メジャーがすべての行の Quantity 列を 1 としてカウントアップしていることがわかります。

LuckyTemplates の評価コンテキストを理解する

Total Quantity Sold 列の結果を取得するために使用する式はまったく同じです。これらの結果のいずれについても何も変わりません。最初に変更されるのは評価コンテキストだけです。

単一の行ごとに、異なる評価コンテキストが存在します。そのため、行ごとに異なる結果が返されます。

LuckyTemplates の評価コンテキストを理解する

フィルター伝播とは何ですか?

さて、舞台裏で何が起こっているのかというと、ここではすべての行に対してデータにフィルターが適用されています。

モデルのデータテーブルに戻りましょう。評価コンテキストを使用すると、Date 列は Dates テーブルから取得されます。したがって、ここでは日付列にフィルターが配置されています。

LuckyTemplates の評価コンテキストを理解する

このフィルターを配置すると、Sales テーブルとのリレーションシップにフローが進み、テーブルが自動的にフィルターされます。これはフィルター伝播と呼ばれるものです。

一方の側からミニ側に流れるフィルタは、そのテーブルをフィルタリングします。

したがって、この特定の例では、コンテキストは Dates テーブルから始まり、自動的に Sales テーブルまで流れます。これが、行ごとに異なる結果が得られる理由です。

LuckyTemplates の評価コンテキストを理解する

式の動作を監査または評価するときは、毎回評価のコンテキストについて考える必要があります。

これは、すべてが常に評価コンテキストから始まるためです。これは、より高度な DAX 数式の開発を始めるときに重要です。

高度な式を作成する際の評価コンテキスト

評価コンテキストのもう 1 つの優れた点は、それがDAX式の背後にある真の力であるということです。

単純な数式を記述するだけで、非常に多くの結果を迅速に得ることができます。

高度な数式を書く場合にも同じことが言えます。高度な数式を使用し、それをさまざまな評価コンテキストに照らして、多数のさまざまな結果を迅速に取得できます。

そこで、ここで小さな変更を加え、最初のテーブルに製品名を追加しました。DAX 式はまったく変更されませんでしたが、評価コンテキストは変更されました。これが、ここで異なる結果が得られる理由です。

LuckyTemplates の評価コンテキストを理解する

この例でも同じプロセスが機能し、これらの結果の評価コンテキストは Products テーブルから始まり、Product Name 列を通過します。

LuckyTemplates の評価コンテキストを理解する

このプロセスでは、すべての行がフィルタリングされます。そのため、特定の Product Name が使用されている場合でも、リレーションシップ全体がフィルター処理され、基になる Sales テーブルもフィルター処理されます。

LuckyTemplates の評価コンテキストを理解する

コンテキスト遷移とは何ですか?なぜ重要ですか?
DAX 計算エンジンの仕組み
LuckyTemplates の ALL 関数 – DAX での使用方法

結論

これは、評価コンテキストとは何かについての簡単な概要にすぎません。LuckyTemplatesではコンテキストを変更するだけで、まったく異なる結果が得られます。

数式の現在の評価コンテキストが何であるかを頭の中で考える必要があるため、これがどのように機能するかを理解することが非常に重要です。

そうすることで、特定のコンテキストで特定の結果が得られる理由を理解することができます。

LuckyTemplates 内の 3 つのコンテキストのアプリケーションについて詳しく学ぶために、いくつかの推奨リンクを示します。

行コンテキストの説明 – (1.10) DAX の究極の初心者ガイド

フィルター コンテキスト – (1.9) DAX の究極の初心者ガイド

この作業を楽しんでください。

Leave a Comment

Power Automate の文字列関数: Substring と IndexOf

Power Automate の文字列関数: Substring と IndexOf

Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。

2 つの方法による SharePoint 列の検証

2 つの方法による SharePoint 列の検証

SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。

Power Automate のオンプレミス データ ゲートウェイ

Power Automate のオンプレミス データ ゲートウェイ

ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。

DAX 数式での LASTNONBLANK の使用

DAX 数式での LASTNONBLANK の使用

DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。