Python における Self とは: 実際の例
Python における Self とは: 実際の例
DAX が行コンテキストでどのように機能するかを理解することに関して、ほとんどの人が混乱していることがわかりました。これは、行のコンテキストが非常に複雑になり、不必要に複雑になる可能性があるためです。したがって、この記事では行コンテキストについて触れていきます。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。
行コンテキストについて私が考える方法は、反復または反復関数を通じてです。頭の中でその区別をするとすぐに、計算エンジンで実際に何が起こっているのかという点で、より意味がわかるようになりました。
要約として、コンテキストには評価コンテキスト、フィルター コンテキスト、行コンテキストの 3 種類があることを説明しました。
DAX 計算は 2 段階のプロセスで行われます。評価コンテキストは常に最初に行われ、その後、作成する関数に応じてフィルター コンテキストまたは行コンテキストのいずれかに分岐します。
目次
行コンテキストを理解する
行コンテキストは反復処理がすべてです。
いくつかの例を示します。バックエンドで行コンテキストが実際にどのような動作をするかを理解するのに役立つことを願っています。
行コンテキスト VS フィルター コンテキスト
この例では、式は単純な集計であるため、フィルター コンテキストを介して計算されます。すべての初期フィルターが設定された後、数量列全体が合計されます。
Sales テーブルの最初のフィルターは Product 1 です。販売されたすべての数量を合計すると、165 になります。
次に、まったく同じ結果を得る方法を説明しますが、計算方法は大きく異なります。まず、反復式を使用して、販売数量反復の新しいメジャーを作成します。
反復関数の例には、SUMX、AVERAGEX、MANYX、COUNTX などがあります。この場合、 SUMX を使用します。
SUMX関数はテーブルを入れるように要求したので、Sales テーブルを入れます。そして、式を求められたので、数量列に入力しました。
この関数は最初の関数とはまったく異なりますが、ドラッグするとまったく同じ結果が得られます。
最終的には同じ計算なので、まったく同じ結果が得られます。別の方法で計算されただけです。
販売数量の反復は行コンテキストを使用して計算され、合計販売数量はフィルター コンテキストを使用して計算されました。
行コンテキストを使用した販売数量の反復計算
それでは、販売数量の反復がどのように計算されるかを段階的に見てみましょう。まず、最初の評価コンテキスト (この場合は製品 1) を離れることを忘れないでください。次に、row contextを介して、指定したテーブル内のすべての行を反復処理します。
この場合、Sales テーブルを指定し、Quantity 列のすべての行を調べます。
初期評価中に、製品 1 は、製品 ID 列でフィルターされたものによって決定されます。次に、「数量」列の下の行をカウントアップします。行にヒットするたびに、結果がメモリに保存されます。
テーブルの一番下に到達すると、メモリに保存されているすべての結果を評価し、要求されたあらゆる計算 (この場合は SUMX ) を実行します。
行コンテキストや反復関数を使用する理由
これは、反復関数内ではるかに複雑な処理を実行できるためです。内部には非常に高度なロジックを記述することができます。
たとえば、Sales テーブルのすべての行について、数量は 2 倍されます。同じ計算プロセスが実行されているにもかかわらず、異なる結果が得られていることがわかります。
これは、行ごとに異なるロジックを作成しているためです。数量列のすべての行を調べた後、値を 2 倍してメモリに保存します。その最後にSUMを実行します。
ここには、 IFやSWITCHロジックなどの高度なロジックを含むさまざまな内容を記述することもできます。
計算を実行するには、集計関数やフィルターコンテキストではなく、反復関数や行コンテキストを使用した方がよい例が山ほどあります。
LuckyTemplates のコンテキストを理解するための重要な注意事項
コンテキストに関するすべての重要なことを要約するには、DAX での計算は 2 段階のプロセスを介して行われることを思い出してください。最初のステップは常に評価コンテキストです。評価のコンテキストが何であるかが非常に重要です。
個々の結果の評価コンテキストが何であるかを理解すると、DAX は 2 つの異なる方法に分岐します。フィルター コンテキストまたは行コンテキストを介して計算できます。
どのコンテキストを使用するかは、作成する数式によって異なります。したがって、単純な集計式を作成すると、フィルタ コンテキストを介して計算が行われます。ただし、 SUMX のような反復関数を作成すると、行コンテキストを介して数式が計算されます。
DAX をもう少し上級になれば、実際に同じ関数内に複数のコンテキストを含めることができます。しかし、そこに到達する前に、コンテキストが最も単純な形でどのようなものであるかを本当に理解する必要があります。
結論
DAX を学習し、より高度な作業を実行したいと考えている場合、コンテキストの種類を理解することは非常に重要です。本当に高度な DAX 数式を書き始めると、複数のコンテキストが同時に動作するため、目的の結果を達成するためにその数式の各部分が何を行っているかを理解する必要があります。
LuckyTemplates 内での行コンテキストのアプリケーションについて詳しく学ぶための推奨リンクをいくつか示します。
評価コンテキスト – (1.8) DAX の究極の初心者ガイド
フィルター コンテキスト – (1.9) DAX の究極の初心者ガイド
この作業を楽しんでください。
Python における Self とは: 実際の例
R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。
この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。
このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。
この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。
LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。
LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。
このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。
これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。
LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて