I'm dead in the water if I can't somehow create a "virtual column".

3136
19
07-20-2016 09:14 AM
RoyceSimpson
Occasional Contributor III

I have a point feature class that has two numeric columns that my field workers will populate.  I need to somehow have third column auto-populate based on a math formula between those first two columns.  In the days of "the coverage" you could do this via a "virtual column" or "derived field".  Seems that this is not possible in the GDB.  FAQ: Are Computed/Virtual columns supported in an Enterprise environment in ArcGIS?

Is there any way to do this?  I can't imagine that the only way is to manually go in and use the "field calculator" or jimmy up some sort of scheduled python script.  That just doesn't make any practical sense as my field workers will be in and out all day, days on end and our reporting needs to have that third field up-to-date at all times.  What am I missing here?  We are in the 21st century right?   (I kid, but I'm frustrated).

Thanks, Royce

0 Kudos
19 Replies
DanPatterson_Retired
MVP Emeritus

this probably accounts for the persistence of spreadsheet use in workflows.  I know of no other solution other than what you suggest

0 Kudos
RoyceSimpson
Occasional Contributor III

I've got one possible solution to this.  My DBA has written a view in Oracle which has what amounts to that "derived field" in the view.  He also added the globalID field as GUID in the view so I can create a relationship class in arcgis and display that derived field back out to my end users.  Will report back if that does the trick.

0 Kudos
DanPatterson_Retired
MVP Emeritus

But is this something that your field workers will be able to manage or will the process be 'invisible' to them?

0 Kudos
RoyceSimpson
Occasional Contributor III

The field workers only care about column a and column b.  The view will take care of column c, which is the column that our web viewer community cares about.

TanyaHaddad
New Contributor III

I think the view is the correct way to deal with it then, especially if it is creating content that is only needed for the web.

Another option if the relationship (formula) between Col A and Col B is simple enough, you might be able to do the calculation of value C on the fly in your web page, assuming you have access to a scripting language.

0 Kudos
FC_Basson
MVP Regular Contributor

In what way are you presenting the column information to the two groups?  Direct access or Web service?  If it is point feature labels, then a label expression could work.  If it is click/query based, you could manipulate the value for column C easily in a Web interface.

0 Kudos
ChristopherThomas
New Contributor III

I've used database views to display data on the fly if your data is loaded into an enterprise geodatabase. You might also check out the Attribute Assistant add-in as another option.

Attribute Assistant | ArcGIS Solutions

0 Kudos
RoyceSimpson
Occasional Contributor III

Thanks for all the comments.  I'm working with the "view" right now to see if that will work but have also downloaded that Attribute Assistant and will check that out today. 

0 Kudos
RoyceSimpson
Occasional Contributor III

Well, using a view is a bust.  The web map and subsequently any web mapping app can't use it.  To clarify though, the web map can see the view as a stand alone table but that doesn't buy me anything.  The end user must be able to click points on the map and see the contents of the view as they relate to an given clicked on point. So I did a join in arcmap between the view and the point feature class.  Works flawlessly in arcmap.  I can edit a point, change the values for columnA and columnB and see columnC in the view update automatically based on the math formula.  AGOL doesn't support joins in the mxd... You have to do a "field join" which literally appends the joined field onto your feature class, which defeats the purpose here since I'm using the view to create and autopopulate a calculated field. 

So, it seems attempting to do anything other than using fields directly from a feature class is not supported and won't work. So, back to square one.  I'll look at that attribute assistant next.

#runningoutofoptions

0 Kudos