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?
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.
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
Thanks Tom, I'll take a look at that
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?
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'.
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
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).
It would extremely useful to be able to do page queries on fields other than the one used for the page name.
For example, our voting precincts have a field for the name of the polling location. We would like to display the building used for polling in the current district page as a different color. In order to do this currently, we would need to add a "precinct" field to our buildings. If we could do a page query on the buildings layer "name" field but point it at the "polling location" field in the precincts we wouldn't need to add any fields.