Versions Compared

Key

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


_nav_BackToTop

Panel
bgColorwhite

ISNULL


This function checks whether a value is unknown


Syntax

Code Block
ISNULL ( expression )



Input
  • expression - Expression that is checked.


Return type

  • boolean - TRUE of the attribute is unknown, FALSE otherwise


Examples

Suppose the following data model.


Person.namePerson.SequenceNumber
“Bob”654
“Jane”?
Active PersonExpressionResultType
BobISNULL ( Person.SequenceNumber )FALSEBoolean
JaneISNULL ( Person.SequenceNumber )TRUEBoolean
Include Page
_nav_BackToTop
Back to top

Panel
bgColorwhite

ISUNKNOWN


This function replaces a value if that value is unknown.


Syntax

Code Block
ISUNKNOWN ( expression , value )



Inputs
  • expression- Expression of which the value has to be returned if that value is known.
  • value - Value to return if the expression value is unknown.


Return type

  • any type, equals the expression type


Examples

Suppose the following data model.


Person.namePerson.SequenceNumber
“Bob”654
“Jane”?
“Mary”667
“Rick”?
“Ron”?
“Jenny”765
?111
Active PersonExpressionResultType
Jane - ?ISUNKNOWN ( Person.SequenceNumber , 999 )999Integer
Mary - 667ISUNKNOWN ( Person.SequenceNumber , 999 )667Integer
? - 111ISUNKNOWN ( Person.Name , "customer" )"customer"String



UI Text Box
typenote

Both parameters of the ISUNKNOWN function must be of the same datatype. If they differ in datatype, you get this validation error in studio:

Could not find function: ISUNKNOWN matching arguments System.Collections.ArrayList

Include Page
_nav_BackToTop_nav_BackToTop
Back to top

Panel
bgColorwhite

IFUNKNOWN


An alternative notation of the ISUNKOWN function, which increases readability especially for long expressions. This function replaces a value if that value is unknown.


The IFUNKNOWN function takes precendence precedence over any other binary operator (except for the "NOT" operator).
For example, this means that the expression A.B AND C.D IFUNKNOWN FALSE will be interpreted as A.B AND (C.D IFUNKNOWN FALSE). You can use parentheses to influence this behavior, e.g. by writing (A.B AND C.D) IFUNKNOWN FALSE. 
For  For the "NOT" operator the following expression "X AND NOT B IFUNKNOWN FALSE", can also be read as "X AND ((NOT B) IFUNKNOWN FALSE)"


Syntax

Code Block
expression IFUNKNOWN value


Inputs

  • expression- Expression of which the value has to be returned if that value is known.

  • value - Value to return if the expression value is unknown.


Return type

  • any type, equals the expression type


Examples

Suppose the following data model.


Person.namePerson.SequenceNumberPerson.HasDrivingLicense
“Bob”654true
“Jane”?true
“Mary”667false
“Rick”??
“Ron”?false
“Jenny”765true
?111true
Active PersonExpressionResultType
Jane - ? - truePerson.SequenceNumber IFUNKNOWN 999 999Integer
Mary - 667 - falsePerson.SequenceNumber IFUNKNOWN 999667Integer
? - 111 - truePerson.Name IFUNKNOWN "customer""customer"String
"Rick" - ? - ?NOT Person.HasDrivingLicense IFUNKOWN falsefalseBoolean




UI Text Box
typenote

Both parameters of the IFUNKNOWN function must be of the same datatype. If they differ in datatype, you get this validation error in studio:

Could not find function: IFUNKNOWN matching arguments System.Collections.ArrayList

Include Page
_nav_BackToTop_nav_BackToTop
Back to top

_nav_BackToTop

Panel
bgColorwhite

IS A


Use this function to check the type of an instance. The function returns TRUE if the selected instance is of the specified entity. 


Syntax

Code Block
instance IS A entity_name



Inputs
  • instance - Instance to check.
  • entity_name - Name of the entity as string.


Return type

  • booleanBoolean


Examples

Suppose a domain model in which there is a singleton entity Residence that has a multivalued relation hasRooms with Room. Room is the base entity for singleton Kitchen and not singletons Bedroom and Bathroom.

If you want to determine the number of bedrooms is the residence:

  • COUNT ( COLLECT Room FROM Residence.hasRooms WHERE ( Room IS A “Bedroom” ) )

If you want to determine the number of bathrooms is the residence:

  • COUNT ( COLLECT Room FROM Residence.hasRooms WHERE ( Room IS A “Bathroom” ) )
Include Page
_nav_BackToTop
Back to top