LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

このチュートリアルでは、仮想テーブルに関する非常に興味深いトピックと、LuckyTemplates の反復関数内で仮想テーブルを利用する方法について説明します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

仮想テーブルは、LuckyTemplatesで高度なロジックを作成するために不可欠な要素です。LuckyTemplates 内には、これらの仮想テーブルを作成できる関数のサブセット全体があります。

これらの仮想テーブルは、単にフィルターや関数として使用したり、計算にコンテキストを追加したりするために使用できる場合があります。ただし、内部でロジックを反復処理することもできます。これは、それらを配置した任意のコンテキストに基づくことができます。

これらの仮想テーブルの能力の多くは、さまざまな反復関数で使用するときに得られます。「コンテキスト」と、これらのDAX測定値の組み合わせがその特定のコンテキスト内でどのように連携するかをよく理解する必要があります。

DAXの反復関数は通常、 SUMXAVERAGEX、および LuckyTemplates の X 式の他の多くの派生関数のように、末尾にXを持ちます。

このチュートリアルで説明したい概念を説明する最良の方法は、この単純なモデルを使用したいくつかの例を通して説明することです。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

LocationsテーブルからSalesテーブルに至るリレーションシップがあります。これは非常に一般的であるように思え、この種のモデルをどのように適用できるか疑問に思われるかもしれません。

実際には、すべてのデータは非常に似ています。モデルを適切にセットアップし、直感的な方法でセットアップするだけです。モデリングをもう少し詳しく理解する必要がある場合は、高度なモデリング コースを確認してください。

目次

SUMXを使用した単純なロジック

を使用してTotal Salesを計算できるこの単純なロジックを確認してみましょう

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

通常、これは単一の地域ごとの売上高を計算するだけです。この場合、データには他のフィルターはありません。したがって、これは基本的に、 Total Salesとともに初期からのものです。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

ただし、これらの仮想テーブルを通じてロジックを反復する方法に関して、もう少しユニークなものを示したいと思います。

仮想テーブルに対する FILTER の使用

さまざまなことを計算し始めたい場合があります。優良顧客として分類できる顧客の売上を計算するとよいでしょう。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

この特定の式を分析して、それによって何ができるかを特定してみましょう。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

したがって、ここではSUMXを使用していることがわかります。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

ただし、この部分の測定では、計算のコンテキストとして使用している仮想テーブルを変更しています。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

したがって、LuckyTemplates での計算は 2 段階のプロセスで行われることを常に覚えておく必要があります。1 つ目は、初期コンテキストの処理です。そして、メジャー計算があります。確かに非常に簡略化されたバージョンです。

最初のフィルターがConnecticutであるこの最初の結果を見てみましょう。明らかに、モデルの背後ですでにいくつかのフィルタリングが行われています。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

関数内の処理ロジックにより、コネチカット州で購入したすべての顧客の仮想テーブルが作成されます。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

これは基本的に、コネチカット州で購入したすべての顧客をまとめた 1 列のテーブルです。

次に、この特定の仮想テーブル内で、2000 件未満で購入した顧客をすべて除外するロジックを実行します。これにより、2000 件を超えて購入した顧客のみが保持されます。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

この新しいテーブルに基づいて、最終的にTotal Salesを計算します。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

それがSUMX によって可能になるのです。これは実際には、さまざまな方法で実装できることが期待されるテクニックです。

仮想テーブルのロジックの変更

さらに、既存のロジックを変更することもできます。ご覧のとおり、この数値は現時点では静的です。ただし、動的にすることも、自己生成することもできます。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

この場合は、単に 5,000 に変更しました。SUMXを使用したため、このテーブルでは5000以上を購入した優良顧客のみが検索されます。そして、それらの優良顧客からの売上をカウントアップします。

仮想テーブルに対する SUMMARIZE の使用

別のレベルに引き上げることができる別の例を次に示します。

FILTER関数内のテーブルは大きく異なる場合があり、より詳細なテーブルにすることもできます。この場合、優良顧客の売上と顧客が購入する製品の両方に注目します。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

したがって、これは 1 列の仮想テーブルではなくなります。これは、コネチカット州で購入したすべての顧客とすべての製品を表す2 列の仮想テーブルになります。そして、地域や州が変わるにつれて変化します。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

関数を使用して、2000 未満の顧客と製品売上高をすべて除外します。その後、 2000 を超えるものだけを保持します

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

その後、SUMXを使用してTotal Salesを計算します。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

これは実際に、仮想テーブルを通じて内部でロジックを反復し、特定の結果を評価する方法です。

CALCULATEをフィルターとして使用する

さらに、同じシナリオを別の方法で計算しても、同じ結果が得られます。まずこれを5000に戻しましょう。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

ここで、これら 2 つの列の結果が実際には同じであることがわかります。しかし、私は少し違う方法で計算しました。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

Good Customer Salesメジャーでは、 SUMXの代わりに関数を使用しました。

LuckyTemplates の反復関数内の仮想テーブル – DAX の概念

CALCULATE関数を使用すると、前のSUMXシナリオと同様のことを実行できます。ただし、( SUMXのような)反復関数ではなく、実際にはfilterとして使用されています。これは、CALCULATE 内の計算のコンテキストを変更するために使用されました

これは、このロジックをデータ モデルに適用する別の方法です。


DAX を使用した LuckyTemplates のマスター仮想テーブル
反復関数の使用 LuckyTemplates での SUMX と AVERAGEX
DAX での反復関数の操作

結論

これは徹底的に復習するのに非常に優れたチュートリアルです。仮想テーブルを介してロジックを反復するこの概念を理解すると、あらゆるデータで達成できる無限の分析の可能性が得られます。

これをよく理解できれば、LuckyTemplates と DAX 対策をうまく活用するときに、分析の観点から発見できないことは実際には何もないことがわかるようになります。

複数の DAX 関数を組み合わせて最適な効果を得る方法について詳しく知りたい場合は、モジュールを確認してください。

これで頑張ってね!

***** LuckyTemplates を学習していますか? *****







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