aggregation-functions last


  • last(a)
  • last(a, relation)


  • last(a) results in a parameter with the last of the non null values of attribute a.
  • last(a, relation) results in an attribute with the last of the non null values of attribute a, grouped by relation. The domain-unit of the resulting attribute is the values-unit of the relation.

applies to

  1. attribute a with Numeric, Point, string or bool value-type
  2. relation with value type of the group CanBeDomainUnit


  1. The values unit of the resulting data-item should match with regard to value type and metric with the values unit of attribute a.
  2. The domain of argument a and relation must match.


parameter<uint32> lastNrInh    := last(City/NrInhabitants);  result = 175
parameter<string> lastCityName := last(City/CityName);       result = ‘Haarlem’
parameter<bool>   lastIsCap    := last(City/IsCapital);      result = False

attribute<uint32> lastNrInhRegion    (Region):= last(City/NrInhabitants, City/Region_rel);
attribute<string> lastCityNameRegion (Region):= last(City/CityName,      City/Region_rel);
attribute<bool>   lastIsCapital      (Region):= last(City/IsCapital,     City/Region_rel);
City/NrInhabitants City/CityName IsCapital City/Region_rel
550 Amsterdam True 0
525 Rotterdam False 1
300 Utrecht False 2
500 DenHaag False 1
200 Eindhoven False 3
175 Haarlem False null
null null False 3

domain City, nr of rows = 7

lastNrInhRegion lastCityNameRegion lastIsCapitalRegion
550 Amsterdam True
500 DenHaag False
300 Utrecht False
200 Eindhoven False
null null False

domain Region, nr of rows = 5

see also