/
Business rule elements

Business rule elements

Each business rule is built of the following components:

Validation formula

Variable

It is a business rule component that refers to a cell in a table/concept in the dictionary with optional filtering. By default, the name is set to $v0. Each subsequent variable will have a name with an incremented number e.g. $v1, $v2, $v3 etc.

Expression

Shows the uses of the variables defined for a business rule, e.g. $v0 = $v1 + $v2.

Join

Defines the way tables from a business rule should combine together.

Where

Additional logical expression applied before executing the business rules, used to limit data set used for validating.

Additional options

Run rule even when no values for a variable are provided - if the cells included in the variable have no value Matter will run the business rule anyway to avoid errors.

Export to XBRL - includes a rule in the XBRL export file.

Is deactivated - the rule is not active.

Variable components

Clicking on the existing variable opens it’s components and allows to make edits.

Each variable has following details:

Properties

Properties include variable name that is assigned automatically using the predefined order (e.g. $v1, $v2, $v3 etc.). However, it can be set manually. To do it click on name of the variable and edit it.

In properties it is also possible to define Sequence (true or false) and set a Fallback value.

Sequence is used to create a joined element. By default it has false value and all elements mentioned in the rule will be treated separately. If marked as true variable elements will be treated as joined.

Fallback indicates a value that should be replaced when there is no fact reported. The expanded menu next to a fallback contains all the most usable fallback values. However, by choosing “other” it is possible to write a custom one.

For most arithmetic rules the fallback value should be set to “0”, so the given variable is ‘skipped’ while the business rule is still evaluated.

The Fallback value is set automatically by the system if left empty after you save the rule. It is set based on the data type used by the variable.

Here are the rules the system follows to set the fallbacks:

  1. Pure, Integer, Monetary, Percentage, Decimal → Zero

  2. Enumeration → Default Qname

  3. Boolean True → Default Boolean (can’t be null)

  4. Boolean → Default Boolean

  5. Date → Default Date

  6. Text, LEI, ISIN → Empty String

  7. Any data types that are not mapped are set to none

  8. If “Sequence” is used OR the variable has more than one ordinate with different types selected → Empty Sequence

  9. Dictionary Variables always have their Fallback Empty Sequence

  10. Constant Variables don’t have Fallbacks

If you want to prevent this behaviour and set the fallbacks automatically please turn the expert mode ON for this rule (the “Manual fallback mode (expert)“ on the Edit Rule page)

Indicator

Used in cross-report validation, to indicate, that this variable should use data from the referenced module; in the example above, the reference indicator is set to referenceIndicator. Reference indicator value must be set to the InstanceID of the reference report during the execution of the validation rule.

Indicator could be also auto-generated to provide the information regarding framework and framework version.

Context

Context is used to give a detailed description about the elements of the variable. Ticking checkboxes for rows, columns or tables mark the chosen element as “is scope”.

Is scope

When a business rule applies to several axis ordinates, it is possible to duplicate the calculation of a single calculation in a single rule by selecting the “Is scope” flag.
For example, if there is a rule saying that r010 = r020 + r030 which applies to columns c010, c020, and c030, columns should be indicated as a ‘scope’ of the rule. This will ensure that the rule applies to each column and there is no need to create a separate rule for each column.

Constants

From the field there is another possibility to define constants.

Filter

Filter is mostly used for individual defining of values. Allows narrowing down the values taken for calculations, e.g. in the case of open row tables, it is possible to filter only rows following a specific pattern.

 

Related content