QGIS/resources/function_help/json/relation_aggregate
Harrissou Sant-anna 575ecffe30 Add "concatenate_unique" as aggregate parameter
to relation_aggregate function
2019-10-03 13:28:36 +10:00

19 lines
2.2 KiB
Plaintext

{
"name": "relation_aggregate",
"type": "function",
"description": "Returns an aggregate value calculated using all matching child features from a layer relation.",
"arguments": [
{"arg":"relation", "description":"a string, representing a relation ID"},
{"arg":"aggregate", "description":"a string corresponding to the aggregate to calculate. Valid options are:<br /><ul><li>count</li><li>count_distinct</li><li>count_missing</li><li>min</li><li>max</li><li>sum</li><li>mean</li><li>median</li><li>stdev</li><li>stdevsample</li><li>range</li><li>minority</li><li>majority</li><li>q1: first quartile</li><li>q3: third quartile</li><li>iqr: inter quartile range</li><li>min_length: minimum string length</li><li>max_length: maximum string length</li><li>concatenate: join strings with a concatenator</li><li>concatenate_unique: join unique strings with a concatenator</li><li>collect: create an aggregated multipart geometry</li><li>array_agg: create an array of aggregated values</li></ul>"},
{"arg":"expression", "description":"sub expression or field name to aggregate"},
{"arg":"concatenator", "optional":true, "description":"optional string to use to join values for 'concatenate' aggregate"},
{"arg":"filter", "optional":true, "description":"optional filter expression to order the features used for calculating the aggregate. Fields and geometry are from the features on the joined layer."}
],
"examples": [
{ "expression":"relation_aggregate(relation:='my_relation',aggregate:='mean',expression:=\"passengers\")", "returns":"mean value of all matching child features using the 'my_relation' relation"},
{ "expression":"relation_aggregate('my_relation','sum', \"passengers\"/7)", "returns":"sum of the passengers field divided by 7 for all matching child features using the 'my_relation' relation"},
{ "expression":"relation_aggregate('my_relation','concatenate', \"towns\", concatenator:=',')", "returns":"comma separated list of the towns field for all matching child features using the 'my_relation' relation"},
{ "expression":"relation_aggregate('my_relation','array_agg', \"id\")", "returns":"array of the id field from all matching child features using the 'my_relation' relation"}
]
}