高度なフィルターの作成

Insights in ArcGIS Online
Insights in ArcGIS Enterprise
Insights desktop

高度なフィルターは、式に基づいたフィルターで、データセット レベルまたはカード レベルでカスタム フィルターを作成する際に使用できるほか、データ エンジニアリング ワークフローの一環としてデータに適用することもできます。 高度なフィルターには、計算フィールドと同じ演算子 (+、÷、>、<> など) および関数へのアクセス権が含まれます。

高度なフィルターは、クエリが複雑な場合、一部の情報が不明である場合、情報の計算が必要である場合などに役立ちます。 高度なフィルターの使用例を以下に示します。

  • 全米の学校が登録されたデータセットがある場合に、その中で、テキサス州のダラス郡内の学校の解析を実行したいとします。 ダラス郡を通常のフィルターで検索すると、アラバマ州、アイオア州、およびテキサス州の学校が返されます。 式 County="Dallas" AND State="Texas" を使用した高度なフィルターで検索すると、データセットがフィルタリングされ、テキサス州のダラス郡内の学校のみが返されます。
  • 店舗の位置、収入、および支出が登録されたデータセットがある場合に、その中で、赤字の店舗のみを表示したいとします。 式 Revenue<Expenses を使用した高度なフィルターで検索すると、データセットがフィルタリングされ、収入が支出を下回る店舗のみが返されます。
  • 消火栓の場所、点検日、数年間の点検ステータスが含まれるデータセットがありますが、表示したいのは、2018 年以降に発生した損傷した消火栓の点検のみです。 式 InspectionDate>=DATE(2018,01,01)AND Status="Damaged" を使用した高度なフィルターで検索すると、データセットがフィルタリングされ、2018 年 1 月 1 日以降に発生した被害評価のみが表示されます。
    注意:

    日付/時間フィールドを使用する高度なフィルターの式では、DATE()DATEVALUE()NOW() などの日付関数を使用する必要があります。 文字列値として入力された日付 (2018 年 1 月 1 日を表す "01/01/2018" など) は、日付の値として読み取られず、結果は返されません。

データセット レベルでの高度なフィルターの適用

データセット レベルで高度なフィルターを適用するには、次の手順に従います。

  1. データ ウィンドウで、フィルターを適用するデータセットを特定します。
  2. データセットの横にある [データセット オプション] ボタン データセットのオプション をクリックします。
  3. データセット オプション メニューで、[高度なフィルター] をクリックします。
  4. [カスタム フィルターの式] ボックス内をクリックして、使用可能なフィールドと関数を表示し、式の記述を開始します。
  5. [カスタム フィルターの式] ボックスの下部で、式が有効であることを示す緑のチェックマーク 有効な条件式 を確認します。
    注意:

    式には、フィルタリングに有効な <、=、<> などの条件演算子を含める必要があります (例: Revenue-Expenses>100000)。

  6. [適用] をクリックします。

式は、データセット全体に適用されます。 データセットを使用して作成されたすべてのカードが更新されます。

カード レベルでの高度なフィルターの適用

カード レベルで高度なフィルターを適用するには、次の手順に従います。

  1. フィルタリングするデータセットを使用して、マップ、チャート、またはテーブルを作成します。
  2. カードのツールバーの [カード フィルター] ボタン カード フィルター をクリックします。
  3. [新しいフィルター] ウィンドウの [高度な設定] をクリックします。
  4. [カスタム フィルターの式] ボックス内をクリックして、使用可能なフィールドと関数を表示し、式の記述を開始します。
  5. [カスタム フィルターの式] ボックスの下部で、式が有効であることを示す緑のチェックマーク 有効な条件式 を確認します。
    注意:

    式には、フィルタリングに有効な <、=、<> などの条件演算子を含める必要があります (例: Revenue-Expenses>100000)。

  6. [適用] をクリックします。

式は、フィルタリングされるカードにのみ適用されます。 同じデータセットを使用する他のカードは更新されません。

注意:

アクティブな [カード フィルター] ボタン カード フィルター はカードのフィルターの数を表示します (高度なフィルターも含む)。 高度なカード フィルターが作成されると、結果データセット 高度なカード フィルターの結果 もデータ ウィンドウに追加され、データセット レベルで同じフィルターが適用されます。 結果データセットを使用して新しいカードを作成する場合、すべてのカードが結果データセットのデータセット フィルターを参照し、カード フィルターは元のカードから削除されます。 元のカードも結果データセットを参照しているため、表示されるデータは変化しません。

高度なフィルターの削除または更新

高度なデータセット フィルターを更新するには、次の手順に従います。

  1. 高度なフィルターが適用されたデータセットの [データセット オプション] ボタン データセットのオプション をクリックします。
  2. データセット オプション メニューで [高度なフィルター] をクリックします。
  3. 次のいずれかを実行します。
    • フィルターの式を変更し、[適用] をクリックしてフィルターを更新します。
    • [フィルターの削除] ボタン フィルターの削除 をクリックしてフィルターを削除します。

