Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

Tableau での NULL または欠損データのゼロまたは既存のデータへの置換

公開日: Sep 25, 2025
タスク
NULL または欠損値をゼロに置き換える方法。

たとえば、すべてのプロジェクトにはビューに 3 つのフェーズがあり、フェーズの [金額] データがない場合、ビューには 0 が表示されます。
ステップ

この記事の「添付ファイル」セクションにあるサンプルパッケージワークブックに従ってください。  すべての手順は「元の」ワークシートから始まります。

[オプション 1] ZN を使用

  1. [分析] > [計算フィールドの作成] を選択します。
  2. 開いた [計算フィールド] ダイアログボックスで次の操作を行い、[OK] をクリックします。
    1. 計算フィールドに名前を付けます。この例では、計算項目の名前は「Replace empty cells with zero (opt 1) (空のセルを 0 に置き換える (オプション 1))」です。
    2. 式フィールドで、次のような計算を作成します。
      ZN(SUM([Amount])) 
    • ZN() 関数は NULL 値を 0 に置き換えます。
  3. 「 Replace empty cells with last value (opt 1) 」 (空のセルを最後の値に置換 (オプション 1)) のような名前の計算項目を作成し、次のような計算を行います。
    • IFNULL(
          SUM([Amount]),
          PREVIOUS_VALUE(0)
      )
    • IFNULL(..., PREVIOUS_VALUE(0)) は、NULL 値をこの計算の最後の値で置き換え、実行中の最後の値を作成します。
    • ビューの構築方法によっては、PREVious_VALUE() の計算方法が異なることがあります。「テーブル計算による値の変換」を参照してください。
  4. マークカードの [テキスト] の [金額] を、目的の結果に応じて [空のセルを 0 に置換 (選択 1)] または [空のセルを最後の値に置換 (選択 1)] のいずれかに置換
  5. (省略可能) 値を右クリックして、必要に応じて書式設定し、ビューの値をカスタマイズします。 


以下の動画で示されている手順を表示するには、上記のセクションを展開してください。
注意: ビデオに音声はありません。

 

オプション 2: filter を parameter に置き換えます。

このオプションは、NULL データとビューから除外されたデータを 0 で置き換えます。

  1. [データ] ペインの [ディメンション] の横にある下矢印をクリックし、[Create Parameter... (パラメーターを作成...)] を選択します
  2. [パラメーターの作成] ダイアログで、次の操作を行い、[了解] をクリックします。
    1. パラメーターに名前を付けます。この例では、「Date Parameter」 (日付パラメーター) という名前を付けます。
    2. [データ型] で [日付] を選択します。
    3. [許容値] で [すべて] を選択します。
  3. データペインで [Date Parameter] を右クリックし、[Show Parameter Control] を選択します。
  4. [分析]> [計算フィールドの作成] を選択します。
  5. 開いた [計算フィールド] ダイアログボックスで次の操作を行い、[OK] をクリックします。
    1. 計算フィールドに名前を付けます。この例では、計算項目の名前は「Filtered Amount or zero (opt 2) (条件設定済み金額またはゼロ (オプション 2))」です。
    2. 式フィールドで、次のような計算を作成します。
      ZN( IF [Date] >= [Date Parameter]Then [金額] END )
    • ZN() 関数は、NULL 値を 0 に置き換えます。[日付] 検索条件の代わりに IF ステートメントが使用されます。
  6. 次のような計算で、「条件設定済み金額または最後の値 (オプション 2)」のような名前の計算項目を作成します。
    1. IFNULL(
          SUM(
          IF [日付] >= [日付パラメーター]
          Then [金額]
          END
          ),
          PREVIOUS_VALUE(0)
      )
    • IFNULL(..., PREVIOUS_VALUE(0)) は、NULL 値をこの計算の最後の値で置き換え、実行中の最後の値を作成します。
    • ビューの構築方法によっては、PREVious_VALUE() の計算方法が異なることがあります。「テーブル計算による値の変換」を参照してください。
  7. マークカードのテキストの [金額] を、目的の最終結果に応じて [条件設定済み金額または 0 (オプション 2)] または [条件設定済み金額または最後の値 (オプション 2)] に置き換えます。
  8. [条件] シェルフからの [日付] の削除
  9. (省略可能) 値を右クリックして、必要に応じて書式設定し、ビューの値をカスタマイズします。 


以下の動画で示されている手順を表示するには、上記のセクションを展開してください。
注意: ビデオに音声はありません。

 

[オプション 3] ビューの形状を変更し、ZN(LOOKUP()) を使用します。

