日本語

FAQ: Web AppBuilder for ArcGIS で [空である] および [空でない] フィルター条件式を使用して空の文字列をフィルター処理すると、誤った結果が返されるのはなぜですか?

質問

Web AppBuilder for ArcGIS で [空である] および [空でない] フィルター条件式を使用して空の文字列をフィルター処理すると、誤った結果が返されるのはなぜですか?

答え

フィルター設定が正しく構成されていないため、Web AppBuilder for ArcGIS で [空である] および [空でない] フィルター条件式を使用して空の文字列をフィルター処理すると、誤った結果が返されます。

この例では、ニューヨークの 28 件の観光名所のリストが使用されており、そのうち 22 件の [Review] 列が埋められていますが、残り 6 件は空白のままです。 ただし、以下の図は、[Review] [空である] 条件式を使用した際に返されるフィーチャが 4 つのみであることを示しています。

Results of the wrong filter setting.

以下では、Web AppBuilder for ArcGIS で [空である] および [空でない] フィルター条件式を使用して空の文字列をフィルター処理した際に正しい結果が返されるようにするためのベスト プラクティスを説明します。

一度に 1 つのフィルターを有効にする
Web AppBuilder for ArcGIS では、[フィルター] ウィジェットを使用して属性テーブルのフィルタリングを適用できます。 正しい結果を返すには、一度にいずれかのフィルターを有効にします。

Only use one filter at a time.

[デフォルトでマップ範囲によるフィルターを有効化します] オプションをオフにする
[属性テーブル] ウィジェットを構成する場合、[属性テーブルの構成] ダイアログ ボックスの [デフォルトでマップ範囲によるフィルターを有効化します] オプションをオフにします。

Uncheck the Filter by map extent option.
 
注意:
別の方法として、属性テーブルを開き、青色の [マップ ビューでフィルターを設定] アイコンThis is the Filter by map extent icon.をクリックして機能を無効にします。 このアイコンをクリックすると、アイコンの色が黒に変わります。 これは、フィルターが特定の範囲ではなくデータ全体に対して機能していることを示します。

スライダーから [フィルター] 結果を有効にする
デフォルトでは、[フィルター] 結果は自動的にマップには表示されません。 [フィルター] 結果を表示するには、[フィルター] ウィジェットをクリックし、[フィルター] スライダー This is the Filter slider. を右にスライドさせます。

This is the Filter slider.

ドロップダウン リストから [空である] または [空でない] 選択を使用する
[フィルターの構成] ダイアログ ボックスで、2 つ目のフィールド (演算子) に [に等しい] または [に等しくない] を選択して 3 つ目のフィールド (値/フィールド/固有) に「」と入力する代わりに、2 つ目のフィールド (演算子) ドロップダウン リストから [空である] または [空でない] オプションを選択して空白の値をフィルター処理します。

Select the 'is blank' and 'is not blank' options.

[フィルター] 設定を正しく構成すると、以下に示すように正しい結果が返されます。
  • [Review] [空である] 条件式を構成すると、期待どおりに 6 個のフィーチャが返されます。

    Using the 'is blank' expression.
     
  • [Review] [空でない] 条件式を構成すると、期待どおりに 22 個のフィーチャが返されます。

    Configuring the 'is not blank' expression.

Related Information