Operators and functions

Operators and functions

Operators and functions could be found in ATOME: Matter during the process of creating a business rule. To find the list of most used examples and easily implement them to the business rule open a business rule and hover the cursor over the sign next to expression.

Clicking on it will open a small modal window with the list of functions and operators. By clicking on the “plus” sign it is possible to instantly add the chosen element to the expression.

Binary operators

Operator

Left parameter (param 1)

Right parameter (param 2)

Description

Can be used in XBRL

Can be used in Particles

Operator

Left parameter (param 1)

Right parameter (param 2)

Description

Can be used in XBRL

Can be used in Particles

+

Any numeric value node.

Any numeric value node.

Returns a sum of both parameters.

YES

YES

-

Any numeric value node.

Any numeric value node.

Returns a difference of both parameters.

YES

YES

*

Any numeric value node.

Any numeric value node.

Returns a product of both parameters.

YES

YES

/

Any numeric value node.

Any numeric value node different than zero.

Returns a quotient of both parameters.

YES

YES

=

Any value node.

Any value node.

Returns TRUE if param 1 is equal to param 2, otherwise FALSE.

YES

YES

!=

Any value node.

Any value node.

Returns TRUE if param 1 is not equal to param 2, otherwise FALSE.

YES

YES

>=

Any numeric value node.

Any numeric value node.

Returns TRUE when param 1 is greater than or equal to param 2, otherwise FALSE.

YES

YES

>

Any numeric value node.

Any numeric value node.

Returns TRUE when param 1 is greater than param 2, otherwise FALSE.

YES

YES

<=

Any numeric value node.

Any numeric value node.

Returns TRUE when param 1 is smaller than or equal to param 2, otherwise FALSE.

YES

YES

<

Any numeric value node.

Any numeric value node.

Returns TRUE when param 1 is smaller than param 2, otherwise FALSE.

YES

YES

i+

Any numeric value node.

Any numeric value node.

Returns an interval sum of both parameters.

YES

YES

i-

Any numeric value node.

Any numeric value node.

Returns a interval difference of both parameters.

YES

YES

i*

Any numeric value node.

Any numeric value node.

Returns a interval product of both parameters.

YES

YES

i/

Any numeric value node.

Any numeric value node different than zero.

Returns a interval quotient of both parameters.

YES

YES

i=

Any value node.

Any value node.

Returns TRUE if param 1 is interval equal to param 2, otherwise FALSE.

YES

YES

i>=

Any numeric value node.

Any numeric value node.

Returns TRUE when param 1 is interval greater than or equal to param 2, otherwise FALSE.

YES

YES

i>

Any numeric value node.

Any numeric value node.

Returns TRUE when param 1 is interval greater than param 2, otherwise FALSE.

YES

YES

i<=

Any numeric value node.

Any numeric value node.

Returns TRUE when param 1 is interval smaller than or equal to param 2, otherwise FALSE.

YES

YES

i<

Any numeric value node.

Any numeric value node.

Returns TRUE when param 1 is interval smaller than param 2, otherwise FALSE.

YES

YES

and

Any logical value node.

Any logical value node.

Returns TRUE when both parameters are TRUE, otherwise FALSE.

YES

YES

or

Any logical value node.

Any logical value node.

Returns TRUE when one of the parameters is TRUE, otherwise FALSE.

YES

YES

Functions

Function name

Parameters

Description

Can be used in XBRL

Can be used in Particles

Function name

Parameters

Description

Can be used in XBRL

Can be used in Particles

Abs

Any numeric value node

Returns the absolute value of the given parameter.

YES

YES

iAbs

Any numeric value node

Returns the absolute interval value of the given parameter.

YES

YES

AccountingStandard

 

Returns accounting standard for currently validated report based on module label:

  • module label contains IFRS → returnsIFRS,

  • module label contains GAAP → returns GAAP,

  • in all other cases → returns empty string.

NO

YES

AddPeriods

  1. Period node

  2. Period node

Returns the summed period.

YES

NO

AddPeriodToDate

  1. Date node

  2. Period node

Returns the date node delayed by the period value.

YES

NO

CheckFilingIndicator

Variable node with table specified

Returns TRUE if filing indicator for a given table (param 1) has been reported as filed, otherwise FALSE.

NO

YES

ContextPeriod

Variable node

Returns context date from the variable.

YES

 

Count

Variable node

Returns number of not-null facts in given variable node.

YES

YES

CreateDate

  1. Numeric value node representing year

  2. Numeric value node representing month

  3. Numeric value node representing day

Creates date value.

YES

YES

CreatePeriod

String value node matching ISO Duration schema

Returns new period node representing the given duration

YES

NO

CurrentDate

 

Returns the current date.

NO

YES

EndOfYearBeforeReport

 

Returns year number previous to period year of the report currently being validated.

NO

YES

Dim

  1. Variable node.

  2. QName node.

Returns given explicit dimension (param 2) value from a given variable (param 1).

Partially - only in Join

YES

Exp

  1. Any numeric value node - the base of the power

  2. Any numeric value node - the nominator of the exponent of the power

  3. Any numeric value node - the denominator of the exponent of the power

Return calculated value of param 1 ^ (param 2 / param 3).

 

YES

YES

False

 

Returns false boolean value.

NO

NO

GetLabel

  1. Variable node pointing to enumeration metric

  2. String node representing the language

Returns label of enumeration metric value for a specified variable.

YES

YES

GroupConcatDistinct

String value nodes

Returns all distinct given values, concatenated into a single value, using , as a separator.

NO

YES

GroupConcat

String value nodes

Returns all values, concatenated into a single value, using , as a separator.

NO

YES

Identifier

Variable node

Returns the value of XBRL identifier element associated with the given variable.

YES

NO

if-then-else

  1. Logical Expression 1

  2. Logical Expression 2

  3. Logical Expression 3 (optional)

Allowing to create the logical expression with the following syntax:

If [logical expression 1] then [logical expression 2] else (TRUE or [logical expression 3] if present)

Evaluation algorithm:

  1. Is logical expression 1 = TRUE?

    1. YES.

      1. Is logical expression 2 = TRUE?

        1. YES → return TRUE.

        2. NO → return FALSE.

    2. NO.

      1. Is logical expression 3 present?