Map Series: Definition Query on Index Layer

01-08-2019 09:58 AM
Status: Needs Clarification
Labels (1)
Occasional Contributor III

What would be great is if you could apply a definition query to the Index Layer of a layout.  This way you would only need to create one 'Map' in your project and then you could create multiple different 'Layouts' by just changing the definition query.

Currently the only way to do this is to create a new Map for each Layout you need, and then create the definition query on your Index Layer in the map.



Seems like there may be overlap with 


Hi Kory,

I saw that post before posting this.  The Page Definition query is only for that specific map series page.  What I am proposing is a Map Series level definition query that would affect all pages in the map series.


HI Brian, 

An index layer is just another layer in the map.  And like any other layer you can apply a definition query. The Map Series should honor the definition query set on the index layer.  You'll need to refresh the map series after updating the definition query on the index layer.

I believe the functionality that you are looking for is already there, unless there is something in your workflow that I'm missing.



If I am reading correctly, I believe I  was doing something similar, creating a new layout and running query for each different admin1, then I just found this option : 


now what I am trying to figure out is how to have the page definition for certain layers match a field other than the page name... or figure out how to do this in a query, I'm lookin to see if there is a way to write a query that references the index layer  in the map series but looks at a different field than the name field.

Status changed to: Needs Clarification

As illustrated in Tom's comments, definitions queries are supported on index layers. You just set them in the map instead of the layout. This idea needs some further clarification so we can understand what exactly is desired. 


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). 



@MichaelFalk I'm still confused, what would you like the query to be run against? How would it be updated per page? We use the name of the page for a page query because it must exist for each page and can always be checked against. You can use any field in your layer as long as it has the same values as the page names, the layer field's don't have to match. I'm not sure what else we would check against. 


If you need something to be updated on only a few pages, custom automation with is the best way to go. Unfortunately, the Pro interface can't cover every potential mapping scenario because the logic can change from organization to organization and map to map. However, you can set custom logic and rules using Python to meet your needs in these situations.