Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 

CategoryFunctionDescription
LogicANDReturns TRUE if all of its arguments are TRUE
ORReturns TRUE if any argument is TRUE
TRUEReturns the boolean value TRUE
FALSEReturns the boolean value FALSE
NOTReverses the boolean value of its argument
UNKNOWNReturns the logical value unknown
TextCONCATENATEJoins several text items into one text item
JOINJoins several text items into one text item, while placing a separator character between them
MATCHChecks if a string completely matches a regular expression
FINDReturns found characters if a pattern is found within text value
FIRSTReturns the first position where one text value is found within another
LASTReturns the last position where one text value is found within another
StatisticsAVERAGEReturns the average of its arguments
MINReturns the minimum of a specified value in a list or collection
MAXReturns the maximum of a specified value in a list or collection
COUNTCounts the number of instances in a specified collection
Date and TimeDATETIMEConverts a date in the form of text or a date object to a dateTime object
DATEConverts a date in the form of text or a dateTime object to a date object
ADD PERIOD TO DATEAdds a specified period (day, month etc.) to a date
ADD PERIOD TO DATETIMEAdds a specified period (day, month etc.) to a date
SUBTRACT PERIOD FROM DATESubtracts a specified period (day, month etc.) from a date and time
SUBTRACT PERIOD FROM DATETIMESubtracts a specified period (day, month etc.) from a date and time
PERIOD BETWEENReturns the period (days, months etc.) between two dates, two dateTimes or a date-dateTime combination
YEARReturns the number of the year
MONTHReturns the number of the month
DAYReturns the number of the day in the month
HOURReturns the number of hours in a dateTime object
MINUTEReturns the number of minutes in a dateTime object
SECONDReturns the number of seconds in a dateTime object
TODAYReturns today’s date
NOWReturns the current date and time
CollectionSIZE collectionReturns the size of a collection
UNIQUE collectionFilters duplicate instances in a collection
SUBSET OFReturns a subset of a collection
UNIONCombines two collections into one new collection
INTERSECTIONReturns the intersection of two collections
MathADDAdds two numbers
SUMSums the specified values in a collection
SUBTRACTSubtracts two numbers
DIVIDEDivides two numbers
DIVReturns the integer portion of a division
MODReturns the remainder from division
ROUNDRounds a number to a specified number of digits
ROUND TO MULTIPLERounds a number to the nearest integer or to the nearest multiple of significance
MULTIPLYMultiplies two numbers
PRODUCTMultiplies the specified values in a collection
POWERReturns the result of a number raised to a power
LESSCompares two number values and returns TRUE when one is smaller than the other
LESS OR EQUALCompares two number values and returns TRUE when one is equal or smaller than the other
GREATERCompares two number values and returns TRUE when one is greater than the other
GREATER OR EQUALCompares two number values and returns TRUE when one is equal to or greater than the other
EQUALCompares two values and returns TRUE when they are equal
NOT EQUALCompares two number values and returns TRUE when they are not equal
ListEXISTSReturns TRUE if there is an instance that matches the specifications
ALLReturns a collection of all instances of a specified entity
COLLECT FROMReturns a collection for a specified entity
COLLECT FROM WHEREReturns a collection for a specified entity that matches the specified conditions
COLLECT FROM NAMEDReturns a collection for a specified entity
COLLECT FROM NAMED WHEREReturns a collection for a specified entity that matches the specified conditions
UNPACKReturns the content of a single-valued list
ConversionTEXTConverts a value type to string
INTEGERConverts a value type to integer
NUMBERConverts a value type to number
CURRENCYConverts a value type to currency
PERCENTAGEConverts a value type to percentage
DATEConverts a value type to date
DATETIMEConverts a value type to datetime
BOOLEANConverts a value type to boolean
More functionsISUNKNOWNReplaces an unknown value with a specified value
IS A 
TYPE OF 
AUTHORIZATIONROLES 
CHANNEL 
LANGUAGE 
PAGE 
PRIVILEGES 
EVENT 

 

Statistics

AVERAGE

Use this function to determine the average (arithmetic mean) of a list or collection.

The AVG function has two syntax forms: the collection form and the list form. You can use the collection form to determine the average value of all occurances of an attribute. The list form is used to determine the average value of a set of different attributes.

Collection form syntax

