I think this would be very useful!
Just a tip, while we wait for possible implementation -- in the past, I would create a new field and populate it (often using the Field Calculator) with values that helped me with the Map Series options. This gave me results similar to the ones you're looking for, but it requires adding new fields to your feature class. Not very elegant, but I hope it helps!
It would be nice if I could write an expression that drives the page names. Currently, you are limited to fields in your index layer:
This doesn't always get the job done, and adding a new field isn't always desirable or possible.
I just came to suggest exactly this, because I have a case where I need to drive a rotation, but my map series is built against a feature where I can't edit values, let alone schema, and I was trying to avoid having to make a copy of it just to calculate my rotations.
If the functionality was there, I could've written a 2-second Arcade script to handle the rotation automatically. Now, instead, I have to pull a local copy of this layer and divorce it from the updated data, just so I can add a temporary field to drive the rotation.
Right now, when you create a Map Series, you can target fields for populating certain datapoints, using the "Optional Fields" section:
I have a case, though, where my rows have a procedurally-generated tag that I'm using for sorting and other internal operations. Within that tag, part is functionally equivalent to "Group By".
If I wanted to also group the pages according to that portion of the tag, right now it means I have to create a separate field, run a Field Calculation to rip out the Group code, and populate it into my separate field. Then I point Map Series Group By at that separate field.
But, if I could use Arcade or Python, then not only could I pull that Group code out with two lines of code: I could also trust that it's always up-to-date. With a separate field that I target with a Field Calculation, I have to remember to re-run that calculation anytime something might change in the data that would affect the group.
Alternately, if the Sort parameter accepted an expression, then I wouldn't even need my sort field—I could generate it on the fly from the attribute points that resulted in it.
With a separate field that I target with a Field Calculation, I have to remember to re-run that calculation anytime something might change in the data that would affect the group.
A solution for this might be setting up an attribute rule to calculate this on insert/update. Are you able to use attribute rules in this workflow?
Unfortunately, that's not currently an option for two reasons:
Between those two issues, it means I can't do this with the majority of the data in our Enterprise. I have to pull a dead copy of that data and then produce whatever I'm looking to produce.
And if the data changes and I need to produce a new map, I have to do it all over again largely from scratch, as opposed to popping open my project and outputting a PDF based on the then-current data.
I can see why those factors would keep you from using attribute rules in your strategy. Thank you for the additional context.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.