このオプションは、NULL、欠損、除外されたデータを 0 で置き換えます。

  1. [フェーズ] を行シェルフからシェルフに移動
  2. [分析] > [計算フィールドの作成] を選択します。
  3. 開いた [計算フィールド] ダイアログボックスで次の操作を行い、[OK] をクリックします。
    1. 計算フィールドに名前を付けます。この例では、計算項目の名前は「Replace empty cells with zero (opt 3) (空のセルを 0 に置き換える (オプション 3)」です。
    2. 式フィールドで、次のような計算を作成します。
      ZN(LOOKUP(SUM([Amount]),0))
      • LOOKUP() 計算では、ビュー内の現在の cell の値 (LOOKUP() の第 2 引数 0 で指定) が検索されます。値が NULL の場合、ZN() 関数は 0 を返します。
      • このオプションを機能させるには、ビューに空白のセルが必要です。これは、この計算では行/列は追加されず、空白のセルに書き込まれるのみであるためです。たとえば、[フェーズ] が [行] の場合、[Hibagon] には 1 つのフェーズ行のみが含まれます。[フェーズ] を [列] に移動すると、ビュー内の少なくとも 1 つのプロジェクトに各フェーズが含まれるため、[Hibagon] には 3 つのフェーズ列が含まれます。
  4. 「Replace empty cells with last value(opt 3)」 (空のセルを最後の値に置換 (オプション 3)) のような名前の計算項目を作成し、次のような計算を行います。
    1. IFNULL(
          LOOKUP(SUM([Amount]),0),
          PREVIOUS_VALUE(0)
      )
    • IFNULL(..., PREVIOUS_VALUE(0)) は、NULL 値をこの計算の最後の値で置き換え、実行中の最後の値を作成します。
    • ビューの構築方法によっては、PREVious_VALUE() の計算方法が異なることがあります。「テーブル計算による値の変換」を参照してください。
  5. 目的の結果に基づいて、マークカードの [テキストの [金額] を [空のセルを 0 に置換 (選択 3)] または [空のセルを最後の値に置換 (選択 3)] のいずれかに置換
  6. (省略可能) 値を右クリックして、必要に応じて書式設定し、ビューの値をカスタマイズします。 


以下の動画で示されている手順を表示するには、上記のセクションを展開してください。
注意: ビデオに音声はありません。

 

[オプション 4] 元のデータを値のマスターリストに結合する

このオプションは、データが NULL、欠損、またはビューから除外された場合に 0 を表示します。

  1. すべてのフェーズのマスターリストを含むテキストファイルを作成します。
  2. 元のデータとマスターリスト間のクロスデータベース結合を作成します。結合計算を使用して 1 = 1 のテーブルを結合する
    • 結合計算は、Tableau Desktop 10.2 で追加された新機能です。以前のバージョンでは、基礎となるデータソースにダミーのリンク項目を作成する必要があります。
    • クロスデータベース結合または結合計算の作成方法についての詳細は、「データの結合」を参照してください
  3. [分析]> [計算フィールドの作成] を選択します。
  4. 開いた [計算フィールド] ダイアログボックスで次の操作を行い、[OK] をクリックします。
    1. 計算フィールドに名前を付けます。この例では、計算項目の名前は「0 の新しい金額」です。
    2. 式フィールドで、次のような計算を作成します。
      ZN( IF [Stage] = [Stage (Stage Master List)] Then [金額] END )
    • 結合では重複データが作成されます。そのため、重複を削除するには、マスターリストの同じ値に対してディメンションが NULL であるか、値が欠損しているデータのみを表示します。
    • ZN() 関数は、NULL 値を 0 に置き換えます。
  5. 「New Amount with last value (最後の値の新規金額)」などの名前を付けて、次のような計算フィールドを作成します。
    1. IFNULL(
          SUM( IF [フェーズ] = [フェーズ (フェーズマスターリスト)]
          Then [金額]
          END),
          PREVIOUS_VALUE(0)
      )
    • IFNULL(..., PREVIOUS_VALUE(0)) は、NULL 値をこの計算の最後の値で置き換え、実行中の最後の値を作成します。
    • ビューの構築方法によっては、PREVious_VALUE() の計算方法が異なることがあります。「テーブル計算による値の変換」を参照してください。
  6. 目的の最終結果に基づいて [0 の新しい金額] または [最後の値の新しい金額] のいずれかを使用する
  7. (省略可能) 値を右クリックして、必要に応じて書式設定し、ビューの値をカスタマイズします。 


以下の動画で示されている手順を表示するには、上記のセクションを展開してください。
注意: ビデオに音声はありません。

 

[オプション 5]欠損データを基盤となるデータセットに追加する

元のデータソースを編集して、欠損データを追加します。

使用事例によっては、NULL 基準を使用してダミーレコードを追加し、上記のオプション 1 の手順に従うことが最良の解決策です。

その他のリソース


空白を作成する可能性がある主なシナリオは 3 つあり、0 に置き換える必要があります。

  • NULL データ: 基礎となるデータセットにレコードが含まれているが、基準値が NULL または空白の場合に発生します。添付の Excel ワークブック「NULL and Missing Examples.xlsx」では、プロジェクト「Brosnya」が「進行中」と「完了」で NULL になっています。
  • 欠損データ: これは、基盤となるデータセットにレコードがない場合に発生します。サンプルデータでは、プロジェクト「Hibagon」に「進行中」と「完了」がありません。
  • データの絞り込み:添付のワークブックには、プロジェクト「Dalmatian」の「開始済み」と「進行中」も除外する [日付] 検索条件があります。プロジェクト "Dalmatian" には、各フェーズの基礎となるデータソースのレコードが含まれます。

すべてのオプションは NULL データを 0 に置き換えます。オプション 3、4、5 では、欠損データが 0 に置き換えられます。オプション 2、3、4 では、除外されたデータが 0 に置き換えられます。

[分析] > [テーブルレイアウト] > [空の行/列を表示] オプションを使用して、ビューに追加の行/列を表示することもできますが、これらの行にデータを書き込むことはできません。

クロスタブの基準が 1 つしかない場合、書式設定ですべての NULL 値を置き換えることができます。「null 値の書式設定」を参照

Tableau アイデアへの投票 - PREP Clean Step - Menu Option to replace Null values (Null 値を置き換える Tableau アイデア - PREP Clean Step - メニューオプション)

ナレッジ記事番号

001458028

 
読み込み中
Salesforce Help | Article