什麼是 Python 中的自我:真實世界的例子
什麼是 Python 中的自我:真實世界的例子
作為數據分析師,我們經常需要對數據集中的值進行分組和排序,以便生成趨勢和見解。但是,並不是每個人都知道如何使用 LuckyTemplates 輕鬆完成這些任務。
在今天的博客中,我們將研究一個需要 LuckyTemplates 排名和自定義分組函數的場景,以向您展示如何做到這一點。您可以在本博客底部觀看本教程的完整視頻。
對於本教程,我們將使用一個包含三列的數據表,即Record IDs、Priorities和Minutes。我們的目標是根據最大分鐘數確定優先級為 1 或 2 的前 5% 的記錄。
目錄
創建 LuckyTemplates 排名和分組的數據集
這是數據集在 Power Query 中的外觀。它沒有將優先級 1 和 2 與其他優先級分開的屬性,因此需要我們使用M 函數 Table.Partition。這將生成一個輔助列,以將優先級 1 和 2 與其他行分開。
LuckyTemplates 函數:表.分區
要檢查如何使用 Table.Partition 來分割我們的數據,我們將從打開高級編輯器開始。
在將出現的窗口中,添加一個新行以創建一個新變量。讓我們調用變量Partitions。添加需要以下信息的函數Table.Partition 。
在第 5 行,我們將Source更改為Partitions,為我們提供以下解決方案。
單擊完成以查看它如何影響我們的表。如下所示,Table.Partition 函數創建了一個包含兩個嵌套表的列表。
單擊表 1打開一個預覽表,其中包含優先級小於三(優先級 1 和 2)的所有記錄。
所有剩餘的行都在表 2中。
由於優先級 1 和 2 現在分組在一個表中,我們現在可以使用該表來計算我們的前 5%。
LuckyTemplates 函數:Table.RowCount
Table.RowCount可用於確定滿足 5% 要求所需的行數。它將計算優先級為 1 和 2 的行數,然後獲取所獲得數量的 5%。
首先,從左上角打開高級編輯器窗口。
然後,我們將添加一個新行和一個新變量,我們將其稱為nRow。我們需要通過從第 3 行複制其變量名稱Partitions來提取我們的第一個表。
接下來,我們將使用位置索引運算符來訪問第一個表的列表中的第一項。然後,將 Table.RowCount 運算符包裝在 Partitions(0) 周圍。然後我們將它乘以 0.05 得到 5%。
此外,使用Number.Round函數將數字四捨五入為零小數。最後,我們將最後一行從Partitions更改為nRow。
這應該返回兩個,如下所示。
結果意味著要滿足 5% 的要求,我們需要標記表 1 中的兩行。為此,我們可以使用新的 M 函數 Table.AddRankColumn。
LuckyTemplates 函數:Table.AddRankColumn
在本節中,我們將使用 LuckyTemplates Rank 功能對我們的行進行排名。Table.AddRankColumn用於根據我們的比較標準將新的排名列附加到表中。
首先,打開高級編輯器窗口。創建表 1 並在新行上將其命名為t1 。然後,使用Table.AddRankColumn並添加我們的第一個表Partitions (0)。我們還需要分配一個新的列名,我們將其稱為i。
對於比較標準,我們希望使用{“Minutes”, Order.Descending}從高到低對分鐘進行排名。
最後,添加一個RankKind=RankKind.Ordinal。這將強制為所有項目賦予一個唯一編號,即使它們被評估為相等。然後,我們將nRow更改為t1以返回表 1。
我們的解決方案應該是這樣的。
單擊“完成”以獲得與此類似的表格。
添加布爾過濾器
我們還將向表中添加一個布爾過濾器,因為我們不想再保留排名列。相反,我們想要的是添加一個布爾過濾器以僅識別我們需要排除的前兩行。
那麼,讓我們回到高級編輯器窗口並添加一個自定義列。使用Table.AddColumn函數添加新行並調用新列Exclude。
對於 columnGenerator,我們可以使用小於或等於 nRow 編號的每個 i查看新創建的列,nRow 編號是要排除的行數。我們還將使用type logical為它們分配一個數據類型。
我們的解決方案應該是這樣的。
單擊“完成”以獲得類似於下表的表格。
LuckyTemplates 函數:Table.RemoveColumns
我們不再需要幫助列,因此我們可以將其從表中刪除。
因此,在“高級編輯器”窗口中,讓我們使用Table.RemoveColumns並刪除第i列。
然後點擊完成。
組合表
我們已經創建了嵌套表 1 的新版本,需要為嵌套表 2 創建相同的佈局。對於該表,我們需要添加一個排除列,其中所有值都應等於 TRUE。
在高級編輯器中創建一個名為 t2 的新變量。我們將使用 Table.AddColumn 添加自定義列並調用Partitions (1)。然後,添加一個Exclude列並將 columnGenerator 設置為每個 true,鍵入 logical。
我們想通過編輯第 13 行返回t2 。
我們應該得到一張這樣的桌子。
我們需要做的最後一件事是再次組合這兩個表。在Advanced Editor窗口中,添加一個名為 t 的新變量,它等於t1 & t2。
單擊“完成”以獲得如下所示的最終表格。現在,我們有一個表根據我們給定的標准進行排名和分組,並將前 5% 標記為排除。
LuckyTemplates 中的排名分析:來自組合數據集的高級見解
LuckyTemplates 中的排名可視化 – 動態視覺
LuckyTemplates 維度和組,用於過濾報告中的表格
結論
在此博客中,您了解瞭如何在 Power Query 中使用Table.Partition、Table.AddRankColumn和Table.RemoveColumns函數。我們的示例數據集有 44 行優先級 1 和 2,我們成功地對其進行了分組和排名,並相應地標記了前 5%。
有了使用這些函數的新知識,您現在可以為您的下一個數據集使用 LuckyTemplates 排名和自定義分組功能。
一切順利,
梅麗莎·德·科特
什麼是 Python 中的自我:真實世界的例子
您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。
在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。
本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。
在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。
我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。
了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。
本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。
如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。
什麼是 LuckyTemplates 網關?所有你必須知道的