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 を学習していますか? *****






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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。