Welcome to the Attribute Rules Community!

1768
10
08-11-2020 07:59 AM
HusseinNasser2
Esri Contributor
4 10 1,768

Welcome and thanks for joining the Attribute Rules Place on GeoNet – Let's get started! 

This is a dedicated GeoNet place for attribute rules. As you explore the group, you'll find tools to connect and collaborate. We encourage you to use the community space to ask/answer questions, share and collaborate on attribute rule scripts, and participate in discussions based on your experiences working with attribute rules. The place will be home to general FAQs, Arcade scripts, real world examples and use cases of using attribute rules, blog posts, videos and much more.  

To get started we invite you to review the group features on the overview page and familiarize yourself with the featured content, resources, related GeoNet places on the right column. 

Under resources you will find: 

We’re excited to connect and collaborate with you and we look forward to seeing your contributions. 

- The Geodatabase Team 

10 Comments
David_MichaelBrooks
New Contributor

Hi Hussein,

Good to have a specific place to discuss attribute rules.

You may have discovered my lobbying on other groups, but I'm trying to ascertain whether attribute rules will be supported on AGOL and Collector any time soon, and if so, when? 

The benefit of attribute rules are that calculations can be performed in real-time without any user intervention. This is therefore a piece of functionality that has clear benefit for non-GIS professionals. GIS pros can implement potentially complex arithmetic and the user doesn't need to go near a field calculator.

HusseinNasser2
Esri Contributor

Hi David, 

Thank you for your comment and yes we have thought about bringing native support for Attribute Rules to AGOL however we still do not have a timeline. We will keep you updated for sure. 

David_MichaelBrooks
New Contributor

Ahhh it actually feels like a weight that's been lifted, just to get a reply on this topic! Great news that it's under consideration. Fingers crossed for a speedy implementation! I have some exciting jobs lined up to leverage it when it comes

DavidBrooks5
New Contributor III

It would be useful to know if the basic functionality in attribute rules (ie multiplying 2 fields together to calculate another field) is possible with Arcade? Would you need some type of trigger to fire off the field calculation, and can Arcade achieve this within a web map and a subsequent offline collector session?

HusseinNasser2
Esri Contributor

Yes you can perform that task with Attribute Rules using Arcade as a language to write the script. Attribute Rules are currently not available for offline collector use. This will come in the future. 

Today you can make edits through collector directing to a feature service that has layers with attribute rules and those rules will get executed.

that being said , If you take the map offline make edits and then sync back at the time of sync the attribute rules will be executed. 

DavidBrooks5
New Contributor III

Thanks for the reply, but I was hinting at whether arcade could perform some of the functionality in the absence of attirbute rules. I.E. if attribute rules aren't yet supported on AGOL, could Arcade code be embedded somehow in a service or web map to perform simple field calculations?

David_MichaelBrooks
New Contributor

 I got the update from the AGOL team that supporting attribute rules for hosted feature layers is on the team's long term road map, and the work has already started. Great news

AntonioDe_La_Rosa1
New Contributor II

Thanks for sharing the info Hussein! I'm in the process of testing an immediate calculation rule on a Valve/related valve maintenance layer that would edit a 'Last Operation' date in the Parent Feature when a Related Maintenance Record is either updated or created. Works very well locally in ArcGIS Pro in a File Geodatabase with test data. Next is to test this workflow with a feature service published from SDE to AGOL for Collector editing.

We're waiting on an upgrade as our Server is still in 10.6.1 and the needed Arcade function is not supported until we upgrade.

Can't wait to see if this will work! This will solve many enhancements that have been requested.   

hmray
by
New Contributor

Hi @HusseinNasser2,

First, I want to say thank you for putting this community together and also a BIG thank you for all your helpful blogs, videos and comments. Our company has embraced the full power of branch versioning with batch calculation/validation rules for data cleanup, and I couldn't have set it up without your blogs and videos.

Second, I have a question about correction and validation notes in the Error Layers. In ArcGIS Pro when evaluating errors, we have some that are marked as exceptions, but can't seem to add any notes in the Correction Notes or Validation Notes fields. The error message says: ERROR: Unable to Complete operation. Unable to perform applyEdits operation. Error: Layer Validation Point Errors does not support update operation.

I am wondering if I'm missing some functionality in the Error Inspector, need to change a setting for the Error Layers somewhere, or if it's something else. Any insight is appreciated!

Hunter

BHeist
by
New Contributor III

@HusseinNasser2 

I have a SDE database and I have a related table within the database. The table is housing records submitted from Survey123 for liquid level readings. I would like to visual some of these submitted readings, but I don't want to create a join to do so. As an alternative I have implemented an Attribute Rule for the field containing the values I would like to visual by. In another layer within my database I have added a new field in order to write the value from the table into. I have done this successfully. So when a new record is inserted in the related table, my Attribute Rule successfully executes and writes my desired value into the other layer within my database. The only issue is that the value doesn't end up in the related table. It's like the Attribute Rule is stealing it before it is finally inserted into the table. 

Is this expected behavior? A way to work around this?

Any insight you could provide would be much appreciated! 

Please see my code below:

 

//Field: toc_to_liquid_1
//Trigger: insert
//Execution: Exclude from application evaluation


//The example below is a calculation rule on a text field of a liquid level survey table. 
//When a new record is inserted within the survey table the value from the text field is written into a corresponding field in the master layer 

// Master layer accessed as a Feature Set
var masterLayer = FeatureSetByName($datastore,'L0RMCDemo_GIS_SDE_RMC_Demo_Master_Layer', ['globalid', 'Point_ID', 'current_liquid_level'], false);
//Extraction well point_id
var pointID = $feature['well_id']; 


// Filter statement (SQL) - access variable with @
var filterStatement = 'Point_ID = @pointID'; 

// Filter the master layer by the filter statement - grabs the value that matches from Master to LL Table
var masterFilter = Filter(masterLayer, filterStatement);

var currentTOC = [];

for (var record in masterFilter) {
    currentTOC = [{
        'globalid': record.GlobalID,
        'attributes':  {
            'current_liquid_level': $feature.toc_to_liquid_ft_1
        }
    }];
    return {
        'edit': [{
            'className': 'RMCDemo_GIS.SDE.RMC_Demo_Master_Layer',
            'updates': currentTOC
        }]
    }
}

 

About the Author
Software Engineer, Author of several GIS books and Software Engineering Content Creator on YouTube and Anchor.fm podcast