It is possible to do using Arcade expressions. See example here of a 1:M join between parcels and addresses: Residential Permit Parking
I'm not sure this is the most efficient way to accomplish this, but it works:
- Get the related table using FeatureSetById
- Use the filter function to narrow the results to the rows you are interested in.
- Use a for loop to interate through the feature set. This is where you can format the data to print however you would like.
//Get related table
var ineligibleAddresses = FeatureSetById($datastore, '32')
//Get related features from table
var relatedAddresses = Filter(ineligibleAddresses, 'Parcel = '+$feature.Parcel_Nbr)
//String to print
var parcelIneligible = ''
//Iterate through each row and format
for(var address in relatedAddresses) {
parcelIneligible = parcelIneligible + address.HouseNbr + ' '
+ address.StreetDir + ' '
+ address.StreetName + ' '
+ address.StreetType + ' '
+ address.Note + ' '
+ TextFormatting.NewLine
}
//print related addresses
parcelIneligible
//Get related table
var ineligibleAddresses = FeatureSetById($datastore, '32')
//Get related features from table
var relatedAddresses = Filter(ineligibleAddresses, 'Parcel = '+$feature.Parcel_Nbr)
//String to print
var parcelIneligible = ''
//Iterate through each row and format
for(var address in relatedAddresses) {
parcelIneligible = parcelIneligible + address.HouseNbr + ' '
+ address.StreetDir + ' '
+ address.StreetName + ' '
+ address.StreetType + ' '
+ address.Note + ' '
+ TextFormatting.NewLine
}
//print related addresses
parcelIneligible