AVG(attribute)
  • attribute - An attribute of any type of number or date of which multiple instances can occur at runtime.

List form syntax

AVG([value1, value2, ...])
  • [value1, value2, …] - A list of attributes, expressions or fixed values of any type of number or date. Use the square brackets to indicate that the arguments form a list of values.

Return types

  • number
  • integer
  • currency
  • percentage
  • date

The function returns UNKNOWN if one or more values are UNKNOWN.

Examples

Suppose the following domain model.

 

...

 

If you want to determine the average bidding on the current residence:

  • AVG(Residence.hasBiddings.amount)

If you want to determine the average amount of the appraisal value, the asking price and the mortgage of the current residence:

  • AVG([Residence.appraisalValue, Residence.askingPrice, Residence.mortgage])

MIN

Use this function to determine the minimum value of a list or collection.

The MIN function has two syntax forms: the collection form and the list form. You can use the collection form to determine the minimum value of all occurrences of an attribute. The list form is used to determine the minimum value of a set of different attributes.

Collection form syntax

MIN(attribute)
  • attribute - An attribute of any type of number or date of which multiple instances can occur at runtime.

List form syntax

MIN([value1, value2, ...])
  • [value 1, value 2, …] - A list of attributes, expressions or fixed values of any type of number or date. Use the square brackets to indicate that the arguments form a list of values.

Examples

Suppose the following domain model.

 

...

 

If you want to determine the lowest bidding on the current residence:

  • MIN(Residence.hasBiddings.amount)

If you want to determine the smallest amount within the appraisal value, the asking price and the mortgage:

  • MIN([Residence.appraisalValue, Residence.askingPrice, Residence.mortgage])

MAX

Use this function to determine the maximum value of a list or collection.

The MAX function has two syntax forms: the collection form and the list form. You can use the collection form to determine the maximum value of all occurrences of an attribute. The list form is used to determine the maximum value of a set of different attributes.

Collection form syntax

MAX(attribute)
  • attribute - An attribute of any type of number or date of which multiple instances can occur at runtime.

List form syntax

MAX([value1, value2, ...])
  • [value 1, value 2, …] - A list of attributes, expressions or fixed values of any type of number or date. Use the square brackets to indicate that the arguments form a list of values.

Examples

Suppose the following domain model.

 

...

 

If you want to determine the highest bidding on the current residence:

  • MAX(Residence.hasBiddings.amount)

If you want to determine the highest amount within the appraisal value, the asking price and the mortgage:

  • MAX([Residence.appraisalValue, Residence.askingPrice, Residence.mortgage])

COUNT

Use this function to retrieve the number of instances for the specified entities or attributes.

Syntax

COUNT(collection)
  • collection - A collection of attribute or entity instances.

Return type

  • integer

Examples

Suppose the following data model.

 

...

 

 

...

 

  • COUNT(ALL Person) results in 4
  • COUNT(House.rooms) results in 3
  • COUNT(ALL Person + ALL House) results in 5
  • COUNT(COLLECT Person FROM ALL Person WHERE(Person.name = “Lisa”)) results in 1
  • COUNT(? (= UNKNOWN)) results in UNKNOWN 1)
1) SIZE and COUNT are similar except for ?: SIZE(?) = 0

Date and Time

DATETIME

You can use this function to create2) a dateTime value out of integers or numbers 3).

Syntax

DATETIME(year, month, day, hour, minute, second)
  • year - An integer value between and including 1 and 9999 that represents the year in the constructed date.
  • month - An integer value between and including 1 and 12 that represents the month in the constructed date.
  • day - An integer value between and including 1 and 31 that represents the day in the constructed date.
  • hour - An integer value between and including 0 and 23 that represents the hours in the constructed time.
  • minute - An integer value between and including 0 and 59 that represents the minutes in the constructed time.
  • second - An integer value between and including 0 and 59 that represents the seconds in the constructed time.

Return type

  • dateTime

Examples

  • DATETIME(2010, 5, 25, 23, 00, 00) returns 25-5-2010 23:00:00
  • DATETIME(-2010, 5, 25, 23, 00, 00) results in UNKNOWN
  • DATETIME(2010, 5, 25, 45, 00, 00) results in UNKNOWN
1)2) there is also a conversion function DATETIME.
3) Numbers will be rounded to integers.

...