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 のマスター仮想テーブルを検索する








Leave a Comment

Power Automate の文字列関数: Substring と IndexOf

Power Automate の文字列関数: Substring と IndexOf

Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。

2 つの方法による SharePoint 列の検証

2 つの方法による SharePoint 列の検証

SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。

Power Automate のオンプレミス データ ゲートウェイ

Power Automate のオンプレミス データ ゲートウェイ

ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。

DAX 数式での LASTNONBLANK の使用

DAX 数式での LASTNONBLANK の使用

DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。