示例列 - Power Query 中的人工智能

我的 YouTube 頻道上觀看次數最多的視頻之一是有關 Microsoft Excel 中的 Flash 填充的視頻。 這個工具的本質是,如果你需要以某種方式轉換你的源數據,那麼你只需要開始在相鄰的列中輸入你想要得到的結果。 在手動鍵入幾個單元格(通常 2-3 個就足夠了)之後,Excel 會“理解”您需要的轉換邏輯並自動繼續您鍵入的內容,為您完成所有單調的工作:

效率的精髓。 我們都非常喜歡的神奇的“做對”按鈕,對吧?

事實上,Power Query 中有一個類似工具的工具——它被稱為 示例中的列 (來自示例的列). 實際上,這是 Power Query 中內置的一個小型人工智能,可以快速從您的數據中學習,然後對其進行轉換。 讓我們仔細看看它在幾個實際場景中的能力,以了解它在實際任務中對我們有用的地方。

示例 1. 粘貼/剪切文本

假設我們在 Excel 中有這樣一個“智能”表,其中包含員工數據:

示例列 - Power Query 中的人工智能

以標準方式將其加載到 Power Query 中 - 使用按鈕 從表/範圍 選項卡 數據 (數據——來自表/範圍).

假設我們需要為每個員工添加一個包含姓氏和首字母縮寫的列(第一個員工的 Ivanov SV 等)。 要解決此問題,您可以使用以下兩種方法之一:

  • 右鍵單擊包含源數據的列標題並選擇命令 從示例中添加列 (從示例中添加列);

  • 選擇一個或多個包含數據的列,然後在選項卡上 添加列 選擇一個團隊 示例中的列. 在這裡,在下拉列表中,您可以指定是否需要分析所有或僅選定的列。

然後一切都很簡單——在右側出現的列中,我們開始輸入所需結果的示例,Power Query 中內置的人工智能試圖理解我們的轉換邏輯並自行繼續:

示例列 - Power Query 中的人工智能

順便說一句,您可以在此列的任何單元格中輸入正確的選項,即不一定是自上而下和連續。 此外,您稍後可以使用標題欄中的複選框輕鬆地在分析中添加或刪除列。

注意窗口頂部的公式——這是智能 Power Query 為獲得我們需要的結果而創建的。 順便說一句,這是該工具與 即時填充 在 Excel 中。 即時填充就像一個“黑匣子”——它們不會向我們展示轉換的邏輯,而只是給出現成的結果,我們認為它們是理所當然的。 在這裡,一切都是透明的,您始終可以絕對清楚地了解數據到底發生了什麼。

如果您看到 Power Query “抓住了這個想法”,那麼您可以放心地按下按鈕 OK 或鍵盤快捷鍵 按Ctrl+Enter – 將創建一個自定義列,其中包含 Power Query 發明的公式。 順便說一句,以後可以輕鬆地將其編輯為常規手動創建的列(使用命令 添加列 - 自定義列) 通過單擊步驟名稱右側的齒輪圖標:

示例列 - Power Query 中的人工智能

示例 2:句子中的大小寫

如果您右鍵單擊帶有文本的列標題並選擇命令 轉型 (轉換),然後您可以看到三個負責更改寄存器的命令:

示例列 - Power Query 中的人工智能

方便又酷,但在這個列表中,例如,我個人一直缺少一個選項 - 句子中的大小寫,當大寫(大寫)不是每個單詞的第一個字母,而只是單元格中的第一個字母,並且This 以小寫(小)字母顯示時的其余文本。

這個缺失的功能很容易用人工智能實現 示例中的列 – 只需為 Power Query 輸入幾個選項,以同樣的精神繼續:

示例列 - Power Query 中的人工智能

作為這裡的公式,Power Query 使用了一堆函數 文本.Upper и 文本.下,將文本分別轉換為大寫和小寫,以及函數 文本.開始 и 文本.Mid – Excel 函數 LEFT 和 PSTR 的類似物,能夠從左側和中間的文本中提取子字符串。

示例 3. 單詞的排列

有時,在處理接收到的數據時,有必要以給定的順序重新排列單元格中的單詞。 當然,你可以通過分隔符將列分成單獨的單詞列,然後按照指定的順序粘回去(不要忘記添加空格),但要藉助工具 示例中的列 一切都會容易得多:

示例列 - Power Query 中的人工智能

示例 4:只有數字

另一個非常重要的任務是從單元格的內容中只提取數字(數字)。 和以前一樣,將數據加載到 Power Query 後,轉到選項卡 添加列 - 示例中的列 並手動填寫幾個單元格,以便程序了解我們想要得到的確切內容:

示例列 - Power Query 中的人工智能

賓果!

同樣,值得查看窗口頂部以確保 Query 正確生成了公式——在這種情況下,它包含一個函數 文本。 選擇,正如您可能猜到的那樣,它根據列表從源文本中提取給定的字符。 隨後,如果需要,當然可以在編輯欄中輕鬆編輯此列表。

示例 5:僅文本

與前面的示例類似,您可以拉出,反之亦然——僅刪除文本,刪除所有數字、標點符號等。

示例列 - Power Query 中的人工智能

在這種情況下,使用了一個含義已經相反的函數——Text.Remove,它根據給定的列表從原始字符串中刪除字符。

示例 6:從字母數字粥中提取數據

當您需要從單元格中的字母數字粥中提取有用信息時,Power Query 還可以提供幫助,例如,從銀行對帳單上的付款目的描述中獲取帳號:

示例列 - Power Query 中的人工智能

請注意,Power Query 生成的轉換公式可能非常複雜:

示例列 - Power Query 中的人工智能

為了便於閱讀和理解,可以使用免費的在線服務將其轉換為更健全的形式。 Power Query 格式化程序:

示例列 - Power Query 中的人工智能

非常方便的東西——尊重創作者!

示例 7:轉換日期

工具 示例中的列 也可以應用於日期或日期時間列。 當您輸入日期的第一個數字時,Power Query 將幫助顯示所有可能的轉換選項的列表:

示例列 - Power Query 中的人工智能

因此,您可以輕鬆地將原始日期轉換為任何奇特的格式,例如“年-月-日”:

示例列 - Power Query 中的人工智能

示例 8:分類

如果我們使用該工具 示例中的列 對於具有數字數據的列,它的工作方式不同。 假設我們將員工測試結果加載到 Power Query 中(條件分數在 0-100 範圍內),並且我們使用以下條件等級:

  • 大師 - 得分超過 90 的人
  • 專家 - 得分從 70 到 90
  • 用戶 - 從 30 到 70
  • 初學者——得分低於 30 的人

如果我們將示例中的一列添加到列表中並開始手動排列這些漸變,那麼 Power Query 很快就會接受我們的想法並添加帶有公式的列,其中運算符相互嵌套 if 邏輯將被實現,與我們需要的非常相似:

示例列 - Power Query 中的人工智能

同樣,您不能將情況按到最後,而是單擊 OK 然後修正公式中已經存在的閾值——這樣更快:

示例列 - Power Query 中的人工智能

結論

當然是工具 示例中的列 不是“靈丹妙藥”,遲早會出現非標準情況或數據中特別被忽視的“集體農場”情況,屆時 Power Query 將失敗並且無法計算出我們想要的結果對我們來說正確。 不過作為輔助工具,還是很不錯的。 另外,通過學習他生成的公式,你可以擴展你對M語言功能的了解,這在未來總是會派上用場。

  • 在 Power Query 中使用正則表達式 (RegExp) 解析文本
  • Power Query 中的模糊文本搜索
  • Microsoft Excel 中的快速填充

發表評論