I am creating a map series that has many polygons per sheet. There is annotation for the polygons however some polygons are very small with no annotation for them (annotation would completely hide a polygon). Thus, I have an attribute table where labels are stored for those specific polygons.

How can I have that table displayed on the map, with only the attribute values per sheet, rather than all 2000+ values?

I am looking for a simple, dynamic solution.

  • If it helps, there is an attribute field in the table indicating what sheet the polygons are on. – Sue Deforest Aug 30 '12 at 18:18
  • I cannot see this being doable with Data Driven Pages enabled during an ArcMap session. However, if ArcPy and 10.1 can be used then I have some ideas on how your map series as PDF pages could be generated. Perhaps expand upon your question with a few more details of your requirements. – PolyGeo Aug 30 '12 at 22:24
  • I am using 10.0 as we're not up to 10.1 yet. I do want to export series to PDF. The map layout is the dataframe with map on top, legend on bottom, table floating over map on right side. There will be approx 500 maps with 1/3 to 2/3 of them having the table (some sheets do not require the table). The table should only show on those sheets needing the table. – Sue Deforest Aug 30 '12 at 22:44
  • This sounds like you need ArcObjects development so is not something I can help with after all. – PolyGeo Aug 30 '12 at 23:21
  • See this: forums.arcgis.com/threads/… – user10171 Sep 12 '12 at 15:07

This is possible using the Graphic Table Element in the Production Mapping extension. If you don't have the extension (our company didn't either but managed to arrange on), a free trial is available here:

There is more info at this ESRI help article:here

I also found this ESRI forum post particularly useful:here


I do not think this is possible with the standard 10.0 out of the box. However, with enhancements to arcpy at 10.1, you can dynamically create a table using arcpy scripting.

Take a look at the Esri 2012 Conference Proceedings and the talk titled "Python Map Automation—Beyond the Basics of arcpy.mapping".

On page 6 of the PDF, they show some sample code for how to clone graphic lines to generate a table-like graphic, and then insert text for various attribute components into the "cells".

Also, in the "arcpy.mapping / Map Automation" gallery you will find a number of samples, some of which include examples of how to create "dynamic" or "graphic" tables.


Add a legend that consists only of that shapefile, symbolize it by the desired attribute field and set the legend to only display feature in that extent.


According to me you can access the attribute table for this. Select the data you were talking about and head to the top left in the attribute table window. click on Add table to layout. It won't update every time you make a change but it should display the data you need.


If anyone is looking for a solution to requirements like yours, then writing pseudo-dynamic tables on layouts for map automation using ArcPy is covered in one of my eLearning courses titled Challenging times with Python and ArcPy for ArcGIS Pro.

That course is for ArcGIS Pro but the learnings from it could be back-applied to ArcMap. The lack of arcpy.da cursors might make it noticeably slower if using ArcGIS Desktop 10.0. The key technique is generating "table-like feature classes" that can be placed in a separate map/data frame on the layout used by cursoring through an index feature class.

Disclosure: I am the author and presenter of the course suggested above.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.