高度なカード フィルターを更新するには、次の手順に従います。

  1. アクティブな [カード フィルター] ボタン カード フィルター をクリックします。
  2. 更新するフィルターをクリックします。
  3. 次のいずれかを実行します。
    • フィルター値を変更し、[適用] をクリックしてフィルターを更新します。
    • [フィルターの削除] ボタン フィルターの削除 をクリックしてフィルターを削除します。

データ エンジニアリングを使った高度なフィルターの適用

Insights desktop
注意:

データ エンジニアリングは、Insights desktop で使用できます。 すべての Insights in ArcGIS Online および Insights in ArcGIS Enterprise ユーザーは、Insights desktop にアクセスすることができます。 詳細については、「ArcGIS Insights の概要」をご参照ください。

データ エンジニアリングは現時点でプレビュー版です。

高度なフィルターは、インポート ツールまたはデータセット ツールとして適用できます。

インポート ツール

データセットを追加する際に実行された高度なフィルターやその他のインポート ツールは、サンプルと出力データセットには適用されますが、データ モデルには追加されません。

高度なフィルターのインポート ツールを適用するには、次の手順に従います。

  1. 次のいずれかのオプションを使用して、[ページに追加] ウィンドウを開きます。
    • データ ワークブックを作成します。 データ ワークブックが作成されると、[ページに追加] ウィンドウが表示されます。
    • 既存のデータ ワークブックのデータ ウィンドウの上にある [ページに追加] ボタンをクリックします。
  2. データセットを選択してデータ ワークブックに追加します。
  3. [インポート オプション] ボタン インポート オプション をクリックします。
  4. メニューから[フィルター データセット] を選択します。

    [選択された列] ウィンドウが、データのプレビューと共に表示されます。

  5. [高度な設定] をクリックします。
  6. [関数][列] のメニューを使用して、[カスタム フィルターの条件式] ボックスに式を記述します。
  7. [カスタム フィルターの式] ボックスの下部で、式が有効であることを示す緑のチェックマーク 有効な条件式 を確認します。
    注意:

    式には、フィルタリングに有効な <、=、<> などの条件演算子を含める必要があります (例: Revenue-Expenses>100000)。

  8. [適用] をクリックします。
  9. [完了] をクリックします。

フィルターが適用されます。 追加のデータセットを選択したり、[追加] をクリックして選択されたデータセットをワークブックに追加したりすることもできます。

データセット ツール

データセット ツールとして実行された高度なフィルターは、データ モデルに自動的に追加されます。

高度なフィルターのデータセット ツールを適用するには、次の手順に従います。

  1. Insights desktopデータ ワークブックを開き、必要に応じてデータを追加します。
  2. サイド ツールバーで [高度なフィルター] ボタン 高度なフィルター をクリックします。
  3. [関数][列] のメニューを使用して、[カスタム フィルターの条件式] ボックスに式を記述します。
    注意:

    データ ワークブックに複数のデータセットがある場合、入力オプションはアクティブなテーブルに基づきます。

  4. [カスタム フィルターの式] ボックスの下部で、式が有効であることを示す緑のチェックマーク 有効な条件式 を確認します。
    注意:

    式には、フィルタリングに有効な <、=、<> などの条件演算子を含める必要があります (例: Revenue-Expenses>100000)。

  5. [適用] をクリックします。

フィルターは、データ モデルに追加されます。 フィルターデータ プレビューが更新され、フィルター処理されたデータが表示されます。

条件式の例

次の表は、高度なフィルターで使用できる式の例です。

説明

DATEDIF(date_field, NOW(), "D")<=28

過去 28 日間のエントリにデータをフィルター処理します。

number_field>AVG(number_field)

number_field の値が平均値よりも大きい行に、データをフィルター処理します。

number_field_1>number_field_2

number_field_1 の値が number_field_2 の値よりも大きい行に、データをフィルター処理します。

number_field<10 OR number_field>20

中間値 (この場合は 10 ~ 20 の数値) が含まれないように、データをフィルター処理します。

string_field IS NOT NULL

フィールドに NULL 以外の値が設定されている行だけが含まれるように、データをフィルター処理します。

制限事項

一部のリモート フィーチャ レイヤーには、高度なフィルターを使用できません。 お使いのリモート フィーチャ レイヤーが高度なフィルターに対応していない場合は、レイヤーをワークブックにコピーし、そのコピーに高度なフィルターを適用します。

左から右と右から左への文字列を同じ条件式内に混在させて使用すると、高度なフィルター条件式が正しく表示されない可能性があります。 たとえば、英語とアラビア語の両方のフィールド名を使用する条件式は、正しく表示されない可能性があります。 条件式の結果は、左から右と右から左の文字列の混在には影響されません。