什麼是 Python 中的自我:真實世界的例子
什麼是 Python 中的自我:真實世界的例子
正如你們中的許多人現在所知道的那樣,我非常擅長展示如何應用來發現歷史上難以找到並輕鬆展示的見解。好吧,這是另一個例子,也是對結果進行細分或分組的好方法,而不是僅僅在沒有任何上下文的情況下單獨顯示結果。您可以在本博客底部觀看本教程的完整視頻。
在這個例子中,我深入研究了一系列客戶的結果。我不想只顯示一般的銷售結果,而是想看看客戶是否在排名靠前的結果中,然後我想看看它是如何隨時間變化的。這是非常強大的東西。
我們想計算出每年有多少收入或利潤可以歸因於我們的前 10 名或前 50 名客戶。這項技術正是您將如何做到這一點。能夠展示這種情況如何隨時間變化也是一種高質量的洞察力。能夠以任何有意義的方式展示這種情況是增加還是減少,可以讓您深入了解銷售的可持續性。許多圍繞營銷或運營的行動都可以從這樣的見解中得出。
目錄
在 LuckyTemplates 中創建動態組
在本教程中,我們將結合 LuckyTemplates 和 DAX 中的多種技術來進行一些非常高級的分析。隨著時間的推移,我們已經掌握了有關我們的銷售情況的信息,並且我們知道我們的客戶是誰。但是假設您想了解我們的銷售額中有多少來自我們的前 5 名客戶、前 5 名到前 20 名客戶,然後是其他客戶。
有時,您需要創建這些動態組,以便查看是否有隨時間推移發生的趨勢。您不僅想要評估這些分組,而且您實際上想要隨著時間的推移評估它們。
這很難做到,尤其是當您使用 Excel 工作時。您將不得不編寫一些非常高級的公式並使用LuckyTemplates 中的RANKX等高級邏輯。但是,如果您非常了解 DAX,您可以編寫一個根本不需要花費您很長時間的公式,然後它就會成為您可以反複使用的模式。讓我們來看看如何實現這一目標的步驟。
根據排名創建組
我們需要做的第一件事是轉到我們的數據模型並根據他們的銷售排名創建客戶組。在此示例中,我們將對前 5 名、前 5 到 20 名以及其他客戶的銷售額進行排名。
我們將創建一個表並將其稱為 Customer Groups,然後放入這些維度:第一個稱為 Top 5,下一個稱為 Rank 5 – 20,最後一個稱為 The Rest。
下一步是創建一個範圍,以便我們放置 MIN 和 MAX 列。然後我們將填寫這三個組的範圍並單擊加載以完成我們的表格設置。
讓我們回到我們的數據模型來找到我們剛剛創建的表。這是一個支持表,與數據模型的其餘部分沒有任何關係,也沒有連接到任何其他表。我們將使用此表在我們的計算中推動一些邏輯,以產生我們在測量中需要的結果。
確定總銷售額
讓我們跳回到報表部分的前端,然後編寫一個新的度量。我們已經有了總銷售額,這是我們總收入的簡單總和。這是我們用來獲得總銷售額的簡單明了的公式:
我們的總銷售額為 154,481,404.20 美元。此結果已針對 2014、2015 和 2016 年進行了篩選。
這是我們當前過濾的整個時間內的總銷售額。但我們想要看到的是基於客戶的總銷售額,這些客戶是我們的前 5 名、前 5 名到前 20 名以及所有其他客戶。我們需要編寫一些非常高級的DAX 公式來實現這一點。
確定每個組的總銷售額
我們將創建一個新度量並將其命名為按組劃分的客戶銷售額。與往常一樣,我們從 CALCULATE 開始,因為沒有 CALCULATE 函數什麼也不會發生。然後我們添加總銷售額,因為這就是我們要總結的。
然後我們將跳轉到另一行並使用FILTER 函數。我們需要創建一個表來過濾。在這種情況下,相對明顯的是我們需要過濾客戶名稱表。
我們需要遍歷每個客戶並評估他們的排名,然後查看他們的排名是高於還是低於我們剛剛創建的 MIN 和 MAX。
下一步是再次使用 COUNTROWS 函數和 FILTER 函數。然後選擇 Customer Groups,這是我們剛剛創建的表。
在 LuckyTemplates 中將高級邏輯與 RANKX 結合使用
然後我們將使用 LuckyTemplates 中相對高級的邏輯 RANKX 遍歷此表。我們在頂部計算我們的總銷售額,但我們的客戶組表實際上是排名。我們需要獲得每個客戶的排名,然後查看他們是否屬於客戶組表中的任何組。
要獲得排名,我們需要使用 RANKX 函數和所有客戶名稱。然後我們將按總銷售額對它們進行排名,然後選擇 DESC 將它們排名為 1 表示最高,200 表示最低。然後,對於排名最高的客戶,我們將以大於 MIN 的值關閉它。
然後我們將跳到另一行,因為我們在這里處理兩個邏輯。我們將使用 RANKX 和我們在上面使用的類似邏輯,但隨後使用小於或等於 MAX。然後我們將關閉COUNTROWS。我們要確保 COUNTROWS 邏輯正常工作,因此我們還要寫入大於零的值,然後單擊 Enter。
在 LuckyTemplates 中檢查 RANKX 的結果
我們已經完成了計算的編寫,所以讓我們看看它實際上在做什麼。我們將把我們創建的度量拖到表中,看看我們是否真的得到了結果。
我們需要檢查的第一件事是總數。總數是否與我們之前得出的總銷售額完全相同?是的。
現在讓我們研究一下每個計算在做什麼。為實現這一特定結果,我們計算了總銷售額,然後通過引用客戶名稱列創建了每個客戶的表。在此迭代中,我們評估每個客戶的等級是否大於 MIN 且小於或等於 MAX。
這是相當高級的 DAX,因為數據中根本不存在這個組。但現在我們正在計算前 5 名、前 5 名到前 20 名以及其他人的銷售額。
對錶格進行排序並可視化數據
現在寫作部分已經完成,我們將對當前按字母順序排序的表格進行排序。我們只需單擊“建模”選項卡,然後單擊“按列排序”。我們將按 MAX 排序,以便我們以有組織的方式查看組。
我們可以使這些數據更好。因為它是動態的,我們可以在此計算中放置另一個上下文,使用 Years 查看特定年份內每個組的銷售額。
通過這樣做,我們將能夠看到趨勢。所以我們只抓取年份,把它放在我們的表中,然後把它變成一個矩陣。我們現在可以看到 2014 年、2015 年和 2016 年每組的銷售額明細。
我們現在可以用這些數字創建可視化。我們可以抓取客戶的姓名和組,然後將它們拖到畫布上。我們現在可以想像我們的前 5 名、前 5 名 - 20 名和其他人。
結論
如果您不了解如何編寫我們之前編寫的代碼,則不可能以任何其他方式獲得此結果。如果第一次這樣做沒有完全意義,請多檢查幾次並嘗試將其帶入您當前正在處理的模型中。您會驚訝於這項技術在一系列場景中的應用。
此外,如果您剛剛開始使用 DAX,您可能需要查看我的在線課程,該課程全面介紹了在您自己的 LuckyTemplates 模型中實施 DAX 所需學習的所有內容。
祝你使用這項技術好運——如有任何意見和想法,請在下方告訴我。
什麼是 Python 中的自我:真實世界的例子
您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。
在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。
本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。
在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。
我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。
了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。
本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。
如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。
什麼是 LuckyTemplates 網關?所有你必須知道的