LuckyTemplates Unpivot 列 - Power Query 教程

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 報表中實施它。

一切順利!

梅麗莎


什麼是 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 網關?所有你必須知道的