LuckyTemplates 排名和自定義分組

作為數據分析師,我們經常需要對數據集中的值進行分組和排序,以便生成趨勢和見解。但是,並不是每個人都知道如何使用 LuckyTemplates 輕鬆完成這些任務。

在今天的博客中,我們將研究一個需要 LuckyTemplates 排名和自定義分組函數的場景,以向您展示如何做到這一點。您可以在本博客底部觀看本教程的完整視頻。

對於本教程,我們將使用一個包含三列的數據表,即Record IDsPrioritiesMinutes。我們的目標是根據最大分鐘數確定優先級為 1 或 2 的前 5% 的記錄。

目錄

創建 LuckyTemplates 排名和分組的數據集

這是數據集在 Power Query 中的外觀。它沒有將優先級 1 和 2 與其他優先級分開的屬性,因此需要我們使用M 函數 Table.Partition。這將生成一個輔助列,以將優先級 1 和 2 與其他行分開。

LuckyTemplates 排名和自定義分組

LuckyTemplates 函數:表.分區

要檢查如何使用 Table.Partition 來分割我們的數據,我們將從打開高級編輯器開始。

LuckyTemplates 排名和自定義分組

在將出現的窗口中,添加一個新行以創建一個新變量。讓我們調用變量Partitions。添加需要以下信息的函數Table.Partition 。

  • 我們要分區的表。在我們的例子中,是Source。
  • 要評估的列。這是返回表中將放置規則的列。那將是優先級列。
  • 要創建的組數。這也是指要分區的表的數量,我們要有2 個表。 
  • 哈希函數。要獲得哈希值,我們需要使用一個數字。讓我們從每個 if開始散列函數,後跟代表當前值的下劃線。然後,讓我們添加條件小於三,然後返回,否則返回。 

在第 5 行,我們將Source更改為Partitions,為我們提供以下解決方案。

LuckyTemplates 排名和自定義分組

單擊完成以查看它如何影響我們的表。如下所示,Table.Partition 函數創建了一個包含兩個嵌套表的列表。 

LuckyTemplates 排名和自定義分組

單擊表 1打開一個預覽表,其中包含優先級小於三(優先級 1 和 2)的所有記錄。

LuckyTemplates 排名和自定義分組

 所有剩餘的行都在表 2中。

LuckyTemplates 排名和自定義分組

由於優先級 1 和 2 現在分組在一個表中,我們現在可以使用該表來計算我們的前 5%。 

LuckyTemplates 函數:Table.RowCount

Table.RowCount可用於確定滿足 5% 要求所需行數。它將計算優先級為 1 和 2 的行數,然後獲取所獲得數量的 5%。

首先,從左上角打開高級編輯器窗口。

LuckyTemplates 排名和自定義分組

然後,我們將添加一個新行和一個新變量,我們將其稱為nRow。我們需要通過從第 3 行複制其變量名稱Partitions來提取我們的第一個表。

接下來,我們將使用位置索引運算符來訪問第一個表的列表中的第一項。然後,將 Table.RowCount 運算符包裝在 Partitions(0) 周圍。然後我們將它乘以 0.05 得到 5%。 

此外,使用Number.Round函數將數字四捨五入為零小數。最後,我們將最後一行從Partitions更改為nRow。 

LuckyTemplates 排名和自定義分組

這應該返回兩個,如下所示。

LuckyTemplates 排名和自定義分組

結果意味著要滿足 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。 

我們的解決方案應該是這樣的。 

LuckyTemplates 排名和自定義分組

單擊“完成”以獲得與此類似的表格。 

LuckyTemplates 排名和自定義分組

添加布爾過濾器

我們還將向表中添加一個布爾過濾器,因為我們不想再保留排名列。相反,我們想要的是添加一個布爾過濾器以僅識別我們需要排除的前兩行。 

那麼,讓我們回到高級編輯器窗口並添加一個自定義列。使用Table.AddColumn函數添加新行並調用新列Exclude

對於 columnGenerator,我們可以使用小於或等於 nRow 編號的每個 i查看新創建的列,nRow 編號是要排除的行數。我們還將使用type logical為它們分配一個數據類型。

我們的解決方案應該是這樣的。

LuckyTemplates 排名和自定義分組

單擊“完成”以獲得類似於下表的表格。

LuckyTemplates 排名和自定義分組

LuckyTemplates 函數:Table.RemoveColumns

我們不再需要幫助列,因此我們可以將其從表中刪除。 

因此,在“高級編輯器”窗口中,讓我們使用Table.RemoveColumns並刪除第i列。

LuckyTemplates 排名和自定義分組

然後點擊完成。 

LuckyTemplates 排名和自定義分組

組合表

我們已經創建了嵌套表 1 的新版本,需要為嵌套表 2 創建相同的佈局。對於該表,我們需要添加一個排除列,其中所有值都應等於 TRUE。 

高級編輯器中創建一個名為 t2 的新變量。我們將使用 Table.AddColumn 添加自定義列並調用Partitions (1)。然後,添加一個Exclude列並將 columnGenerator 設置為每個 true,鍵入 logical。 

我們想通過編輯第 13 行返回t2 。

LuckyTemplates 排名和自定義分組

我們應該得到一張這樣的桌子。

LuckyTemplates 排名和自定義分組

我們需要做的最後一件事是再次組合這兩個表。在Advanced Editor窗口中,添加一個名為 t 的新變量,它等於t1 & t2。 

LuckyTemplates 排名和自定義分組

單擊“完成”以獲得如下所示的最終表格。現在,我們有一個表根據我們給定的標准進行排名和分組,並將前 5% 標記為排除。

LuckyTemplates 排名和自定義分組


LuckyTemplates 中的排名分析:來自組合數據集的高級見解
LuckyTemplates 中的排名可視化 – 動態視覺
LuckyTemplates 維度和組,用於過濾報告中的表格

結論

在此博客中,您了解瞭如何在 Power Query 中使用Table.PartitionTable.AddRankColumnTable.RemoveColumns函數。我們的示例數據集有 44 行優先級 1 和 2,我們成功地對其進行了分組和排名,並相應地標記了前 5%。

有了使用這些函數的新知識,您現在可以為您的下一個數據集使用 LuckyTemplates 排名和自定義分組功能。

一切順利,

梅麗莎·德·科特

Leave a Comment

在 Power Automate 中執行直到循環控制

在 Power Automate 中執行直到循環控制

了解有關 Do Until 循環控制如何在 Power Automate 流中工作的基礎過程,並熟悉所需的變量。

使用 Deneb 為 LuckyTemplates 製作自定義視覺對象

使用 Deneb 為 LuckyTemplates 製作自定義視覺對象

受限於 LuckyTemplates 中提供的標準視覺效果?學習使用 Deneb 和 Vega-Lite 為 LuckyTemplates 創建自定義視覺對象,提升您的數據可視化能力。

在 Power Automate Desktop 中將日期添加到文件名

在 Power Automate Desktop 中將日期添加到文件名

在此博客中,您將了解如何使用 Power Automate Desktop 自動將日期添加到文件名的開頭或結尾。

Power Query:如何快速添加註釋

Power Query:如何快速添加註釋

找出幾種不同的方法在 Power Query 中添加註釋,這對於不喜歡記筆記的人非常有幫助。

Power Apps – SharePoint 集成指南

Power Apps – SharePoint 集成指南

在此博客中,您將了解 MS Power Apps 界面的基礎知識並了解 Power Apps-SharePoint 集成的過程。

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。