フィルター ウィジェットを使用すると、1 つ以上のレイヤー内のフィーチャの表示を制限して、式の条件に合致したレイヤーだけが表示されるようにすることができます。フィルター ウィジェットで行われた変更は、アプリ全体のデータに影響するため、同じレイヤーを使用する他のウィジェットもそれに応じてフィルター処理されます。
例
このウィジェットを使用して、次のようなアプリの設計要件をサポートします。
- 大規模なデータ セットがあり、利用者の重要事項によってデータを処理する最適なオプションをさまざまな利用者に提供します。
- アプリで同じレイヤーを使用しているすべてのウィジェットに含まれるフィーチャの表示を、ユーザーが変更できるようにします。
使用上の注意
フィルター ウィジェットでは、追加するフィルターごとにデータ ソースを設定する必要があります。エンド ユーザーが各フィルターのオンとオフを切り替えて、フィーチャの表示を制御できます。このウィジェットに複数のフィルターを構成すると、データを表示するためには有効なすべてのフィルターを満たす必要があるかどうか、またはいずれかを満たしていればよいかどうかを指定できます。
設定
フィルター ウィジェットには以下の設定が含まれます。
- [新しいフィルター] - データ ソースを選択し条件式を追加してフィルターを作成します。開かれる [新しいフィルターの作成] パネルには以下のプロパティが含まれます。
- [データ] - フィルター処理するデータを選択します。選択できるデータ ソースは、フィルターにつき 1 つだけです。フィーチャ レイヤー、選択した Web マップに含まれるフィーチャ レイヤー、およびフィーチャ サービスの URL がサポートされています。
- [ラベル] - 各フィルターの名前をカスタマイズします。
- [アイコン] - フィルターごとに異なるアイコンと色を選択します。
- [SQL 式] - フィルター条件を指定する SQL 式を作成します。SQL 式ビルダーには、複雑な対話型クエリを作成するためのオプションがいくつか用意されています。
- [オプション] - フィルターごとに次のオプションをオンにできます。
- [このフィルターを自動的に適用] - ユーザーがアプリを開いたとき、このフィルターはデータにすでに適用されています。ユーザーはウィジェットでフィルターをオフにできます。
- [フィルターの詳細を自動的に折りたたむ (存在する場合)] - 値を確認するようにフィルターが構成されている場合、ユーザーはフィルターをクリックして展開し、詳細を確認する必要があります。(フィルターの数が多い場合、見やすくするためにはこのオプションをオンにします)
- 複数のフィルターを追加する場合、すべてのフィルター条件を満たす必要があるように指定するには [AND] をクリックし、いずれかのフィルター条件を満たせばよいように指定するには [OR] をクリックします。
SQL 式ビルダー
フィルターでは、レイヤー データの属性値に基づいてレイヤー内のフィーチャを検索して表示する論理式が使用されます。式では、<フィールド名> <条件を指定する演算子> <値またはフィールド> という一般形式が使用されます。たとえば、[Shelter capacity (避難所の収容人数)] が 200 より大きいなどです。
[SQL 式ビルダー] で式を作成するには、[項目の追加] または [項目セットの追加] をクリックします。
各項目の式には以下の入力ボックスがあります。
- [フィールド] - データ ソースからフィルター処理するフィールドを選択します。フィールド タイプは数値、文字列、日付の 3 つです。代表するアイコンがフィールド名の横に表示されます。
- [演算子] - 選択したフィールドのデータ値を評価する機能演算子を選択します。演算子は、フィールド タイプによって異なります。
- [値] - 項目を作成する値を入力または選択します。[ソース タイプの表示スタイルを選択] ボタン をクリックして、値の選択方法 (ユーザー入力、フィールド、一意、複数など) に基づいて表示スタイルを選択します。スタイルには、テキスト ボックス、ドロップダウン リスト、日付ピッカー、フィールド セレクターなどのオプションが含まれます。
各項目に対して、次の追加オプションを設定できます。
- [大文字と小文字を区別する] - フィルター条件を満たすために、データは項目値での小文字と大文字の使用に一致する必要があります。このオプションは、ホストされていないレイヤーの文字列フィールドに対してのみ適用されます (ホスト レイヤーのボタンは無効化されます)。
- [値の確認] - ユーザーがカスタム入力を提供して、実行時にフィルターを変更できるようにします。ラベルをカスタマイズしたり、ヒントや指示をユーザーに提供したり、フィルター オプションでユーザーに表示する値のリストの条件を選択したりすることができます (後者は一意および複数のソース タイプにのみ適用されます)。すべての値を表示する、前の条件に基づいて値をフィルター処理する、またはすべての条件式に基づいて値をフィルター処理することができます。
複数の項目または項目セットをフィルターに追加する場合、すべてのフィルター条件を満たす必要があるように指定するには [AND] をクリックし、いずれかのフィルター条件を満たせばよいように指定するには [OR] をクリックします。また、項目セットに含まれる項目に対してこの設定を構成することもできます。