LuckyTemplates における SUM と SUMX の違い

LuckyTemplates における SUM と SUMX の違い

の違いについては、依然として多くの混乱があります。どちらの機能もさまざまなシナリオで使用できるため、これはユーザーが習得する必要がある重要な知識です。ただし、一方の機能が他方より効率的である場合もあります。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

ここでは、この 2 つの違いを示す 1 つの例に焦点を当てます。ただし、その例に入る前に、集計関数と反復関数の違いを理解することが重要です。

目次

アグリゲータとイテレータの比較

DAX に関しては、アグリゲーターとイテレーターという 2 種類の計算エンジンがあります。

集計関数には、SUMおよびが含まれます。一方、イテレータは、SUMXのように、末尾に X がある関数です。

反復関数はテーブルのすべての行を調べて、これらの各行にロジックを追加します。

集計関数は、コンテキストが数式に配置された後に残った列全体を調べます。そこから、列全体に対して 1 つの集計が一度に実行されます。

アグリゲータとしての SUM

SUM はアグリゲーターとしてどのように使用されますか?

LuckyTemplates における SUM と SUMX の違い

この例では、指定されたサンプル データの総収益を計算します。

ここでは常にコンテキストが重要です。この場合、それぞれの特定の日付がそれぞれの特定の結果のコンテキストになります。

LuckyTemplates における SUM と SUMX の違い

このテーブルをさらに詳しく調べると、 Date から Sales テーブルに流れる直接的な関係があることがわかります。

LuckyTemplates における SUM と SUMX の違い

次に、このモデルの下で動作しているデータを見ると、すべてがどのように適合しているかがわかります。

LuckyTemplates における SUM と SUMX の違い

したがって、この関係は、ここの [注文日] 列にリンクされています。この列の特定の日付がフィルターされると、対応する結果が「収益」列の下に表示されます。

そこから、SUM はフィルターされた結果に対して大きな計算を 1 回行うだけです。

イテレータとしての SUMX

ここで、違いを確認できるように、同じサンプル データに対してSUMXを使用します。実際には、[収益] 列に触れずにその収益を計算できます。

SUMX 関数を使用すると、常にテーブルが要求されます。ここでは、物理テーブルまたは仮想テーブルのいずれかを使用できることに注意してください。

LuckyTemplates における SUM と SUMX の違い

Revenue を計算するには、Sales テーブルを選択します。次に、この式に式 (メジャーまたはそのテーブルの特定の列) を配置して、すべての行でロジックの実行を開始できるようにします。ここで説明するように、式はテーブルの各行に対して評価された式の合計を返します。

LuckyTemplates における SUM と SUMX の違い

サンプル データには注文数量が含まれているため、ここではそれを使用して合計を取得します。単価も使用します。

LuckyTemplates における SUM と SUMX の違い

その数式をレポートにドラッグすると、結果はまったく同じになります。

LuckyTemplates における SUM と SUMX の違い

もちろん、どちらも同じ 2 つの列 (注文数量と単価) からデータを取得しているため、同じ結果が表示されます。

LuckyTemplates における SUM と SUMX の違い

いずれにせよ、 SUMと同じ結果が得られるのに、なぜSUMX を使用するのでしょうか?

SUMX を使用すると、ロジックは列全体だけでなく、その列内のすべての行にも適用されます。実際、「収益」列を削除しても、特定の結果を取得することができます。

したがって、そのロジックがすべての行に適用されると想像してください。1行目の注文数量と単価を乗算し、それをメモリに保存します。2 行目とその後の他のすべての行に対して同じことを実行し、それぞれの結果を保存します。

これは、最終的にSUMX の計算に使用されるのは、テーブル上の物理データではなく、メモリに保存された結果であることを意味します。


DAX での反復関数の操作
LuckyTemplates での反復関数 SUMX と AVERAGEX の使用
DAX を使用した高度なシナリオ分析のための LuckyTemplates データ モデル

結論

LuckyTemplates における SUM と SUMX の主な違いを、特に LuckyTemplates で実際にできることをまだ理解していない人に説明できれば幸いです。

経験則としては、集計関数で解決できる単純でわかりやすいシナリオの場合は、SUM を使用します。ただし、より高度なロジックが必要な場合は、SUMX を使用してください。

SUMX は、数千から数百万の行がある場合にも役立ちます。メジャーで参照されるテーブルと列が存在する限り、反復関数を使用するとプロセスがより効率的になります。

ではごきげんよう、


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