什麼是 Python 中的自我:真實世界的例子
什麼是 Python 中的自我:真實世界的例子
我將向您展示如何在 LuckyTemplates 中使用 RANKX 時創建自定義決勝局。
結果的關鍵部分取得平局是一種常見的情況。您可以使用多種決勝局,但重要的是選擇最適合每種情況的決勝局。您可以在本博客底部觀看本教程的完整視頻。
目錄
RANKX 在 LuckyTemplates 中的作用
我習慣於將DAX 功能與現實生活中的工作進行比較。這有助於我將每個功能與其在 LuckyTemplates 中的功能相關聯。
RANKX根據一組特定的標準對元素進行評估和排序。在現實世界中,它可以比作狗展中的裁判,他要求參與者相應地排隊。
在我今天要使用的場景中,我將使用RANKX作為假想銷售競賽的評委。數據涉及來自銷售團隊的數字,獎品頒發給當月總銷售額最高的人。
為了讓事情變得有趣,讓我們假設一等獎是凱迪拉克 El Dorado,而二等獎是一套牛排刀。這是一個巨大的價值差距,這意味著只有一個贏家。
查看我的表格,我有一份銷售團隊中每個銷售人員的名單。
我將為每個人的Total Sales添加數據。
這是我應用於此表的RANKX度量。
它只是一個使用的基本RANKX配置,因此我在對排名進行排序時最終不會包括總計。
銷售人員根據Total Sales進行排名。這些按DESC順序排列。在這裡,我使用Skip以防出現平局。
有些人可能會使用Dense而不是Skip,但在這種情況下,兩者都沒有實際幫助。
跳過與密集
為了演示Skip如何影響度量,我將把Ranks拖放到表中。
然後,我將根據Rank對數據進行排序。
該表顯示了排名第一的平局。但對於銷售團隊來說,這個月過得併不好,因此經理不能贈送 2 輛凱迪拉克 El Dorados。這意味著我需要想出一個決勝局來決定誰得到汽車,誰得到牛排刀。
Jasper 和 Max 排在首位,並列第一。因為我使用了 Skip,所以你會看到排名在兩個 1 之後跳到了 3。這對我不起作用,因為它仍然給我留下了 2 個獲勝者。
如果我使用Dense而不是Skip會怎樣?
如果我使用Dense,領帶本身不會受到影響。但在並列之後顯示的不是數字 3,而是數字 2。
顯然,Dense 在這種情況下也不起作用。這意味著我需要應用自定義決勝局。
選擇自定義決勝局
一個好的自定義決勝局由兩個主要特徵定義。
首先,它需要有意義地區分相關元素。它必須是將兩個或多個相關元素分開的因素。
其次,它不應該改變未綁定元素的等級或順序。
考慮這兩個方面,很容易想出一些決勝局。
總銷售額是我們的主要排名因素。
所以我必須考慮其他因素,這些因素可以用來打破由前兩行的相似數據引起的平局。
銷售數量可以是一個。誰最熱鬧?誰獲得了最多的客戶?
也可以通過檢查誰獲得了最大的客戶來查看最大銷售額。
我還可以查看平均銷售額。
在這種情況下,我決定使用Median Sales。它不受來自高端或低端的異常值的影響。這意味著它可以更好地衡量集中趨勢。
創建自定義決勝局
在製作決勝局時有相當多的 DAX,但概念很簡單。
我有Ranking2作為變量。出於與之前在主要RANKX模式中使用它相同的原因,我也使用了HASONEVALUE。這裡唯一的區別是這次我使用的是Median Sales而不是Total Sales。
接下來,我將該變量的結果除以 100。
因為我的總銷售額中有整數,所以我可以使用小數點後第一位和第二位來打破平局。 將其除以 100 會將小數點後的數字分開,這樣就可以在不影響其餘結果的情況下區分頂部的並列數字。
這使我們的最高排名顯示 0.01、0.02 等。所以我要翻轉一下,以便最高排名在決勝局中獲得最高分。
因此,在HASONEVALUE中,我將從1 中減去 RankScale。
當我將其應用於表格時,您會看到我的 RANKX Tiebreaker 下現在有兩個小數點。
我還將把我的中位數銷售額拖到表格中,以更清楚地向您展示我們決勝局的影響。
看這些數字,其實Max和Jasper都沒有拿到最高分。實際上是馬丁·佩里。
但請記住,這只是決勝局,總銷售額仍然是主要的排名因素。這意味著我應該只比較綁定行的數字。
因此,我將添加我的總銷售額和 RANKX Tiebreaker 以獲得 Total Sales Tiebreak 列的數字。
我將在新的 Total Sales上運行RANKX,並應用決勝局並對數據進行排序。
現在,它顯示了從 1 到 n 的完整運行,沒有綁定元素。
使用 RAND 函數打破平局
在某些情況下,隨機生成的數字可以用作決勝局。
一個例子是,如果您想要一個焦點小組,其中包括隨機選擇的前 20 名銷售人員。如果組內有平局,則只使用隨機數作為決勝局是合理的。
但 Power Query 和 DAX 的問題通常是隨機函數的行為不同。您將得不到預期的結果,尤其是在迭代函數中使用
RAND 返回一個介於 0 和 1 之間的隨機數。因此,如果您確定您正在處理的場景需要一個隨機生成的數字來打破平局,那麼最好在測量的這一部分完成。
這應該顯示Total Sales 加上 RAND ,而不僅僅是Total Sales。但同樣,在這種特殊情況下,它不會給我所需的最終排名結果。
RANKX 考慮因素——LuckyTemplates 和 DAX 公式概念
深入了解高級 RANKX
在 LuckyTemplates 中使用 RANKX 創建動態排名表
結論
如您在此示例中所見,在 LuckyTemplates 中使用RANKX時打破平局相當容易。訣竅是找出哪個自定義決勝局給出最合乎邏輯的結果。
我將在未來做更多關於其他決勝局的教程,尤其是關於在抽樣場景中使用RAND 的教程。我相信值得深入研究。
同時,如果您目前正在處理類似的場景,或者如果您將來遇到類似的情況,我希望使用這種方法對您有用。
一切順利
***** Learning LuckyTemplates?*****
什麼是 Python 中的自我:真實世界的例子
您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。
在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。
本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。
在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。
我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。
了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。
本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。
如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。
什麼是 LuckyTemplates 網關?所有你必須知道的