LuckyTemplates Unpivot 列 - Power Query 教程

這是有關 LuckyTemplates 逆透視列的教程。我將向您展示如何取消透視多列組合。您可以在本博客底部觀看本教程的完整視頻。

這是 unpivot 變體系列的一部分,它是關於將您的數據轉換為適合分析的適當表格格式。大多數轉換都可以使用用戶界面執行。

我要向您展示的示例來自論壇中 LuckyTemplates 成員提出的。如果我們查看源表,我們會看到一行。所需的佈局顯示三個記錄,其中源表中的單行按加班類型拆分。

LuckyTemplates Unpivot 列 - Power Query 教程

因此,我們需要創建一個屬性來說明該記錄中的值,然後結合該加班類型的工時和成本。

有多種方法可以實現此目的,但我將與您分享一個使用強大 M 函數的解決方案,該功能無法通過名為List.Zip的功能區獲得。那麼讓我們來看看它是如何工作的。

目錄

LuckyTemplates Unpivot 列使用 List.Zip

在左上角,我放大了數據對,我們可以區分三種加班類型。List.Zip 函數採用包含嵌套列表的單個列表,然後返回包含嵌套列表的單個列表作為結果。

LuckyTemplates Unpivot 列 - Power Query 教程

我們的第一個列表將包含發送有關該記錄值的信息的屬性。第二個列表將包含小時數,最後一個列表是成本。

如果我們向右看,我們可以看到 List.Zip 然後根據它們的位置組合嵌套列表中的這些值。因此,左側第一行的所有內容都合併到右側的新列表中。同樣的事情發生在我們提供的 List.Zip 源列表中的每一行。

現在,讓我們轉到Power Query。我已經提到過 List.Zip 無法通過功能區獲得,因此我們必須編寫一些實際的 M來使用它。如果我們添加一個自定義列,我們就可以做到這一點。

因此,通過左角的迷你表,我將選擇Add Custom Column

LuckyTemplates Unpivot 列 - Power Query 教程

讓我們輸入 List.Zip,然後加上左括號。它尋找帶有列表的單個列表,對嗎?所以我將使用列表初始值設定項來創建該列表。

然後,我們看到文本值,每種加班類型一個。我將添加一個逗號並創建一個新列表。請記住,List.Zip 根據它們在列表中的位置組合值。因此,我們必須以完全相同的順序傳遞值。然後,我將為該列表加上一個大括號。

我們的最終列表將包含成本,因此我將放置一個逗號和左大括號,並以相同的順序選擇值。再次,為該列表添加一個右大括號,然後為包含列表的列表添加一個右大括號,並為函數添加另一個右括號。然後,單擊“確定”。

LuckyTemplates Unpivot 列 - Power Query 教程

現在,我們不再需要此處的值列,對嗎?所以我要選擇第一個,按 shift,選擇最後一個,然後單擊並刪除列

LuckyTemplates Unpivot 列 - Power Query 教程

我將在此處的空白處單擊“決定”以查看我們列表的內容。我們可以看到我們有一個包含多個列表的列表,而這正是 List.Zip 生成的輸出。

LuckyTemplates Unpivot 列 - Power Query 教程

擴展到新行並提取值

因此,使用那些橫向箭頭,我將擴展到新行。

LuckyTemplates Unpivot 列 - Power Query 教程

它產生了三個記錄。當我再次單擊空白處的一側時,我們可以看到我們擁有第一條記錄的值。

LuckyTemplates Unpivot 列 - Power Query 教程

我們可以通過再次單擊那些側向箭頭並單擊Extract Values來提取它們,然後選擇一個分隔符。我要選擇一個選項卡,然後按 OK。

LuckyTemplates Unpivot 列 - Power Query 教程

所有的值都沒有組合在一個列中,所以在 Transform 選項卡上,我們可以選擇Split Column,然後單擊By limiter

LuckyTemplates Unpivot 列 - Power Query 教程

然後在這裡,我們選擇選項卡並按確定。

LuckyTemplates Unpivot 列 - Power Query 教程

它沒有正確檢測數據類型,因此按下 shift 鍵,我將選擇最後一列,然後在 Transform 選項卡上選擇Detect Data Types

LuckyTemplates Unpivot 列 - Power Query 教程

現在,讓我們為這些列指定適當的名稱。

LuckyTemplates Unpivot 列 - Power Query 教程


如何在 LuckyTemplates 中取消透視列
LuckyTemplates 中的取消透視和透視基礎知識 – 查詢編輯器回顧
LuckyTemplates 查詢參數:優化表

結論

在本教程中,我向您展示瞭如何在不使用功能區上可訪問的任何 LuckyTemplates Unpivot Columns 命令的情況下對多個列組合進行 unpivot。在這裡,我使用 List.Zip 在 Power Query 中逆透視數據集。

我建議您探索更多此功能並在您自己的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 用戶最初應該了解的主要主題之一。