COALESCE 運算符:Power Query 應用程序

COALESCE 運算符:Power Query 應用程序

本教程將通過研究兩個實際問題來演示如何在 Power Query/M 語言中使用 COALESCE 運算符。您可以在本博客底部觀看本教程的完整視頻。

COALESCE運算符由雙問號 ( ?? )表示。此運算符的工作方式類似於Python 中的or運算符或中的默認函數。如果第一個操作數存在且不為空,則返回第一個操作數,否則返回第二個操作數。

第一個問題涉及值的條件替換。例如,如果第二列包含空值,則結果應返回第一列中的值。否則,該列將保留第 2 列的值。

COALESCE 運算符:Power Query 應用程序

第二種場景是LinkedIn 中 Excel BI提供的挑戰。

COALESCE 運算符:Power Query 應用程序

Excel BI 為Excel 和 Power Query提供日常挑戰。但在大多數情況下,Excel 挑戰也可以使用 Power Query 解決。第二個例子的目標是過濾掉所有不是由兩個單詞組成的字符串。

目錄

示例 #1:使用 COALESCE 運算符替換值

打開查詢編輯器。確保公式欄查詢設置窗格可見。如果沒有,請轉到“視圖”選項卡並切換“佈局”設置。

COALESCE 運算符:Power Query 應用程序

在第一個示例中,使用了一個包含兩列的表。

COALESCE 運算符:Power Query 應用程序

選擇第 2 列並轉到轉換選項卡。然後,單擊“替換值”選項。

COALESCE 運算符:Power Query 應用程序

Replace Values嚮導中,不要進行任何更改,然後按OK

COALESCE 運算符:Power Query 應用程序

這將生成您需要的語法。剩下要做的就是更新公式欄中的代碼以顯示您想要的更改。

使用IF THEN ELSE結構

在這種情況下,代碼需要查找空值。如果第 2 列包含空值,則它將被第 1 列中的值替換。

完成代碼更新後,單擊公式欄旁邊的複選標記。

COALESCE 運算符:Power Query 應用程序

這是有條件地替換錶中空值的方法之一。但是,您可以使用一種更簡單的方法,那就是使用 M 語言中的 COALESCE 運算符。

使用 COALESCE 運算符

COALESCE 運算符由雙問號 ( ?? )表示。

您可以在有條件地測試空值時使用 COALESCE。

要使用 COALESCE 運算符,您首先需要復制上一個示例中的語法,然後單擊公式欄左側的fx選項卡。這會在查詢中創建一個新步驟。

粘貼語法,然後使用 COALESCE 運算符更新它。因此,不要使用If Then Else語句,而是在第 2 列和第 1 列之間放置雙問號。

COALESCE 運算符:Power Query 應用程序

當第 2 列不返回空值時,您將從同一列獲取值。但是當它確實返回 null 時,您將從第 1 列中獲取值。

示例 #2:應用條件過濾器

在第二個示例中,目標是過濾掉不包含兩個單詞的數據。

單擊表格中的過濾器選項並選擇一個隨機過濾器。這將使 Power Query 生成M 代碼語法

COALESCE 運算符:Power Query 應用程序

接下來,更新語法以過濾掉不包含兩個單詞的字符串。由於兩個單詞通常用空格分隔,因此您需要使用Text.Split命令。然後,您需要將它放在List.Count函數中,以便結果返回一個值列表。

完成後,單擊公式欄旁邊的複選標記。在結果表中,您可以看到它包含包含兩個單詞的字符串。但是,最後一行有錯誤。

COALESCE 運算符:Power Query 應用程序

出現錯誤是因為代碼在數據集中遇到了空值。為防止發生此類錯誤,您需要使用 COALESCE 運算符。

因此,在Text.Split參數中,放置?? 在名稱值之後,然後指定如果找到空值,表中顯示的內容。

COALESCE 運算符:Power Query 應用程序

結論

在本教程中,您看到了兩個實際示例,其中可以實現 COALESCE 運算符而不是 If Then Else 語句或 Try Otherwise 構造。

COALESCE 運算符是一個有用的工具,可為可能為空或具有其他默認值的變量提供默認值。它通常用於避免空引用異常或在處理可能丟失或不完整的數據時提供默認值。

一切順利,

梅麗莎·德·科特


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