高度なフィルターの作成

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. 次のいずれかを実行します。
    • フィルター値を変更し、[適用] をクリックしてフィルターを更新します。
    • [フィルターの削除] ボタン フィルターの削除 をクリックしてフィルターを削除します。

条件式の例

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

説明

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 以外の値が設定されている行だけが含まれるように、データをフィルター処理します。