Hello,
when a record type has a (1,n) relation, Appian supports some aggration for those related records ( 'Create Custom Record Field' --> 'AGGREGATE RELATED RECORD FIELDS').
The avaible aggregation functions seem to be dependend on the data type of the 'AGGREGATE RELATED RECORD FIELDS' - in any case, I'm looking for something like FIRST_OF (LAST_OF) so that I can get the first record field(s) of related data records (which are string based).
Maybe a small example: (Author) <-- (Books) (an author can have many books)
Should be presented in a list
What would be a good way to achieve this?
Thank you in advance
Thomas
Discussion posts and replies are publicly visible
Did you try this?
https://docs.appian.com/suite/help/22.3/fnc_system_relatedrecorddata.html
Hi Stefan,
I've read the documentation and it looks promising - as of now I'm on a loss where to apply this from within the 'Record Type' GUI (and 'New Custom Record Field).
(I'm able to get part of this working from within a 'Expression Rule' though)
I am not sure whether this works in a custom record field. But give it a try and post an update.
I did not succeed in getting this to work in a custom record field:
Maybe I did not yet get the syntax right though...
I also had the same problem, so it would be great if you could update it. pou
Custom record fields are made for a pretty narrow range of typical use cases and might not cover yours. But you can always go the way and implement your own query and show that in a grid.
It's not possible to use the a!relatedRecordData() function in a custom record field, but I still think you can likely get what you need. Can you share more information about your use case? If you just need to display this in a grid, you shouldn't need a custom record field. Instead, just add a!relatedRecordData() to your grid data and configure it to only return one itme.
For instance, something like the example here would work, do to the same thing in a grid instead: docs.appian.com/.../fnc_system_relatedrecorddata.html
Thank you for the clarification, when building the expression within the query editor it is just fine. As of now, I cannot get to show the result data (from an expression rule based on a query operating on a record type) in a read-only grid.
I've built one the appian example (Acme Vehicle).
Expression Rule (not yet figured out how to share code)
When pasting this into a read-only grid:
Could not display interface. Please check definition and inputs. Interface Definition: Expression evaluation error at function a!gridField [line 8]: A grid component [label="Read-only Grid"] has an invalid value for "columns". A grid column [label="Vehicleid"] has encountered an error. Expression evaluation error: Vehicle can only be indexed into using square brackets or the index function
Probably this is another issue though - thank you.
It seems like you try to reference some field using dot-notation in your grid. Change that to the square brackets notation used for record data.
I did nothing special, I've just selected the rule from within of that grid the GUI as data source.
a!gridField( label: "Read-only Grid", labelPosition: "ABOVE", data: rule!AA_TestRelatedRecordAggregation(), columns: { a!gridColumn( label: "Vehicleid", sortField: "vehicleid", value: fv!row.vehicleid ), a!gridColumn( label: "Maintenance", sortField: "maintenance", value: fv!row.maintenance ) }, selectable: false, validations: {} )