LuckyTemplates のフィルター: DAX クエリのコンテキスト遷移

LuckyTemplates のフィルター: DAX クエリのコンテキスト遷移

この投稿では、LuckyTemplates で xmSQL およびストレージ エンジン クエリを介してフィルターを識別する方法について説明します。また、範囲でフィルターするときに VertiPaq が何をしているのかについても学びます。フィルターに適用される内容の濃度が DAX のパフォーマンスの最大の原動力であるため、これは重要なトピックです。

xmSQL クエリは、 SELECTFROM、およびWHERE句を備えた準続編言語です。WHERE句はフィルターであり、関数または関数を使用するときに導入されます。フィルターは、論理クエリ プランとストレージ エンジンのクエリ プランの両方に存在します。

目次

フィルターコンテキストの遷移

このサンプル クエリには、Total Sales を表す関数と、 Fact Sales を表す実際の売上は、現在の価格と販売数量を掛け合わせたものです。この例では、300 を超える売上にのみ注目する必要があります。

LuckyTemplates のフィルター: DAX クエリのコンテキスト遷移

クエリを実行すると、あまり役に立たない 1 行のテーブル結果が得られます。

LuckyTemplates のフィルター: DAX クエリのコンテキスト遷移

ただし、[サーバー タイミング] タブに移動してスキャンすると、クエリが実行している内容に関する情報を提供する xmSQL ステートメントを確認できます。

LuckyTemplates のフィルター: DAX クエリのコンテキスト遷移

$Expr0を含むWITH句は、数式が計算されていることを意味します。次に、売上データ テーブルまたはファクト売上テーブルから式が選択され、設定された条件を使用して WHERE 句でフィルタリングされます。

物理クエリ プランには、Filter_Vertipaq演算子が表示されます。これは、クエリがストレージ エンジンにプッシュダウンされていることを意味します。DAX のパフォーマンスを向上させるために、できる限りストレージ エンジンをフィルターとして使用してください。

LuckyTemplates のフィルター: DAX クエリのコンテキスト遷移

これは、 CALCULAETABLE関数の代わりにSUMXを使用する別のサンプル クエリです。クエリを実行して xmSQL ステートメントを確認すると、同じ結果、スキャン、クエリ プランが表示されます。

LuckyTemplates のフィルター: DAX クエリのコンテキスト遷移

SUMX関数またはCALCULAETABLE関数を使用して結果を生成できます。ただし、SUMX はCALCULAETABLEよりも遅い場合があります。よりスムーズな DAX パフォーマンスを実現するには、後者を使用するのが最善です。

LuckyTemplates の範囲でフィルターする

これは範囲でフィルタリングするサンプル クエリです。フィルター条件は、現在の価格が 300 以上 1000 未満の場合に販売データを取得します。

LuckyTemplates のフィルター: DAX クエリのコンテキスト遷移

クエリを実行して xmSQL ステートメントを確認すると、 WHERE句の範囲がわかります。

LuckyTemplates のフィルター: DAX クエリのコンテキスト遷移

物理クエリ プランを見ると、2 Filter_Vertipaqが表示されます。これは、フィルターの範囲が 300 ~ 1000 であるためです。これは、ストレージ エンジンがクエリと計算を実行していることも意味します。

LuckyTemplates のフィルター: DAX クエリのコンテキスト遷移

以下は、 OR句を使用した複数の値を持つ別のクエリです。これは「 || 」で示されています。”。  

LuckyTemplates のフィルター: DAX クエリのコンテキスト遷移

クエリを実行すると、xmSQL ステートメント内のWHERE句の変更が確認できます。xmSQL はORステートメントをINステートメントに変換しました。

LuckyTemplates のフィルター: DAX クエリのコンテキスト遷移

クエリでINを使用すると、同じ xmSQL ステートメントと結果が生成されます。IN を使用する場合は、中括弧で示されたテーブルでなければならないことに注意してください。

LuckyTemplates のフィルター: DAX クエリのコンテキスト遷移

ただし、ストレージ エンジンがそれを読み取るときに、同じ xmSQL ステートメントがあることが認識されるため、OR句またはIN句の使用は問題ではありません。そのため、同じ 939,012 ドルという結果が得られます。

LuckyTemplates のフィルター: DAX クエリのコンテキスト遷移


LuckyTemplates でのフィルター コンテキストの概要
DAX チュートリアル: コンテキストと計算エンジンLuckyTemplates で単純なフィルターを使用する
方法

結論

このブログ投稿では、 LuckyTemplatesの DAX でフィルター条件を設定する方法を学習しました。フィルターは、LuckyTemplates の DAX クエリからどのような結果を生成できるかを定義します。これらは、コンテキスト遷移を呼び出すために確立する必要がある重要なエンティティです。さまざまな期間または範囲から特定の結果を取得したい場合は、クエリにフィルター コンテキストを導入する必要があります。

ニック


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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。