如何使用 Power Query 行和列選擇

如何使用 Power Query 行和列選擇

本教程將討論如何在Power Query 編輯器中使用選擇和投影。Selection 用於選擇一行;投影用於選擇列。您將學習並了解如何使用它們從表中獲取數據和信息。

目錄

如何使用 Power Query 行選擇

位置索引運算符是一組大括號中從零開始的索引號。查找運算符是一組方括號中的字段名稱。可以組合這些運算符來訪問單個單元格。  

為了演示,這是將使用的示例表查詢。

如何使用 Power Query 行和列選擇

如果要檢索 Item 列中的 Table1 值,請單擊公式欄中的fx並添加一個手動步驟。然後,使用位置索引運算符來引用其從零開始的位置,並使用字段訪問運算符來引用列名。

從 Item 列的 Sheet1 單元格開始,從 0 開始計數,直到 Table1 的單元格。你會發現Table1單元格的位置是2。因此,在大括號內輸入2 。對於字段訪問運算符,輸入 Table1 單元格所屬的列的名稱。之後,您會看到預覽窗格將返回 Table1。

如何使用 Power Query 行和列選擇

如果您右鍵單擊 Table1 單元格中的空間並選擇向下鑽取,您將看到用戶界面生成相同的結果和語法。

如何使用 Power Query 行和列選擇

如何使用 Power Query 行和列選擇

原因是示例表沒有主鍵。具有主鍵的表使用鍵匹配查找。

這是另一個帶有主鍵的示例表查詢。

如何使用 Power Query 行和列選擇

如果您右鍵單擊 Table1 單元格中的空間並選擇向下鑽取,您將看到相同的結果,但語法不同。

如何使用 Power Query 行和列選擇

這是因為鍵匹配查找應用於位置索引運算符。它列出了所選記錄的所有主鍵列及其值。您也可以在上面的第一個示例表查詢中使用鍵匹配查找方法,即使它沒有主鍵。

刪除該表查詢的最後一步,然後單擊公式欄中的fx以添加手動步驟。要獲得相同的結果,您需要將項目值與 Table1 匹配。

如何使用 Power Query 行和列選擇

您會看到它生成了相同的結果。只要搜索條件不匹配表中的多行,該方法就會起作用。

為了說明,這是使用示例表查詢手動創建的代碼。

如何使用 Power Query 行和列選擇

如果您按 Enter,則無法返回單行,並且您會收到一條錯誤消息,指出該鍵與表中的多行匹配。

如何使用 Power Query 行和列選擇

通過添加問號使用可選選擇不會抑制錯誤,因為它只會影響未找到的行為。在這種情況下,找到了符合您條件的多條記錄。

這是您在應用鍵匹配查找時需要注意的事情。當表具有主鍵時,用戶界面將僅使用鍵匹配查找。否則,它將始終使用位置索引運算符。

您可以使用Table.Keys函數檢查表是否具有主鍵。在這第三個示例查詢中,您將看到該函數返回一條記錄。

如何使用 Power Query 行和列選擇

當您單擊記錄單元格內的空間時,您將在預覽窗格下方看到其內容的預覽。

如何使用 Power Query 行和列選擇

您可以看到表的主要狀態為 TRUE。這意味著該表有一個主鍵並包含一個列表,其中包含該表的鍵列。

如何使用 Power Query 列投影

Projection 生成一個包含減少的列數的新表。投影運算符是一組帶有字段或列選擇的方括號。為了演示,將使用此示例表查詢。

如何使用 Power Query 行和列選擇

如果您只想保留數據列,請先通過單擊編輯欄中的fx添加手動步驟。對於語法,在方括號內輸入數據。

如何使用 Power Query 行和列選擇

您可以通過在第一列之後添加逗號然後使用添加的列創建新的方括號來選擇多列。您可以看到投影還根據語法重新排列列順序。

如何使用 Power Query 行和列選擇

引用不存在的列將導致錯誤。如果您在語法中添加新列,預覽窗格中將顯示一條錯誤消息。

如何使用 Power Query 行和列選擇

通過添加問號,將添加任何不存在的列,但它們的值將設置為空。

如何使用 Power Query 行和列選擇

Power Query區分大小寫,在使用選擇或投影時需要注意這一點。

結論


Power Query/M Masterclass #1 – LuckyTemplates 新課程
從 Power Query 中的記錄和列表中提取值

選擇和投影可幫助您從大型表格或源中提取和獲取特定信息。它們可以幫助您挑選出所需的數據。一旦您了解了它們兩者的運作方式,您就會發現您的數據建模技能有了很大的提高。

梅麗莎


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