DAX Studio で DAX コードのパフォーマンスを評価する

このチュートリアルでは、 DAX Studioの [ベンチマークの実行] オプションを使用して DAX コードのパフォーマンスを評価する方法を学習します。

[ベンチマークの実行] オプションを使用すると、クエリ内のコールド キャッシュとウォーム キャッシュの実行数をカスタマイズできます。

DAX Studio で DAX コードのパフォーマンスを評価する

このオプションをクリックすると、ベンチマーク ウィザードが開きます。コールド キャッシュまたはウォーム キャッシュでクエリを実行する回数を指定できます。

DAX Studio で DAX コードのパフォーマンスを評価する

コールド キャッシュとは、 DAX Studio が最初にキャッシュをクリアしてから、指定された数値に基づいてクエリを実行することを意味します。一方、ウォーム キャッシュは、 DAX Studio がクエリの実行前にキャッシュをクリアしないことを意味します。

このチュートリアルでは、CallbackDataID を生成する以下のコードを使用します。

DAX Studio で DAX コードのパフォーマンスを評価する

[ベンチマークの実行] オプションを使用する前に、コードを実行してサーバー タイミングデータを表示してみましょう。

DAX Studio で DAX コードのパフォーマンスを評価する

コードの実行に 134 ミリ秒かかることがわかります。これにはCallbackDataIDも含まれます。

目次

DAX コードのパフォーマンスに対するベンチマークの実行オプションの使用

[ベンチマークの実行]オプションをクリックし、コールド キャッシュを 5 回実行してクエリを実行すると、ベンチマーク ウィザードの下部に進行状況バーが表示されます。キャッシュをクリアしてから、コードを 5 回実行します。

その後、結果ペインに 2 つのタブが開きます。最初のタブ [概要]には、キャッシュ タイプ、その統計、合計期間、および SE 期間に関する情報を含む表が表示されます。

コールド キャッシュとウォーム キャッシュのデータを比較すると、キャッシュをクリアしても実行時間に大きな違いがないことがわかります。

2 番目のタブ [詳細]には、DAX クエリのキャッシュに関するより包括的な情報が表示されます。

さまざまなキャッシュ期間

別のDAX コードを実行して、クエリのタイミングにどのような影響を与えるかを確認してみましょう。

キャッシュをクリアしてコードを実行するのに 13 ミリ秒しかかからないことがわかります。

次に、「ベンチマークの実行」オプションをクリックします。ボックスのチェックを外し、コールド キャッシュとウォーム キャッシュの両方に対して 10 回の実行を実行します。

DAX Studio で DAX コードのパフォーマンスを評価する

結果ペインでは、コールド キャッシュでの実行に 12.8 ミリ秒、ウォーム キャッシュでの実行に 3.9 ミリ秒かかることがわかります。

DAX Studio で DAX コードのパフォーマンスを評価する

クエリはデータ キャッシュ自体から応答されるため、ストレージ エンジンの継続時間はウォーム キャッシュでは測定できません。

[詳細] タブでは、合計 20 件の実行があることがわかります。寒いときは10、暖かいときは10です。コールド期間は常にウォーム期間よりも長くなります。

DAX Studio で DAX コードのパフォーマンスを評価する

一番右の列までスクロールすると、VertiPaq キャッシュの一致に、コールド キャッシュには 0、ウォーム キャッシュには 1 が含まれていることがわかります。

グラフを使用した DAX コードのパフォーマンスの比較

より洞察力のあるデータを取得するには、[ベンチマーク] オプションの結果から折れ線グラフを作成できます。10 の間隔を使用して比較を作成できます。つまり、コールド キャッシュとウォーム キャッシュの両方に対して 10、20、30 などを使用してベンチマークを実行します。、、およびに基づいてクエリの実行にかかる時間を理解するのに役立ちます。

小規模なデータベースから始めて、徐々により複雑なデータベースのコードを実行することもできます。次に、折れ線グラフを作成してコードのパフォーマンスを確認します。

これにより、DAX クエリの行数に対して期間が増加したか減少したかを識別しやすくなります。

結論

DAX コードのパフォーマンスを最適化することは重要です。コード行あたり 0.5 ミリ秒の違いは、あまり意味がないかもしれません。しかし、結果として 100 万行を生成する複数行のコードを扱う場合、この 0.5 ミリ秒は大きな違いになります。

[ベンチマークの実行] オプションを使用すると、コードの時間データを収集できます。これを使用して、コードの異なる行間を比較できます。これを使用して、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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。