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 クエリからどのような結果を生成できるかを定義します。これらは、コンテキスト遷移を呼び出すために確立する必要がある重要なエンティティです。さまざまな期間または範囲から特定の結果を取得したい場合は、クエリにフィルター コンテキストを導入する必要があります。

ニック


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 ゲートウェイとは何ですか? 知っておくべきことすべて