NULL - 指令碼與圖表函數
Null 函數會傳回 null 值。
語法:
Null( )
傳回的資料類型: NULL
範例 | 結果 |
---|---|
If(Product = 'A', Null(),Sum(Sales)) | 此運算式對 Product A 傳回 NULL,否則傳回該產品的銷售總和。 |
範例 - Null 基礎事項
概述
使用簡單的資料集來示範 Null 函數的不同用法。
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
載入到稱為 Example 之資料表格的資料集。
資料表格中的欄位如下:
ID
Value
載入指令碼
Example:
LOAD * Inline
[ID, Value
0,
1,NULL
2,-
3,378];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
ID
Value
建立下列計算維度:
=If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ),如果 Value 欄位有下列任何情況:沒有值、破折號 (-) 字元或值 NULL,則傳回 NULL,否則傳回該值。
=If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F'),用來根據 Value 欄位是否包含 Null 值,傳回值 T (true) 或 F (false)。
ID | Value | If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ) | If(IsNull(If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value )), 'T', 'F') |
---|---|---|---|
0 | - | T | |
1 | NULL | - | T |
2 | - | - | T |
3 | 378 | 378 | F |
Value 欄顯示資料集中輸入的資料。第一個量值 (第 3 欄) 對於滿足 IF 陳述式:len(trim(Value))= 0 or Value='NULL' or Value='-' 之條件的值,使用 Null 函數傳回 NULL。例如,前 3 列符合要求,傳回 NULL。最後一列傳回輸入的值 378。
第二個量值 (第 4 欄) 採用第 3 欄中的值,並傳回 T (如果是 NULL) 或 F (如果不是 NULL)。結果顯示,前 3 列都是 Null 值。
在此範例中,會載入含有四列的內嵌表格,其中前三行不包含任何內容,或是在 Value 欄中包含破折號 - 或文字 NULL。我們要將這些值轉換為真正的 NULL 值表示法。
這個中間前置 LOAD 使用 Null 函數執行轉換。
第一個前置 LOAD 會新增一個欄位,僅針對此範例中的圖例,檢查值是否為 NULL。
NullsDetectedAndConverted:
LOAD *,
If(IsNull(ValueNullConv), 'T', 'F') as IsItNull;
LOAD *,
If(len(trim(Value))= 0 or Value='NULL' or Value='-', Null(), Value ) as ValueNullConv;
LOAD * Inline
[ID, Value
0,
1,NULL
2,-
3, 386];
以下是產生的表格。在 ValueNullConv 資料列中,NULL 值由 - 代表。
ID | Value | ValueNullConv | IsItNull |
---|---|---|---|
0 | - | T | |
1 | NULL | - | T |
2 | - | - | T |
3 | 386 | 386 | F |
範例 - 使用 Null 排除值
概述
分析銷售資料以判定總銷售額以及與 Product A 無關的銷售額。
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
載入到稱為 Example 之資料表格的資料集。
資料表格中的欄位如下:
Product
Sales
載入指令碼
Example:
LOAD * Inline [
Product, Sales
A, 100
B, 150
C, 200
D, 250
];
結果
載入資料並開啟工作表。建立新的表格並將此欄位新增為維度:
Product
建立下列量值:
=Sum(Sales),用來計算銷售總額。
=If(Product = 'A', Null(),Sum(Sales)),用來計算 Product 不是 A 的銷售總額。
Product | Sum(Sales) | If(Product = 'A', Null(),Sum(Sales)) |
---|---|---|
A | 100 | - |
B | 150 | 150 |
C | 200 | 200 |
D | 250 | 250 |
此範例顯示了一種計算總銷售額的簡單方式,然後使用 Null 函數將值設為 NULL,藉此排除特定產品的銷售額。例如,在第二個量值中,Product A 的所有值都傳回 NULL 並且遭到排除。