ページ定義クエリの使用
[ページ定義クエリ] を使用すると、SQL クエリに基づいて描画されるレイヤのフィーチャを指定することができます。[ページ定義クエリ] は他の定義クエリと似ていますが、[データ ドリブン ページ] でのみ機能し、動的であるという点が異なります。フィーチャは、現在のページに基づいてフィルタリングされます。これらのページを反復処理する中で、クエリが変更され、新しいページに適合した一連の新しいフィーチャが描画されます。ページ範囲が重なり合うフィーチャがあり、これらのフィーチャを複数のページに表示する場合は、クリップを使用したマップのカスタマイズを検討する必要があります。
たとえば、米国各州の作付面積を示す地図帳を作成するとします。地図帳には、州ごとに個別のページを作成し、各州内の郡別の作付面積を表示します。一連のマップを見やすくするために、地図帳のページで指定された州のみの作付面積を表示する場合は、[ページ定義クエリ] を使用すると、すばやく簡単にこれを実行できます。
以下に、[ページ定義クエリ] を使用しない場合の 1 組のページの例を示します。
上図からわかるように、アーカンソーの地図ページにはアーカンソー州だけではなく、その周囲の州の作付面積情報も表示されています。これはすべての地図ページにあてはまります。[ページ定義クエリ] を使用すると、そのページに指定されている州のみの作付面積情報が表示されるように地図を見やすくできます。以下の例は、フィーチャがページ名に一致するように選択した場合の表示結果を示しています。また、この逆、つまり一致しないフィーチャを表示するよう選択することもできます。
上記の各地図には、ページ レイアウトの左下に米国本土のロケータ マップが表示されています。各ロケータ マップでは、[データ ドリブン ページ] の現在のフィーチャ インデックスが赤色でハイライト表示されています。ロケータ マップ内の赤のアウトラインは範囲インジケータと呼ばれます。上記の例で、インデックス フィーチャはアーカンソー州とカリフォルニア州になります。
[ページ定義クエリ] の使用時に留意すべきいくつかの重要ポイントを示します。
- [ページ定義クエリ] は、[データ ドリブン ページ] が有効になっている場合のみ使用できます。[データ ドリブン ページ] が有効になっていない場合は、[レイヤ プロパティ] ダイアログ ボックスの [フィルタ設定] タブに [ページの定義] ボタンは表示されません。
- [データ ドリブン ページ] が無効になると、[ページ定義クエリ] は無視されるようになりますが、クエリは、後で [データ ドリブン ページ] が有効になった場合に備えてレイヤに保存されます。
- [ページ定義クエリ] は [データ ドリブン ページ] のインデックス レイヤには適用できません。[ページ定義クエリ] が適用されたインデックス フィーチャを表示したい場合は、そのレイヤのコピーをデータ フレームに追加してから、そのコピーに [ページ定義クエリ] を適用する必要があります。これは、現在のインデックス フィーチャを強調するための一般的手法であり、インデックス フィーチャのハイライト色の効果を作り出すために使用できます。
- [データ ドリブン ページ] のインデックス レイヤに対して変更を行うと、[ページ定義クエリ] を使用するレイヤが描画されなくなることがあります。これらの変更には、インデックス レイヤの変更や、ページ名に使用されるインデックス レイヤ フィールド名の変更が含まれます。変更が行われた場合は、[ページ定義クエリ] の再作成が必要になることがあります。
- [ページ定義クエリ] は、[データ ドリブン ページ] で指定されたページ名フィールドの値に基づく動的な SQL WHERE 句です。したがって、定義されるレイヤには、[データ ドリブン ページ] のインデックス レイヤの指定のページ名フィールドに一致する属性および適切な値が格納されている必要があります。[データ ドリブン ページ] 名を制御しているインデックス レイヤ フィールドまたは [ページ定義クエリ] ダイアログ ボックスで指定されたフィールドのいずれかで行われた属性値の変更は [ページ定義クエリ] に反映されます。現在表示されているページに対する変更を表示するために [データ ドリブン ページ] を更新しなければならないこともあります。
最適な結果を得るためのヒント:
- フィールド名が一致している必要はありませんが、[ページ定義クエリ] フィールドと [データ ドリブン ページ] 名前フィールドのデータ タイプは同じである必要があります。
- [ページ定義クエリ] フィールドには NULL 値フィールドが含まれていてはなりません。
- 定義しているレイヤのフィーチャは複数のページにまたがりません。
ページ定義クエリを作成する手順
- コンテンツ ウィンドウでレイヤを右クリックし、[プロパティ] をクリックします。この操作を [データ ドリブン ページ] のインデックス レイヤで行うことはできません。[ページ定義クエリ] はインデックス レイヤではサポートされていません。
- [レイヤ プロパティ] ダイアログ ボックスの [フィルタ設定] タブをクリックします。
- [ページの定義] ボタンをクリックします。
- [有効化] チェックボックスをオンにします。
- [データ ドリブン ページ] のページ名フィールドに一致するフィールドを [ページ名フィールド] ドロップダウン リストから選択します。
- ページに [一致する] または [一致しない] フィーチャのどちらを表示するかを選択します。
- [OK] をクリックします。