LuckyTemplates 替換文本教程:有條件的完全和部分替換

LuckyTemplates 替換文本教程:有條件的完全和部分替換

此博客將演示如何通過在 Power Query 中結合條件性完整和部分文本替換,在一個簡單的步驟中替換 LuckyTemplates 中的文本。您可以在本博客底部觀看本教程的完整視頻

Power Query中,您可以將一個值替換為選定列中的另一個值、特定值或單元格中的整個值。我們將使用此功能來完全和部分替換文本。讓我們開始吧!

LuckyTemplates 替換文本教程:有條件的完全和部分替換

上圖代表我們的數據,由幾個文本字符串組成。我們還有一個替換列表,您可以在下面看到,其中包含查找值,然後是替換它的內容。我們希望完全替換一些值,部分替換其他值,但兩者都列在此處。

LuckyTemplates 替換文本教程:有條件的完全和部分替換

目錄

替換值

LuckyTemplates 替換文本教程:有條件的完全和部分替換

首先,轉到 Transform Tab,選擇 Replace Values,然後 在上面的 Replace Values 窗口中按OK  。之後,我們將打開並使用下面的高級編輯器 窗口。

替換 LuckyTemplates 數據集中的文本

我們想要查找名稱列中的每個值,因此我們  在第四行的 旁邊輸入每個 [名稱] 。

LuckyTemplates 替換文本教程:有條件的完全和部分替換

接下來,我們要根據替換列表中的內容執行條件替換。如果我們可以匹配整個字符串,我們想完全替換它。

如果沒有,我們要尋找部分文本替換。所以我們繼續輸入 if List.Contains( Replacements, ,(“Name”)

LuckyTemplates 替換文本教程:有條件的完全和部分替換

現在,這將不起作用,因為正如我們之前看到的,我們的 Replacements 列表包含一個帶有嵌套列表的列表。列表中的每一項都是我們要查找的內容。

因此,我們需要更新此代碼並將我們的 Replacements 轉換為 List.Transform(Replacements, List.First)。 我們將它移到一個新行,現在有下圖。

LuckyTemplates 替換文本教程:有條件的完全和部分替換

用匹配項替換 LuckyTemplates 中的文本

所以我們修改了我們的替換列表,我們只保留第一個項目,我們正在尋找的東西。如果它包含名稱列中的任何內容,我們應該進行全文替換,我們可以使用ListReplaceMatchingItems來檢索替換後的值。

所以在下一行(第 6 行)中,我們輸入 List.ReplaceItems  。 它需要一個列表,所以我們將  在其中輸入那些大括號和名稱 列和 替換列表。我們可以通過放入Compare.OrdinalIgnoreCase來使這種大小寫不敏感。

LuckyTemplates 替換文本教程:有條件的完全和部分替換

此操作將返回一個包含一項的列表,即替換它的值。要提取它,我們可以使用 項目訪問運算符。並且,在那些大括號內,我們指的是它的第一個位置 0

LuckyTemplates 替換文本教程:有條件的完全和部分替換

其他條款

現在 else 子句將類似於 then 子句,所以讓我們複製前面的語法並將其粘貼到下一行。記得把 else 放在開頭。

LuckyTemplates 替換文本教程:有條件的完全和部分替換

文本.拆分

我們需要查看是否存在部分匹配,而不是 Name ,因此我們將拆分名稱列中的字符串。因此,我們可以使用 Text.Split 並將該值拆分為空格。因為它會返回一個列表,所以不需要在此處添加那些大括號。

LuckyTemplates 替換文本教程:有條件的完全和部分替換

替換 LuckyTemplates 中的文本:Text.Combine

因為它只會替換匹配項,所以我們必須將所有這些單詞組合成一個字符串。然後,我將用 Text.Combine 包裹它並添加我們刪除的空格和逗號。

LuckyTemplates 替換文本教程:有條件的完全和部分替換

最後,我們單擊高級編輯器窗口底部的完成,我們得到下表。

LuckyTemplates 替換文本教程:有條件的完全和部分替換

然而,我們的表是 任意類型的。 要解決這個問題,我們需要將該替換器更改為 ReplaceText 而不是 ReplaceValue 並按下該複選標記以完成更改。

LuckyTemplates 替換文本教程:有條件的完全和部分替換

LuckyTemplates 替換文本教程:有條件的完全和部分替換



從示例 LuckyTemplates – Power Query 教程
在 Power Query 列中創建自定義文本清理功能
LuckyTemplates 中不同 Power Query 工具的快速概述

結論

憑藉一些獨創性,我們創建了一個函數,可以根據值列表執行有條件的完整和部分文本替換。我們只需一步就完成了在 Power in BI 中替換文本的過程!

關鍵是創建一個自定義函數,根據我們的替換列表中的內容執行條件替換。如果它可以匹配整個字符串,則將其完全替換。如果沒有,它會尋找部分文本替換。


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