Power Query Modulo:如何處理堆疊數據

Power Query Modulo:如何處理堆疊數據

在本教程中,我將演示如何將雜亂的堆疊數據轉換為更有條理的格式。有一種非常簡單的方法可以做到這一點,而且它將非常有用並且有很多不同的應用程序。我們將使用 Power Query 模數。您可以在本博客底部觀看本教程的完整視頻。

我的妻子來到辦公室,說她從日曆邀請中復制了一堆地址,最後以這種格式粘貼。她有 28 個電子郵件地址和名字,這些地址和名字以這種奇怪的堆疊格式結束。這是一個帶有一堆引號、逗號、垃圾郵件和電子郵件地址的名稱列表。她想知道如何使用 Power Query 將其轉化為更好的格式。

Power Query Modulo:如何處理堆疊數據

那麼,讓我們進入 Power Query,我們將看到原始數據。讓我們保持原始數據完好無損,只引用它。我們將此參考文件稱為TestData

Power Query Modulo:如何處理堆疊數據

我們要做的第一件事是添加一個索引,對於這些目的來說,它是從零開始的索引還是從一開始的索引並不重要。我們將只使用從零開始的索引來進行演示。無需通過任何其他選項即可輕鬆單擊。

Power Query Modulo:如何處理堆疊數據

這將涉及一個數據透視表,因為數據透視表將行轉換為列。在這種情況下,我們想要獲取這組行並將它們變成三列 - 一列用於名字,一列用於姓氏,一列用於電子郵件地址。

我們將對列中的元素進行透視,但我們需要一種方法讓透視知道哪個元素進入哪個列。這就是 Power Query Modulo 的用武之地。

目錄

使用 Power Query Modulo 處理堆疊數據

當我們除以一個特定的數字時,模給我們餘數。要訪問 Modulo,我們轉到“添加列”選項卡,然後找到“標準”,單擊下拉箭頭,然後向下滾動。

Power Query Modulo:如何處理堆疊數據

當我們點擊 Modulo 時,它會給我們一個彈出框,詢問我們想要的列數。在這種情況下,我們需要三列。

Power Query Modulo:如何處理堆疊數據

如果我們用三除以三,我們得到餘數為零的一。三分四的餘數為一,三分五的餘數為二,然後三分六的餘數為零。因此,它會產生這種很好的重複模式,我們可以將其用於我們的樞軸。

但在我們這樣做之前,讓我們清理數據。我們有兩種方法可以做到這一點。一是我們可以簡單地替換值。例如,對於引號,我們可以將引號放在那裡,然後什麼都不替換。它會清除這些引號。

Power Query Modulo:如何處理堆疊數據

另一種我們可以一次清理它並節省一些步驟的方法是使用一個名為Text.Remove的函數。首先,我們添加一個自定義列,然後列出我們想要刪除的所有值。

Power Query Modulo:如何處理堆疊數據

如您所見,這可以很好且輕鬆地清除所有內容。因此,現在我們可以去掉初始列,然後將自定義列移過去。

Power Query Modulo:如何處理堆疊數據

我們現在可以乾淨地做我們的支點。我們採用 Modulo,轉到 Transform,然後是 Pivot Column,我們將以 Custom 為中心,但我們不希望它聚合。因此,我們將選擇 Don't Aggregate 並單擊 OK。

Power Query Modulo:如何處理堆疊數據

我們只是用列中的這些值替換它。然後它為我們創建了這三列。我們可以在其中看到姓氏、名字和電子郵件地址,但這並不是我們想要的格式。

要解決這個問題,我們可以採用這些列,然後執行Fill Up

Power Query Modulo:如何處理堆疊數據

由於模數的重複模式,現在我們有了這些額外的行。

Power Query Modulo:如何處理堆疊數據

我們可以通過刪除交替行輕鬆擺脫它。我們可以在 Remove Rows 選項中做到這一點。

Power Query Modulo:如何處理堆疊數據

我們可以說要刪除的第一行是兩行。然後刪除第二行和第三行,然後保留第四行並重複執行此操作。

Power Query Modulo:如何處理堆疊數據

您現在可以看到我們已經以一種很好的方式清理了所有正確的數據,並且我們仍然有 28 個原始電子郵件地址。

Power Query Modulo:如何處理堆疊數據

現在我們可以去掉索引列並相應地重命名列標題。


LuckyTemplates 模數和整數除 DAX 函數
Power Query 數據模型最佳實踐
Power Query M:日期表中的交替 0-1 模式

結論

您可以看到,僅使用模數技巧,然後旋轉數據並進行一些清理,這很容易做到。一旦掌握了竅門,完成整個過程可能只需要大約一分鐘。

因此,希望這能為您提供更多的想法和工具。您還可以查看我的下一個教程。在這方面,我們將進一步了解本教程中涵蓋的一些內容,並了解如何使用自定義函數以可重複的方式自動執行此過程。我還將向您展示一些調試自定義函數的絕妙技巧。

我希望你覺得這有幫助。您可以觀看下面的完整視頻,並查看下面的鏈接以獲取更多相關內容。

一切順利!


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

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

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

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

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

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

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

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

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

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

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

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

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

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

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。

DAX Studio 中數據緩存的物化想法

DAX Studio 中數據緩存的物化想法

本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。

使用 LuckyTemplates 進行業務報告

使用 LuckyTemplates 進行業務報告

如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的