I have here a new ArcPro Parcel Fabric (3.1.x and PF v5) in an Enterprise environment with Versioned editing.
We have a complicated attribute setup and I am attempting to label these according to the way the editors would like to see them.
Fields: Name, Number, Width, sf, and ac.
We are not using the default StatedArea/StatedAreaUnits fields because our legal descriptions frequently contain both square feet and acres and we want to reflect that in our Tax Map Sheets.

- DRAINAGE AND SEWER ESMT B
- MULTI-USE ESMT 1-B (10 FT WIDE)
- ESMT
- DRAINAGE ESMT D (4 FT WIDE) *NEWLINE* [260 sf or 0.04 ac]
- SEWER AND WATER ESMT (5 FT WIDE) *NEWLINE* [100 sf]
- SEWER AND WATER ESMT *NEWLINE* [1.36 ac]
I have 3 separate scripts right now: 1 for Name and Number, 1 for Width, and one for Area.
(See below)
I'm so very close but could use some assistance on combining them into one if possible.
There is also one issue for the Name/Number portion.. I can't figure out how to prevent "<Null>" in the Name.

Name/Number
var Name = $feature["Name"];
var Number = $feature["Number"];
var label = "";
//Check if Name and Number are empty
if (IsEmpty(Name) && IsEmpty(Number)) {
// If all are empty return ESMT
return "ESMT";
}
else {
// If Name or Number have a value, return their values
if (!IsEmpty(Name)) {
label += Text(Name) + " ESMT";
}
if (!IsEmpty(Number)) {
if (label != "") {
label += " " + Text(Number);
}
}
}
return label
Width
var Width = $feature["Width"];
var label = "";
//Check if Width field is empty
if (IsEmpty(Width)){
return label;
} else {
//if Width field is not empty, return value with parentheses and 'FT WIDE'
if (!IsEmpty(Width)){
label = "(" + Text(Width) + " FT WIDE)"
}
}
return label
Area
var sf = $feature["sf"];
var ac = $feature["ac"];
var label = "";
Ar
// Check if both sf and ac are empty
if (IsEmpty(sf) && IsEmpty(ac)) {
return label;
} else {
// If either sf or ac have a value, return their values with their respective suffixes
if (!IsEmpty(sf)) {
label += Text(sf, "#,###.##") + " sf";
}
if (!IsEmpty(ac)) {
if (label != "") {
label += " or ";
}
label += Text(ac, "#,###.##") + " ac";
}
}
return "[" + label + "]";