概念︰表格和資料集中的 NULL 值
如果表格或資料集中的欄位值為空白,則會被視為 NULL 值。當您啟用表格進行分析或發布資料集時,Workday 會以 Prism 資料來源中的預設值取代所有 NULL 值。Prism 資料來源、探索看板和報告沒有 NULL 值的概念。
表格如何處理 NULL 值
值可以為 NULL,因為來源的原始資料缺少特定欄位的值。
資料集處理 NULL 值的方式
值可能為 NULL 的原因如下︰
- 來源的原始資料缺少特定欄位的值。
- 無法針對指定的欄位類型剖析來自外部資料來源的原始資料。
- Prism 計算欄位運算式會傳回空白或無效的結果。
- 資料集包含「聯結」階段,且︰
- 您配置外部聯結 (包括至少一個資料集資料處理進程中的所有列)。
- 1 個資料處理進程與另一個資料處理進程沒有相符項目。
預設值 - 依欄位類型
Workday 會在 Prism 資料來源中以下列值取代 NULL︰
欄位類型 | Prism 資料來源中的值 |
|---|---|
布林運算子 | False |
貨幣 | 0 (貨幣代碼空白) |
日期 | (空白)
如果表格中啟用分析的日期值為 0000-12-31T23:59:59.999Z ,則 Workday 顯示的結果不一致。 |
數值、雙精度、整數、長整數 | 0 |
實例 | (空白) |
多重實例 | (空白) |
文字 | (空白) |
運算式中的 NULL 值
Prism 分析會在 Prism 計算欄位、篩選階段,以及在衍生資料集中定義自訂範例資料時使用運算式。資料集處理運算式中 NULL 值的方式與 SQL 標準一致。這表示︰
- 對涉及 NULL 的數值欄位進行算術計算,會傳回 NULL。範例︰5 + NULL傳回 NULL。
- 產生涉及 NULL 的布林值欄位的比較運算會傳回 NULL。範例︰5 > NULL傳回 NULL。
「貨幣」欄位的欄位值有 2 個組成元素 (貨幣代碼和貨幣值),因此在處理 NULL 時,與算術計算中的數值欄位略有不同。
- 「貨幣」欄位的加法和減法計算若有 NULL,則會傳回 NULL。範例︰TO_CURRENCY("5.00 USD") + NULL傳回 NULL。
- 使用不同貨幣代碼的貨幣值的加法和減法計算會傳回 NULL。範例︰TO_CURRENCY("5.00 USD") + TO_CURRENCY("5.00 EUR")傳回 NULL。
您無法在比較運算中使用貨幣欄位。但是,您可以使用以下語法來測試 NULL 值︰
valueIS NULLvalueIS NOT NULL
如需有關布林運算式的詳細資料,請參閱 「參照︰布林運算式」。
篩選階段中的 NULL 值
當您使用類似「」的運算式對欄位進行篩選時
[field] != MyValue
、Workday 會篩選掉所有值為 MyValue 或 NULL 的記錄。此行為背後的邏輯如下︰
- 涉及 NULL 的比較運算子會傳回 NULL。
- Workday 將 NULL 布林值評估為 False。
「分組依據」階段中的 NULL 值
當您建立「分組依據」階段時,您可以選取一個資料集欄位進行分組,並選取另一個欄位進行匯總。Workday 處理 NULL 值的方式取決於您使用以下欄位的方式︰
- 對於分組欄位,任何 NULL 值都會產生各自的群組。
- 對於匯總欄位,NULL 的處理取決於匯總類型。
匯總類型 | 說明 |
|---|---|
平均 | 傳回群組中所有有效數值的平均值。它將提供的運算式中所有值加總,然後除以有效 (非 NULL) 的列數。
如果貨幣欄位包含多個貨幣代碼,則結果為 NULL。 |
計數 | 傳回群組中所有列的數目 (計算所有值,包括 NULL 和非 NULL)。
如果貨幣欄位包含多個貨幣代碼,則結果為 NULL。 |
最高 | 傳回所有非 NULL 值的最大值,如果所有值都為 NULL,則傳回 NULL。
如果貨幣欄位包含多個貨幣代碼,則結果為 NULL。 |
最低 | 傳回所有非 NULL 值的最小值,如果所有值都為 NULL,則傳回 NULL。
如果貨幣欄位包含多個貨幣代碼,則結果為 NULL。 |
總和 | 傳回所有非 NULL 值的總和,如果所有值為 NULL,則傳回 NULL。
如果貨幣欄位包含多個貨幣代碼,則結果為 NULL。 |