全部展開/全部摺疊
coalesce - 指令碼與圖表函數在此頁面
coalesce 函數會傳回參數中第一個具有效 non-NULL 表示法的參數。可使用任意數目的參數。
語法:
coalesce( expr1[ , expr2
, expr3 , ...] )
傳回的資料類型: 雙值
引數 expr1 要檢查非 NULL 表示的有效性的第一個運算式。 expr2 要檢查非 NULL 表示的有效性的第二個運算式。 expr3 要檢查非 NULL 表示的有效性的第三個運算式。
範例:圖表運算式 Coalesce(ProductDescription, ProductName, ProductCode, 'no description available')
若某些欄位沒有適用於產品的值,此運算式將會在三個不同的產品描述欄位之間選取。依照函數中列出的順序,傳回第一個具有非 Null 值的欄位。若沒有任何欄位包含值,結果將會是 no description available 。 Coalesce(TextBetween(FileName, '"', '"'), FileName)
此運算式將會從欄位 FileName 修剪可能加括號的引用。若給定的 FileName 被引用,會移除這些內容,並傳回加上括號、未引用的 FileName 。若 TextBetween 函數沒有找到 Coalesce 拒絕、傳回 NULL 的分隔符號,會改為傳回原始 FileName 。
範例 - Coalesce 基礎事項 圖表運算式 概述
載入了包含產品和價格資料的資料表格。您想要確保以替代值取代任何 Null 值。
開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。
載入指令碼包含:
載入指令碼
Set NullInterpret = '';
Example:
LOAD * INLINE [
ProductID, ProductName, Price
1, Laptop, 1000
2, , 800
3, Desktop, 1200
4, , 500
5, Tablet, 600
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
建立下列計算維度:
建立下列量值:
建立新的表格並新增下列運算式作為計算維度:
建立下列量值:
下表中的結果顯示了 Coalesce 函數如何使用替代值 Unknown Product 取代原始資料集中的 Null 值。
結果表格 1 ProductID ProductName Coalesce(ProductName, 'Unknown Product') Sum(Price) Totals 4100 1 Laptop Laptop 1000 2 - Unknown Product 800 3 Desktop Desktop 1200 4 - Unknown Product 500 5 Tablet Tablet 600
結果表格 2 Coalesce(ProductName, 'Unknown Product') Sum(Price) Totals 5 Desktop 600 Laptop 1000 Tablet 600 Unknown Product 1300
範例 - 使用優先替代值取代 Null 值 圖表運算式 概述
此範例使用 Coalesce 函數,根據指定的優先順序邏輯,以替代值取代缺漏的位置資料。
開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。
載入指令碼包含:
載入指令碼
Set NullInterpret = '';
Example:
LOAD * INLINE [
LocationID, Country, State, City
L001, USA, California, Los Angeles
L002, USA, ,
L003, Canada, Ontario,
L004, , New South Wales, Sydney
L005, UK, , London
L006, , , London
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
LocationID
Country
State
City
建立下列計算維度:
結果表格 LocationID Country State City Coalesce(Country, State, City) L001 USA California Los Angeles USA L002 USA - - USA L003 Canada Ontario - Canada L004 - New South Wales Sydney New South Wales L005 UK - London UK L006 - - London London
結果顯示,雖然有缺漏的值,但您可以使用 Coalesce 函數提供邏輯,指示如何使用替代值填入這些執行個體以完成資料集。例如,L004 缺少 Country 值。Coalesce 函數傳回 New South Wales ,因為 State 是優先順序邏輯中列出的第二個欄位,可在 Country 的值缺漏時使用。