FAQ
NULL 値を使ってフィールド演算すると、NULL 値が返る

ナレッジ番号:3247 | 登録日:2023/05/29 | 更新日:2023/06/21

概要

NULL 値を使用してフィールド演算を行うと、その結果は NULL 値となります。例えば下図のように、[Value1] [Value2] [Value3] の値を加算するフィールド演算を行った場合、いずれかの値が NULL である場合は NULL となります。
この場合、あらかじめ NULL 値を 0 など別の値に置き換えてから加算処理を行うことで対処できますが、演算に使用する値を変更したくない場合は、以下の手順でフィールド演算をお試しください。

操作手順

ArcGIS Pro の場合

         
  1. 属性テーブルで入力先のフィールドを右クリック → [フィールド演算] をクリックします。
  2. 以下の 3 つのパラメーターの設定を行います。
    • [入力テーブル]: 処理対象のデータ
    • [フィールド名]: 入力先のフィールド名
    • [条件式の種類]: Python 3
  3. 条件式の欄に、演算のための式を入力します。以下は 3 つのフィールドの値を加算するための式です。「ReplaceNull」は Null 値を 0 に置き換えるための関数ですが、その処理内容の記載は、後述の [コード ブロック] にて行います。
    ReplaceNull( !Value1! ) +ReplaceNull( !Value2! )+ ReplaceNull( !Value3! )
    
  4. [Pre-Logic Script Code] で、以下のスクリプトを入力します。
    def ReplaceNull(val):
      if val is None:
        return 0
      else:
        return val
    
  5. [実行] ボタンで処理を開始します。下図のように、NULL 値が 0 と見なされた計算結果を得ることができます。

ArcMap の場合

  1. 属性テーブルで入力先のフィールドを右クリック → [フィールド演算] をクリックします。
  2. [形式] で [Python] を選択します。
  3. [コード ブロックを表示] にチェックを入れます。
  4. [Pre-Logic Script Code] で、以下のスクリプトを入力します。
    def ReplaceNull(val):
      if val is None:
        return 0
      else:
        return val
    
  5. 条件式の欄に、演算のための式を入力します。以下は 3 つのフィールドの値を加算するための式です。
    ReplaceNull( !Value1! ) +ReplaceNull( !Value2! )+ ReplaceNull( !Value3! )
    
  6. [OK] ボタンで処理を開始します。

メタデータ

種類

製品

バージョン