HOW TO

Label a related table

Last Published: March 10, 2023

Summary

Instructions provided describe how to label a related table using Python. There is no 'out-of-the-box' functionality to label a related table.

Note:
A basic understanding of Python functions and search cursors is needed.

Procedure

The code below creates a FindLabel Python function. Relates are not created, but the two key fields are compared in a double iteration.

  1. Open the Label Expression dialog box.
    1. Right-click the feature class to be labeled and select Properties.
    2. Click the Labels tab.
    3. Click Expression to open the Label Expression dialog box.
  2. Select Python as the parser and check the Advanced check box.
  3. Specify the following code. Change [keyfield], [FirstLabel], key1, key2, L, L2, and myDataTable to match the environment.
    • [keyfield] and key1 are the key fields in the feature class, used to relate to the related table.
    • [FirstLabel] and L are the field in the feature class to be labeled.
    • key2 is the key field in the related table.
    • L2 is the field in the related table to be labeled.
    • myDataTable is the folder path of the related table file, and name of the related table.
def FindLabel ([keyField], [FirstLabel]):
    import arcpy

    key1 = [keyField] # Key field in feature class
    key2 = "ID"   # Key field in related table
    L = [FirstLabel] # Label field in feature class
    L2 = "Label2"   # Label field in related table
    myDataTable = r"<path-to-related-table>"   # Path to related table
    
    cur = arcpy.da.SearchCursor(myDataTable, [key2, L2])
    for row in cur:
        if str(key1) == str(row[0]): 
            L = L + " " + str(row[1])
    return L
  1. Click OK to return to the Layer Properties dialog box.
  2. Click Apply to see the labels.

Article ID:000012230

Software:
  • ArcMap

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options

Related Information

Discover more on this topic