Show TOC

Syntax documentation*LOGIC_BY Locate this document in the navigation structure

Allowed uses: Global, MDX, SQL

*LOGIC_BY = {dimensions list}

(Only valid for *LOGIC_MODE = 2)

Overrides the default dimensions to scan to build the names of logic files to execute when in logic mode 2.

In logic mode 2 (multiple logics), the program builds the names of the logics to execute reading the content of the user-defined property named LOGIC in all members being processed for the dimensions CATEGORY and ENTITY.

Example Example

If the category and entity being processed are ACTUAL and SALESITALY respectively, and these members have, as LOGIC property, the values ‘ACT’ and ‘1’ respectively, the logic being executed is ACT1.LGX.

End of the example.

The dimensions to scan to build the name of the logic to execute are by default category and entity, but this default can be overridden with the instruction:

*LOGIC_BY = {dimensions list}

Example Example

The instruction could say:

*LOGIC_BY = TIME, DATASRC

End of the example.

This means that the logic varies by time period and by member of the DATASRC dimension.

The order in which the dimensions are written in the instructions controls the sequence in which the content of the LOGIC properties are concatenated (the module reads the dimension names from left to right). Any number of dimensions can be specified.

Blank values for the LOGIC property are acceptable, as long as at least one of the dimensions listed in the instruction has a nonblank value (otherwise the resulting logic name is blank).

LOGIC_MODE is automatically set to 2 in case the instruction *LOGIC_BY is used.

The Logic engine does not set any limit to the number of dimensions by which the logic may vary. However, we recommend to not use more than two dimensions for this purpose, as this could lead to a high number of logic files to define and maintain. This could also lead to excessive fragmentation of the logic execution in many small queries, resulting in unsatisfactory performance.