Python における Self とは: 実際の例
Python における Self とは: 実際の例
このチュートリアルでは、DAX クエリ構造と DAX Studio 内の 2 つのエンジンについて説明します。DAX 数式がどのように結果を生成するかの背後にあるプロセスがわかります。また、計算において各エンジンがどのように機能するかについても学習します。
データの生成を担当するエンジンは 2 つあります。それは、フォーミュラ エンジンとVertiPaq ストレージ エンジンです。
目次
DAX クエリ構造
このチュートリアルでは、レポートの背後で DAX がどのように動作するかについて、詳細な DAX クエリ構造を示します。
作成するすべてのメジャーはクエリです。一連のデータを処理し、答えを返します。次に、クエリは SQL Server Analysis Services と通信します。これは、バックグラウンドで実行される LuckyTemplates 用にカスタマイズされたバージョンです。
クエリを作成すると、クエリは数式エンジンに送信されます。すべての DAX に対応しますが、ストレージ エンジンほど効率的ではありません。
フォーミュラ エンジンはクエリを受信すると、VertiPaq ストレージ エンジンに処理するデータを要求します。次に、ストレージ エンジンは圧縮データ キャッシュからデータを取得します。
VertiPaq は圧縮された列で動作するため効率的です。ミリ秒以内に多くの行を計算できます。
図の最後にデータ ソースが表示されます。このトランザクションは、データを更新するときにのみ実行されます。
もう 1 つ学ぶ必要があるのは、単純なクエリにはストレージ エンジンが応答できるということです。それ以外の場合は、データ キャッシュを数式エンジンに送り返し、答えを計算します。
そのデータが数式エンジンに送り返されるとき、データは圧縮されなくなります。メモリ内の列全体が使用されます。
したがって、数式エンジンはデータを取得した後、DAX クエリに対する答えを計算して入力します。
DAX クエリ構造のエンジン
フォーミュラ エンジンとストレージ エンジンの違いを理解することが重要です。それぞれが異なる目的のために設計されているため、DAX の知識を応用して、高速かつ正確なクエリを取得できます。2 つのエンジンの違いは次のとおりです。
各エンジンのアイコンは、そのパフォーマンスの速さを表します。ストレージ エンジンは単純なリクエストを処理するため、数式エンジンよりも高速です。DAX クエリが単純で、 、 、またはが必要な場合は、ストレージ エンジンがすべてを単独で実行できます。
一方、数式エンジンは複雑な DAX 関数を処理できます。クエリが複雑になればなるほど、式に使用する数式エンジンが増えることに注意してください。
2 つのエンジンで使用されるデータも異なります。フォーミュラ エンジンはストレージ エンジンからの非圧縮データキャッシュを使用しますが、これは多くのメモリと時間を消費しますが、ストレージ エンジンは圧縮データを使用します。
ストレージ エンジンは、一度に複数のコアを使用するため高速です。それはマルチスレッドエンジンであることを意味します。テーブルにセグメントがある場合、コアの数に応じてセグメントがスキャンされます。ただし、フォーミュラ エンジンは一度に 1 つのコアしか実行できません。
ストレージ エンジンのもう 1 つの優れた機能は、メジャーによって答えが生成されると、数式エンジンとは異なり、その答えがメモリに保存されることです。同じ質問をした場合、完全な計算を実行せずに答えが得られます。
ストレージ エンジンは速度を重視して最適化され、フォーミュラ エンジンは複雑さを重視して最適化されています。
DAX 計算の裏側
DAX のパフォーマンスの背後にあるプロセスを知る唯一の方法は、DAX Studio を使用することです。これは DAX Studio のサンプル ファイルです。
F5 キーを押して実行すると、結果が得られます。
計算の背後で 2 つのエンジンで何が起こっているかを知るには、サーバー タイミングとクエリ プランをオンにします。次に、DAX を再度実行します。
完了したら、「サーバータイミング」タブに移動します。
クエリ、式エンジン、ストレージ エンジンの合計実行時間を確認できます。実行されたストレージ エンジンの数も表示されます。数式エンジンはクエリ全体の 83.3% で実行されますが、ストレージ エンジンは 16.7% しか実行しません。
[クエリ プラン] タブに移動すると、物理クエリ プランと論理クエリ プランが表示されます。これらは両方とも、数式エンジンが何を行っているかに関する数式クエリです。
LuckyTemplates での DAX 計算: LuckyTemplatesのこの新しいコース メジャーで DAX 関数を最適化するベスト プラクティス
: 最適化のヒントとテクニック
結論
数式エンジンとストレージ エンジンはどちらも、DAX コードから結果を生成する際に大きな役割を果たします。これらは、DAX クエリ構造の最も重要な部分です。
これらのエンジンが DAX のパフォーマンスの背後でどのように機能するか、またレポートにどのような影響を与えるかを理解できたでしょうか。
Python における Self とは: 実際の例
R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。
この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。
このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。
この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。
LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。
LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。
このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。
これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。
LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて