English

How To: Label a related table

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 never created, but the two key fields are compared in a double iteration.

  1. Open the Label Expression dialog box.
    a. Right-click the feature class to be labeled and select Properties.
    b. Click the Labels tab.
    c. Click Expression to open the Label Expression dialog box.

  2. Select Python as the parser and check the Advanced check box.
  3. Copy-paste the following code. Note that [keyfield], [FirstLabel], key1, key2, L, L2, and myDataTable must be changed 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 that should also be labeled. myDataTable is the path and name of the related table.
    Code:
    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

  4. Click OK to return to the Layer Properties dialog box.
  5. Click Apply to see the labels.

Related Information