EmptyIsNull - 指令碼與圖表函數
EmptyIsNull 函數將空的字串轉換為 NULL。因此,若參數是空的字串,這會傳回 NULL,否則會傳回參數。
語法:
EmptyIsNull(exp )
傳回的資料類型: 若參數是空的字串,就會傳回 NULL,否則會傳回參數
引數 | 描述 |
---|---|
expr | 包含待測量之資料的運算式或欄位。 |
範例 | 結果 |
---|---|
EmptyIsNull(AdditionalComments) |
此運算式將會對 AdditionalComments 欄位任何空的字串值傳回 NULL,而非傳回空的字串。會傳回非空字串和數字。 |
EmptyIsNull(PurgeChar(PhoneNumber, ' -()')) |
此運算式將會從 PhoneNumber 欄位移除任何破折號、空格和括弧。若沒有剩下任何字元,EmptyIsNull 函數會以 NULL 傳回空的字串;空的 phone number 與無 phone number 相同。 |
範例 - EmptyIsNull 基礎事項
概述
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
-
載入到稱為 Example 之資料表格的資料集。
-
資料表格中的欄位如下:
-
CustomerID
-
OrderID
-
Product
-
Status
-
PhoneNumber
-
載入指令碼
Example:
LOAD * inline [
CustomerID, OrderID, Product, Status, PhoneNumber
1, 1001, Widget,, (0123) 456 789
2, 1002, Gizmo, Open,-
3, 1003, Gadget, Closed,()
4, 1004, Widget,,678-9888
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
-
CustomerID
-
OrderID
-
Product
-
Status
建立下列計算維度:
-
=EmptyIsNull(Status),將 Status 欄位中的任何空字串值作為 NULL 傳回。
-
=EmptyIsNull(PurgeChar(PhoneNumber, ' -()')),用來從 PhoneNumber 欄位移除任何破折號、空格和括弧。若沒有剩下任何字元,EmptyIsNull 函數會以 NULL 傳回空的字串;空的電話號碼與無電話號碼相同。
CustomerID |
OrderID |
Product | Status | EmptyIsNull(Status) | EmptyIsNull(PurgeChar(PhoneNumber, ' -()')) |
---|---|---|---|---|---|
1 | 1001 | Widget | - | 0123456789 | |
2 | 1002 | Gizmo | Open | Open | - |
3 | 1003 | Gadget | Closed | Closed | - |
4 | 1004 | Widget | - | 6789888 |
在 Status 欄中,請注意,具有空值的記錄顯示為具有預設透明背景顏色的空儲存格。EmptyIsNull(Status) 量值的輸出對於這些空值傳回 NULL,如含有灰色儲存格背景的破折號 (-) 字元所示。
第二個量值使用 EmptyIsNull 函數與 PurgeChar - 指令碼與圖表函數,以從 PhoneNumber 欄位中移除任何破折號 (-)、空格和括弧 (),然後將任何剩餘的空字串作為 NULL 傳回。具有 Null 值的儲存格現在以破折號 (-) 和灰色背景格式顯示。
範例 - 使用文字取代 Null 值並新增條件格式
概述
銷售經理希望分析銷售資料並輕鬆識別包含遺漏值的記錄。
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
-
載入到稱為 Example 之資料表格的資料集。
-
資料表格中的欄位如下:
-
ID
-
Name
-
Age
-
Email
-
Sales
-
Region
-
OrderStatus
-
載入指令碼
Example:
LOAD * inline [
ID,Name, Age, Email, Sales, Region, OrderStatus
1, John Smith, 30, john@email.com, 1000, North, Active
2, Jane Doe, '', jane@email.com, 1500, South, Active
3, Bob Johnson, 45, '', 800, East, Inactive
4, Alice Brown, 28, alice@email.com, '', West, Active
5, Charlie Lee, '', charlie@email.com, 1200, '', Active
6, Eva Green, 35, eva@email.com, 950, North, ''
7, David White, 50, '', '', South, Inactive
8, Fiona Black, 42, fiona@email.com, 1100, East, Active
];
結果
載入資料並開啟工作表。建立新的表格並將此欄位新增為維度:
-
ID
建立下列計算維度:
-
=If(IsNull(EmptyIsNull(Age)), 'NULL', EmptyIsNull(Age)),用來將 Age 欄位中的任何空字串值作為 NULL 傳回,然後使用值 NULL (而不是破折號 (-) 字元) 識別並填入所有 Null 值。
-
=If(IsNull(EmptyIsNull(Email)), 'NULL', EmptyIsNull(Email)),用來將 Email 欄位中的任何空字串值作為 NULL 傳回,然後使用值 NULL (而不是破折號 (-) 字元) 識別並填入所有 Null 值。
-
=If(IsNull(EmptyIsNull(Sales)), 'NULL', EmptyIsNull(Sales)),用來將 Sales 欄位中的任何空字串值作為 NULL 傳回,然後使用值 NULL (而不是破折號 (-) 字元) 識別並填入所有 Null 值。
-
=If(IsNull(EmptyIsNull(Region)), 'NULL', EmptyIsNull(Region)),用來將 Region 欄位中的任何空字串值作為 NULL 傳回,然後使用值 NULL (而不是破折號 (-) 字元) 識別並填入所有 Null 值。
-
=If(IsNull(EmptyIsNull(OrderStatus)), 'NULL', EmptyIsNull(OrderStatus)),用來將 OrderStatus 欄位中的任何空字串值作為 NULL 傳回,然後使用值 NULL (而不是破折號 (-) 字元) 識別並填入所有 Null 值。
設定條件儲存格格式,以將 NULL 值的背景顏色變更為紅色,並將其他所有值的背景顏色變更為綠色。在每個維度和量值的屬性面板中,輸入下列運算式作為背景色彩運算式:
-
ID (維度): =RGB(200,255,200)
-
Age (量值): =If(IsNull(EmptyIsNull(Age)), RGB(255,200,200), RGB(200,255,200))
-
Email (量值):=If(IsNull(EmptyIsNull(Email)), RGB(255,200,200), RGB(200,255,200))
-
Sales (量值):=If(IsNull(EmptyIsNull(Sales)), RGB(255,200,200), RGB(200,255,200))
-
Region (量值):=If(IsNull(EmptyIsNull(Region)), RGB(255,200,200), RGB(200,255,200))
-
OrderStatus (量值):=If(IsNull(EmptyIsNull(OrderStatus)), RGB(255,200,200), RGB(200,255,200))
ID |
If(IsNull(EmptyIsNull(Age)), 'NULL', EmptyIsNull(Age)) |
If(IsNull(EmptyIsNull(Email)), 'NULL', EmptyIsNull(Email)) | If(IsNull(EmptyIsNull(Sales)), 'NULL', EmptyIsNull(Sales)) | If(IsNull(EmptyIsNull(Region)), 'NULL', EmptyIsNull(Region)) | If(IsNull(EmptyIsNull(OrderStatus)), 'NULL', EmptyIsNull(OrderStatus)) |
---|---|---|---|---|---|
1 | 30 | john@email.com | 1000 | North | Active |
2 | NULL | jane@email.com | 1500 | South | Active |
3 | 45 | NULL | 800 | East | Inactive |
4 | 28 | alice@email.com | NULL | West | Active |
5 | NULL | charlie@email.com | 1200 | NULL | Active |
6 | 35 | eva@email.com | 950 | North | NULL |
7 | 50 | NULL | NULL | South | Inactive |
8 | 42 | fiona@email.com | 1100 | East | Active |
結果顯示,透過使用 EmptyIsNull 函數並新增條件格式,可以輕鬆識別有遺漏值的記錄。