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

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 の究極の初心者ガイド

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


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて