LuckyTemplates の RANKX – カスタム タイブレーカーの開発

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

LuckyTemplates で RANKX を使用するときにカスタム タイブレーカーを作成する方法を説明します。

結果の重要な部分で同点になるのは一般的なシナリオです。使用できるタイブレーカーは多数ありますが、それぞれの状況に最も適したものを選択することが重要です。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

目次

LuckyTemplates における RANKX の役割

私には、 DAX 関数を現実の仕事に喩える習慣があります。これにより、各関数を LuckyTemplates 内での動作に関連付けることができます。

RANKX は、特定の基準セットに従って要素を評価し、順序付けします。現実の世界では、ドッグショーの審査員が参加者にそれに応じて整列するよう求めることにたとえることができます。

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

今日使用するシナリオでは、架空の販売コンテストの審査員としてRANKXを使用します。データには営業チームからの数字が含まれており、その月の総売上高が最も多かった人に賞金が与えられます。

話を面白くするために、1 等の賞品がキャデラック エルドラド、2 等の賞品がステーキナイフのセットであると仮定しましょう。これは価値に大きな差があり、勝者は 1 人しかいないことを意味します。

私のテーブルを見ると、営業チームのすべての営業担当者のリストがあります。

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

各人のTotal Salesのデータを追加します。

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

これは、このテーブルに適用しているRANKX測定です。

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

これは、ランクを並べ替えるときに合計を含めることがないように、を使用する基本的なRANKX設定です。

の営業担当者は、総売上に基づいてランク付けされます。これらはDESC順に配置されています。ここでは、同点の場合に備えてスキップを使用しています

Skipの代わりにDenseを使用する人もいますが、この場合はどちらも実際には役に立ちません。

スキップと密集

スキップがメジャーにどのような影響を与えるかを示すために、ランクをテーブルにドラッグ アンド ドロップします。

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

次に、 Rankに従ってデータを並べ替えます。

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

この表は、1 位の順位が同数であることを示しています。しかし、この月は営業チームにとってあまり良い月ではなかったので、マネージャーは 2 台のキャデラック エル ドラドを手放すわけにはいきません。つまり、誰が車を手に入れ、誰がステーキナイフを手に入れるのかを決めるタイブレーカーを考え出す必要があるということです。

Jasper と Max がトップで、同率 1 位です。スキップを使用したため、トップの 2 つの 1 の後にランクが 3 にジャンプしていることがわかります。これは私にとってはうまくいきません、なぜならまだ勝者が 2 人残っているからです。

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

Skipの代わりにDense を使用するとどうなりますか?

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

Dense を使用した場合、ネクタイ自体は影響を受けません。ただし、同点の後は 3 番の代わりに 2 番が表示されます

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

明らかに、この場合も Dense は機能しません。これは、カスタム タイブレーカーを適用する必要があることを意味します。

カスタム タイブレーカーの選択

優れたカスタム タイブレーカーは、2 つの主な特徴によって定義されます。

まず、関連付けられた要素を意味のあるように区別する必要があります。これは、結び付けられた 2 つ以上の要素を分離する要素である必要があります。

第二に、結合されていない要素のランクや順序を変更してはなりません。

これら 2 つの側面を考慮すると、いくつかのタイブレークを思いつくのは簡単です。

総売上高が主なランキング要素です。

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

したがって、上位 2 行の同様のデータによって引き起こされる同点を解消するために使用できる他の要因について考える必要があります。

販売個数は1個でも可能です。一番ハッスルしているのは誰ですか?最も多くの顧客を獲得しているのは誰ですか?

誰が最大のアカウントを獲得したかを確認することで、最大の売上を確認することもできます。

平均売上も確認できます。

この場合は、Median Salesを使用することにしました。ハイエンドまたはローエンドのいずれかからの外れ値の影響はそれほど受けません。これは、中心傾向をより適切に測定できることを意味します。

カスタム タイブレーカーの作成

タイブレーカーの作成にはかなりの量の DAX が使用されますが、コンセプトはシンプルです。

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

変数としてRank2を持っています。先ほどプライマリRANKXパターンで使用したのと同じ理由で、HASONEVALUEも使用しました。ここでの唯一の違いは、今回はTotal SalesではなくMedian Salesを使用していることです。

次に、その変数の結果を 100 で割ります。

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

Total Sales には整数が含まれているため、小数点第 1 位と第 2 位を操作して同点を破ることができます。 これを 100 で割ると、小数点以下の数値が取り出され、残りの結果に影響を与えることなく、上位の同数の数値が区別されます。

これにより、上位のランクは 0.01、0.02 などとなります。そこで、それを裏返して、上位ランキングがタイブレークで最高のスコアを獲得できるようにします。

したがって、 HASONEVALUE内で、RankScale を 1 から減算します。

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

これをテーブルに適用すると、 RANKX タイブレーカー の下に小数点が 2 つあることがわかります。

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

また、タイブレーカーの影響をより明確に示すために、売上の中央値を表にドラッグします。

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

これらの数字を見ると、実際にはマックスもジャスパーも最高スコアを獲得していないことがわかります。実はマーティン・ペリーだったのだ。

ただし、これは単なるタイブレーカーであり総売上高が引き続き主要なランキング要素であることに注意してください。これは、結合された行の数値のみを比較すればよいことを意味します。

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

したがって、Total Sales と RANKX タイブレーカーを加算して、Total Sales タイブレーク列の数値を取得します

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

タイブレーカーを適用した新しい総売上高に対してRANKXを実行し、データを並べ替えます。

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

ここでは、結合要素のない 1 から n までの完全な実行が表示されます。

RAND 関数を使用して関係を解消する

ランダムに生成された数値がタイブレーカーとして機能する場合があります。

一例として、上位 20 人の営業担当者からランダムに選択されたフォーカス グループが必要な場合が挙げられます。グループ内で同点の場合は、乱数をタイブレーカーとして使用するのが合理的です。

しかし、一般的に Power Query と DAX の問題は、ランダム関数の動作が異なることです。特に反復関数内で使用した場合、期待する結果は得られません。

RAND は 0 から 1 までの乱数を返します。そのため、取り組んでいるシナリオで同点を打破するためにランダムに生成された数値が必要であると判断した場合、理想的には、この部分でそれを実行することになります。

LuckyTemplates の RANKX – カスタム タイブレーカーの開発

単なるTotal Salesではなく、Total Sales に RAND を加えたものを表示する必要があります。ただし、この特定のシナリオでは、必要な最終的なランキング結果は得られません。


RANKX に関する考慮事項 – LuckyTemplates と DAX の数式の概念
高度な RANKX についての深い理解
LuckyTemplates で RANKX を使用した動的なランキング テーブルの作成

結論

この例で見てきたように、 LuckyTemplates でRANKX を使用しているときに同点を破るのは非常に簡単です。重要なのは、どのカスタム タイブレーカーが最も論理的な結果をもたらすかを特定することです。

今後、他のタイブレーカー、特にサンプリング シナリオでのRAND の使用に関するチュートリアルをさらに行う予定です。もっと深く検討する価値があると思います。

それまでの間、現在同様のシナリオに取り組んでいる場合、または将来このような事態に遭遇した場合に、このアプローチを使用することがうまくいくことを願っています。

ではごきげんよう

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