Subset
relational-functions subset
Starting form version 8.6.0, we advice to use the select_with_attr_by_org_rel or
select_with_attr_by_cond functions in stead of the subset function, for 2 reasons:
- it is easier to configure new attributes for the resulting domain.
- the select_with_attr_by_org_rel function results in a subitem org_rel, meeting our naming conventions.
In the future the subset function becomes obsolete.
syntax
- subset(condition)
definition
subset(condition) results in a new domain-unit with a relation to the entries of the domain unit of the condition, for which the values of the condition argument are true.
The resulting value-type of the domain unit is derived from the domain unit of the condition argument:
- uint32 for conditions with uint32, boolean, spoint or wpoint value-type
- uint8 for conditions with uint8 value type
- uint16 for conditions with uint16 value type
- uint64 for conditions with uint64, ipoint or upoint value type
The explicit subset_uint32, subset_uint16 and subset_uint8 functions can be used in the same manner as the subset function, to create a new domain unit with an explicit value type.
description
The subset function generates a subitem, named Nr_OrgEntity. This data-item contains the relation towards the domain unit of the condition argument.
The Nr_OrgEntity data-item can be used in a lookup function to relate attributes to the new domain unit, see the example.
See this overview for when to choose which selection operator is feasable.
applies to
- condition must be a boolean attribute or subexpression resulting in boolean values.
selecting attributes of a table
The subset function results in a new domain unit. Attributes for this new domain need to be configured explicitly, see the example.
It is possible to configure all attributes (e.g. read from a .csv file) for the Subset domain unit with a script example presented below in the example, selecting all attributes paragraph.
example
unit<uint32> ZHCities := subset(City/RegionCode == 200)
{
attribute<string> name := City/Name[Nr_OrgEntity];
}
| City/RegionCode | City/Name |
|---|---|
| 100 | Amsterdam |
| 200 | Rotterdam |
| 300 | Utrecht |
| 200 | Den Haag |
| 400 | Eindhoven |
| null | Haarlem |
| 400 | Tilburg |
domain City, nr of rows = 7
| ZHCities/nr_OrgEntity | ZHCities/name |
|---|---|
| 1 | Rotterdam |
| 3 | Den Haag |
domain ZHCities, nr of rows = 2
example, selecting all attributes
For this purpose we advice the new select_with_attr_by_org_rel or select_with_attr_by_cond functions.