Page Query Issue in ArcGIS Pro 2.2.4

1946
7
12-19-2018 12:06 PM
deleted-user-5faZ0yrxKnoy
New Contributor II

Despite converting my number field to a text field (thanks for the tip Geonet), my Page Query is still not working in Pro. I have it in a secondary copy of the layer driving the Map Series. However when it is set, all the features disappear. I'm needing this in both the main map frame, as well as a small inset map, to cut out the "noise" of irrelevant features. Any ideas why this may not be working please?

Tags (2)
0 Kudos
7 Replies
deleted-user-5faZ0yrxKnoy
New Contributor II

UPDATE: My amazing colleague has helped me to determine that it is appears that the Page Query only works on the attribute that is creating the Map Series. I'm wanting to use a different field for the page query, which I used to be able to do in ArcMap. Can anyone advise if this is possible in Pro? And if so, what am I missing / doing wrong? Thanks. 

0 Kudos
TomBole
Esri Regular Contributor

Hi Kate, 

Page queries need to be based on the attribute being used by the index layer to drive the name of each map series page.

Here is the specific help for this (See Page query—Layouts | ArcGIS Desktop😞

A page query is a dynamic SQL where the clause is based on the values of the designated page name field for the map series. Therefore, layers being defined must contain an attribute and appropriate values that can be matched to the designated page name field of the map series index layer.

This is no different than how it works in ArcMap see Using Page Definition Queries—Help | ArcGIS Desktop 

In order to "cut down on the noise" in your map series you might want to consider using a masking layer.

Here is an example of what I mean by masking layer. Lets say I want to create a map series of US States where I want to display the basemap/layers only for the state for the state's page. For example, for the Alabama page I only want to display the basemap/layers that are in Alabama.

Step 1 - Create a new polygon layer, "Polygon Envelope", that surrounds all the index features.

Step 2 - Create a new layer (masking layer) that is the UNION of the polygon layer that encompasses the index layer, "Polygon Envelope", and the index layer, "US. States (Generalized)".

This new layer should have both the geometry and attributes you can use in the map series.

Step 3 - Symbolize this layer as needed. I want the areas outside to be white with no border.

Step 4 - Create my map series with the Name Field equal to "STATE_NAME". 

Step 5 - Open the properties for the masking layer and under Page Query set the filter such that the features that show DO NOT Match the page name.

Now you should have a masking layer that effectively filters out the noise in your map.

Of course this was a very quick and simplistic example, but it should help you get started.

Hope this helps, 

Tom

deleted-user-5faZ0yrxKnoy
New Contributor II

Thanks Tom, I'll take a look at that

0 Kudos
MichaelFalk
New Contributor II

Hello, 

 

I have been reading "A page query is a dynamic SQL where the clause is based on the values of the designated page name field for the map series. Therefore, layers being defined must contain an attribute and appropriate values that can be matched to the designated page name field of the map series index layer." 

What I am wondering is where this dynamic SQL code can be found, or how it is written. My theory is, that maybe it could be tweaked to point to a different attribute and used in the standard SQL query section? Instead of using the page query tool?  Maybe?  

MichaelFalk_0-1648787498063.png

 

0 Kudos
KeithAddison1
Occasional Contributor III

If only ESRI would add this it would make mapbooks so much better.  Cluttering up the aprx with a bunch of layout and map tabs is a miserable crummy 'solution'.

0 Kudos
deleted-user-5faZ0yrxKnoy
New Contributor II

Turns out that still help as you can only use the attribute that drives the page name as the filter... Guess I'll have to do separate layouts for each grouping after all. Thanks anyway 

0 Kudos
MichaelFalk
New Contributor II

Basically, I think the feature we want is  : For different layers, Allow the page query to be run on an alternate attribute ( currently you can only run "page query"  on the field the data driven pages are being generated from).