How To: Label a related table
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.
The code below creates a FindLabel Python function. Relates are never created, but the two key fields are compared in a double iteration.
- 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.
- Select Python as the parser and check the Advanced check box.
- 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): L = L + " " + str(row) return L
- Click OK to return to the Layer Properties dialog box.
- Click Apply to see the labels.