概念: テーブルおよびデータセット内の NULL 値
テーブルまたはデータセットのフィールド値が空の場合、それは NULL 値とみなされます。分析に対してテーブルを有効にするか、データセットをパブリッシュすると、すべての NULL の値が Prism データ ソース内のデフォルト値に置き換えられます。Prism データ ソース、Discovery Board、レポートには、NULL 値の概念がありません。
テーブルでの NULL 値の処理方法
特定のフィールドの値がソースからの生データにないため、値が NULL になることがあります。
データセットでの NULL 値の処理方法
以下の理由で、値が NULL になることがあります。
- ソースからの生データに、特定のフィールドの値がありません。
- 外部データ ソースからの生データを、指定されたフィールド タイプに対して解析できません。
- Prism 計算フィールドの式が空または無効な結果を返します。
- データセット "" には結合ステージが含まれており、以下が可能です。
- 外部結合を設定する (少なくとも 1 つのデータセット パイプラインからのすべての行を含める)。
- いずれかのパイプラインからもう一方のパイプラインに一致するものはありません。
フィールド タイプ別のデフォルト値
Workday では、Prism データ ソース内で NULL を以下の値に置き換えます。
フィールド タイプ | Prism データ ソースの値 |
|---|---|
ブール値 | 偽 |
通貨 | 0 (通貨コードなし) |
日付 | (空白)
分析が有効になっているテーブルの日付値が 0000-12-31T23:59:59.999Z 結果が表示されない。 |
数値、Double、Integer、Long | 0 |
インスタンス | (空白) |
マルチインスタンス | (空白) |
テキスト | (空白) |
式内の NULL 値
Prism Analytics は、Prism 計算フィールド、フィルタ ステージ、および派生データセットのカスタム サンプル データを定義する際に、数式を使用します。データセットが式の NULL 値を処理する方法は、SQL 標準と一致しています。つまり、次のとおりです。
- NULL を返す数値フィールドでの算術計算。例:5 + NULLNULL を返します。
- NULL を返すブール値フィールドを生成する比較演算。例:5 > NULLNULL を返します。
通貨フィールドには、フィールド値に対して 2 つの構成要素 (通貨コードと通貨値) があり、その結果、NULL の処理が算術計算における数値フィールドとは少し異なります。
- NULL を返す Currency フィールドでの加算および減算の計算。例:TO_CURRENCY("5.00 USD") + NULLNULL を返します。
- 異なる通貨コードを使用している "通貨" 値に対する加算および減算の計算は、NULL を返します。例:TO_CURRENCY("5.00 USD") + TO_CURRENCY("5.00 EUR")NULL を返します。
比較演算子では "通貨" フィールドを使用できません。ただし、以下の構文を使用して、NULL 値をテストできます。
valueIS NULLvalueIS NOT NULL
ブール式の詳細については、 参考: ブール式を参照してください。
フィルタ ステージ内の NULL 値
次のような式を使用してフィールドでフィルタリングする場合
[field] != MyValue
: 値が "MyValue" または "NULL" であるすべてのレコードが除外されます。この動作の背後にあるロジックは次のとおりです。
- NULL を含む比較演算子は NULL を返します。
- Workday は、NULL ブール値を偽と評価します。
GROUP BY ステージ内の NULL 値
"グループ基準" ステージを作成する場合、グループ化するデータセット フィールドと要約する別のフィールドを選択します。NULL 値の処理方法は、フィールドの使用方法によって異なります。
- グループ化フィールドの場合、NULL 値はそれぞれ独自のグループに入れられます。
- 要約フィールドの場合、NULL の処理は要約タイプによって異なります。
集計タイプ | 説明 |
|---|---|
平均 | グループ内の有効なすべての数値の平均を返します。指定された式のすべての値を合計し、有効な (NULL ではない) 行数で除算します。
通貨フィールドに複数の通貨コードが含まれている場合、結果はヌルになります。 |
件数 | グループ内のすべての行数を返します (NULL と非 NULL の両方のすべての値をカウントします)。
通貨フィールドに複数の通貨コードが含まれている場合、結果はヌルになります。 |
最大値 | NULL 以外のすべての値で最大の値を返し、すべての値が NULL の場合は NULL を返します。
通貨フィールドに複数の通貨コードが含まれている場合、結果はヌルになります。 |
最小値 | NULL 以外のすべての値の中で最小の値を返し、すべての値が NULL の場合は NULL を返します。
通貨フィールドに複数の通貨コードが含まれている場合、結果はヌルになります。 |
合計 | NULL 以外のすべての値の合計を返し、すべての値が NULL の場合は NULL を返します。
通貨フィールドに複数の通貨コードが含まれている場合、結果はヌルになります。 |