DAX での反復関数の操作

DAX での反復関数の操作

フォーラムで LuckyTemplates メンバーと作業するたびに、DAX で関数を反復する際に混乱が生じることがあります。そこで、これらの関数を使用して何が実現できるのか、またなぜそれらの関数を使用する必要があるのか​​を確認します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

DAX数式に詳しくなると、これらの反復関数を思ったよりも頻繁に使用するようになります。これらは、 SUMAVERAGEのような単純な集計関数よりもはるかに多用途です。

ここにはいくつかの例があります。これらの数式を介してロジックを実行すると実際に何が起こるかをよく理解できるように、これらの各例のロジックを詳しく見ていきたいと思います。

関数の反復で重要なことは、関数が何かを反復することです。

目次

SUMX を使用した単純な反復

DAX での反復関数の操作

この場合、何かを集計したいのですが、この Sales テーブルのすべての行を反復処理したいと考えています。

DAX での反復関数の操作

そして、すべての単一行で、この特定のロジックをここで実行したいと考えています。

DAX での反復関数の操作

非常に単純な Sales テーブルにすぐにジャンプしましょう。ここでは、すべての単一行でロジックを実行します。次に、数量と価格を掛けたいと思います。

DAX での反復関数の操作

この表には価格が存在しません。この特定のモデルについては、実際には Product テーブルにあります。

DAX での反復関数の操作

次に行う必要があるのは、 Product テーブルに戻ることです。これはRELATEDを使用して実行できます。数量と関連する価格の積を計算する場合、これを単一行ごとに実行します。これはまさにこの式の内部で起こっていることです。

これらは、より高度な作業を開始するときに覚えておくべき重要な概念です。

SUMX を使用して売上を獲得するための別のアプローチ

DAX での反復関数の操作

この例では、SUMXでSales テーブルを再度反復処理します。したがって、そのロジックをすべての単一行で実行し、すべての単一行で数量と価格を掛けて計算し、すべての反復が完了したらそれを集計します。

DAX での反復関数の操作

この結果は、最初の例 (SUMX チュートリアル 2) または合計売上高の結果とまったく同じであることがわかります。

ここにはさまざまなものを配置できます。メジャーにすることも、反復関数で分岐させることもできます。実際に計算を正しく行うために、特定の列を参照する必要はありません。

DAX での反復関数の操作

ここでわかるように、ここでメジャー (総売上高) を配置するだけで、まったく同じ結果が得られます。

SUMX と論理関数

DAX での反復関数の操作

ここではSUMX を使用していますが、AVEAGEXMINX、およびMAXXにも関連します。それらはすべて非常に似たものです。

これらの反復関数で覚えておくべきもう 1 つの重要な点は、単一行ごとにロジックを実行し、結果をメモリに保存することです。

これらすべての値がメモリに保存されると、 SUMAVERAGEなどの包括的な計算が実行されます。

DAX での反復関数の操作

例に戻ると、この列の金額が前の列よりわずかに少ないことがわかります。

DAX での反復関数の操作

SUMX反復関数を使用して、Sales テーブルのすべての行を反復処理したいと考えています。そして、すべての行で、その特定の売上が 2,000 ドルを超えているかどうかを計算したいと考えています。そうであれば、その行の合計売上高を計算したいと思います。ただし、売上総額が 2000 ドル未満の場合は、ゼロを返したいと考えています。したがって、より価値の高い売上のみを計算したいと考えています。

ロジックを計算列の中に入れればいいのではないかと提案する人もいます。ただし、このロジックを列内に物理的に配置するよりも、DAX内でこのロジックを実行する方がはるかに優れた方法があるため、このようなことは行いません。

テーブルの反復処理

ここが反復関数の素晴らしいところです。以前のように物理テーブルを反復処理できるだけでなく、パラメータとして入力した他の仮想テーブルを反復処理することもできます。

DAX での反復関数の操作

ここでのすべての結果には特定のコンテキストがあると考えます。この特定のケースでは、顧客のコンテキストがあります。

DAX での反復関数の操作

このコンテキストで、すべての場所を反復処理して、特定の顧客が 5,000 ドルを超える売上に達したかどうかを確認したいと考えています。

そうであれば、総売上高を計算したいと思います。しかし、そうでない場合は、ゼロを返すようにします。

DAX での反復関数の操作

したがって、この特定のケースでは、この顧客が購入している高額の場所と、それらの場所での総売上高を計算しています。

DAX での反復関数の操作

ここでVALUESが行っていることは、仮想テーブルを作成していることです。したがって、ここではSUMXは物理的な作業を行っていません。実際には、完全に仮想的なものに取り組んでいます。

MINX を使用した単純な反復

DAX での反復関数の操作

これは前の例と似ていますが、 SUMXの代わりに、すべての単一行を反復処理した後で、他のタイプの集計を実行します。

DAX での反復関数の操作

この特定のケースでは、各顧客のすべての場所を調べて、それらの場所ごとの総売上高を計算しています。

DAX での反復関数の操作

次に、購入した場所の最小限の金額を返金したいと考えています。

MAXX を使用した単純な反復

DAX での反復関数の操作

ここでも、反復関数の多用途性を示すために、同様のことを行っています。私はすべての拠点を調べて売上を調べていますが、その拠点の売上の最大値を返しています。それが、ここでより高い数字が見られる理由です。

結論

この記事で私が触れたかった重要な点は、反復関数内で使用できるオプションの範囲と、単純な合計または平均についてです。

より複雑な計算を掘り下げ始めると、コンテキスト レベルで値を返すためにこれらの特定の関数がいかに重要であるかがわかります。

パラメーターの操作方法さえ知っていれば、単純な式を使用してこれらの計算を実行できる汎用性と方法が非常に豊富です。

これらの反復関数について楽しく学習できた場合は、次のリンクを参照して、このトピックに関する詳細情報を取得できます。

LuckyTemplates で関数を反復するための重要な概念

仮想テーブルによるロジックの反復 – 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 ゲートウェイとは何ですか? 知っておくべきことすべて