RANKX の考慮事項 – LuckyTemplates と DAX の数式の概念

RANKX の考慮事項 – LuckyTemplates と DAX の数式の概念

RANKX は非常にユニークな DAX 関数であり、 そのロジックと、特定のコンテキスト (LuckyTemplates 内のテーブルやグラフなど) で計算を実行するときに実際にどのように動作するかについて、より深いレベルで考える必要があります。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

RANKX DAX 関数で望ましくないのは、レポートに表示される計算や結果が常に間違っている可能性があるため、結果を受け取り始めてもその計算方法がよくわからないことです。

RANKX関数内のさまざまなパラメーターによって、結果の計算方法が変わる可能性があります。この DAX 関数に入力できるパラメーターは複数あり、それぞれが重要と考えられる基になる結果をどのように決定できるかを理解できます。

そのため、RANKX がさまざまな状況でどのように機能するかについての重要な要素と概念を理解することが不可欠です。これにより、計算が正しいこと、および消費者が実際に意味のある洞察を閲覧していることを確認できます。

このチュートリアルでは、この特定の数式と関数をどのように使用できるかについて説明します。 

目次

基本的な RANKX シナリオのサンプル

簡単なRANKX計算のサンプル シナリオを次に示します。まずは表を左から見てみましょう。

RANKX の考慮事項 – LuckyTemplates と DAX の数式の概念

ここでやろうとしているのは、販売しているすべてのさまざまな製品 にわたる売上(これは任意の尺度に基づくこともできます) に基づいてこれらの製品のランキングを特定することです。

RANKX DAX 計算内での ALL 関数の使用

ここで、この特定のシナリオの現在の計算式を見てみましょう。

RANKX の考慮事項 – LuckyTemplates と DAX の数式の概念

まず、 RANKX DAX関数内にテーブルを作成し、指定した基準に基づいてすべての製品を評価する必要があります。

ここでは、ALL関数を使用して、 Productsテーブルからフィルターを削除しました。これは、すべての製品を評価し、特定の各製品の 総売上高がすべての製品に基づいてどこにランクされるかを確認する必要があるためです。

RANKX の考慮事項 – LuckyTemplates と DAX の数式の概念

ただし、フィルター (この場合はALL関数) を削除し、単に「Products」を使用すると、異なる結果が表示されます。

RANKX の考慮事項 – LuckyTemplates と DAX の数式の概念

ご覧のとおり、これは 1 と評価されただけです。これは、現在のコンテキスト内の現在の製品 (この場合はProduct 63 ) のみを調べているためです。その結果、これが文字通り、 RANKXが評価している表の唯一の製品であるため、すべてが1 位にランクされます。これが、正しい結果を得るためにALL関数を使用する必要がある主な理由です。

RANKX の考慮事項 – LuckyTemplates と DAX の数式の概念

これで、簡単なRANKX計算を解くことができます。       

しかし、さらに複雑になったらどうなるでしょうか? 総売上高だけに基づいていないランキング結果が必要な場合はどうすればよいでしょうか?

さて、ここでこの計算の現在の状況を理解する必要があります。望む結果を得るためにコンテキストを操作する方法を知る必要があります。

複雑な RANKX シナリオのサンプル

まったく同様の式 (製品ランキングの尺度) を右側の表に取り込んでみましょう。

RANKX の考慮事項 – LuckyTemplates と DAX の数式の概念

ご覧のとおり、別の誤った結果が得られました。この背後にある理由は、ここにも顧客名列があるためです。

この式をもう一度見てみると、個々の顧客を分類していないことがわかります。私たちは特定の顧客ごとに製品を評価しているだけです。

Customer Name列を整理してみましょう。

RANKX の考慮事項 – LuckyTemplates と DAX の数式の概念

顧客名列を整理しても、購入した商品の順位に応じて商品ランキングは変動します。

ここでわかるように、同じ数字がたくさんあります。一例はランク17です。この場合、この特定の顧客が 17 製品しか購入していないことが原因である可能性があります。

RANKX の考慮事項 – LuckyTemplates と DAX の数式の概念

さて、それがこのシナリオで必要なことかもしれません。しかし、それよりももう少し複雑なことが必要な場合はどうすればよいでしょうか? 顧客名と製品コンテキストの 1 から不定の値までのランクが必要な場合はどうすればよいでしょうか?

強調したように、コンテキストと、望む結果を得るためにコンテキストをどのように操作するかを理解することが重要です。

CROSSJOIN 関数の使用

現在、2 つのまったく異なるテーブルからの 2 つのディメンションがあります。Modeling Viewに切り替えると、 Customer Name列がCustomers テーブルから取得され、Product Name列がProductsテーブルから取得されていることがわかります。

RANKX の考慮事項 – LuckyTemplates と DAX の数式の概念

したがって、 RANKXロジック内のこの仮想テーブルのフィルターを、2 つのテーブルの両方から何らかの方法で削除する必要があります。

最初のテーブル (左側) で行ったことを行う必要がありますが、両方の特定のテーブルの顧客名列製品名列の両方に対して行う必要があります。

そして最終的には、顧客名製品名合計売上高から正しいランキングを取得します。この異なるシナリオに使用できる公式は次のとおりです。

RANKX の考慮事項 – LuckyTemplates と DAX の数式の概念

この関数を使用すると、2 つの列を結合したり、2 つのテーブルを結合したりできます。ただし、この場合は列を結合するだけです。

RANKX の考慮事項 – LuckyTemplates と DAX の数式の概念

さらに詳しく説明すると、この部分で行おうとしているのは主に、Customers テーブルProductsテーブルの両方からすべてのフィルターを削除することです。

RANKX の考慮事項 – LuckyTemplates と DAX の数式の概念

次に、この仮想テーブル内のすべての行を反復処理し、この特定の顧客名製品名のサブセットの特定のランクがどこにあるかを評価または特定します。

RANKX の考慮事項 – LuckyTemplates と DAX の数式の概念

結果を確認すると、最終的に正確なランキングが得られたことがわかります。そして気が付けば4位も2列になっている。これは、両方のTotal Sales がまったく同じであるためです。

RANKX の考慮事項 – LuckyTemplates と DAX の数式の概念

これが、この特定のシナリオで達成したい結果を達成した方法です。

結論

これらは、このチュートリアルで説明するDAX計算でRANKX関数を使用する際の考慮事項の一部にすぎません。さまざまな機能でそれを実行できる方法はたくさんあります。ただし、ここで重要なのは、 RANKX関数が配置されている コンテキストを本当に理解する必要があるということです。

これは、特にランキング タイプの分析を計算する際の汎用性に関して言えば、RANKXを実証する最良の方法であることは間違いありません。LuckyTemplates 内で RANKX 関数がいかに柔軟であるかに驚かれるでしょう。

さまざまなシナリオで使用できます。さらに、最終的にレポートやビジュアライゼーションの消費者に感銘を与える高度な洞察も可能になります。

これをレビューして頑張ってください。


LuckyTemplates のランキング ベースのパラメーターで動的ビジュアルを使用する LuckyTemplates で
RANKX を使用して上位顧客を見つける
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 ゲートウェイとは何ですか? 知っておくべきことすべて