Cell References, Dynamic References, and OFFSET Functions
This article explains the different ways cells can be referenced in Jedox Business Rules. It covers static and dynamic cell references, the use of PALO.DATA and DCR, handling empty strings in rule functions, and the behavior of OFFSET-related functions.
Cell references
Static cell reference
Examples of static cell references:
- Via element name:
['2022'] - Via qualified element name:
['Years':'2022'] - Relative reference via element name and OFFSET function:
['2022':OFFSET(-1)]
Pros: short syntax, name-independent
Cons: works only within its cube; source elements must be precisely identified
PALO.DATA function
Pros: can access any cube in any database; element names can be complex expressions
Cons: complex syntax; elements are not name-independent - when element name changes, the rule stops working; doesn't react on flexible cube layout changes
Dynamic cell reference (DCR)
DCR shortens and simplifies the use of PALO.DATA and provides support for flexible cube layout.
DCR requires a cube name to be specified in single quotes before square brackets. It can be empty to reference the "self" cube. This name specification is important to distinguish between old intracube cell references, which have many limitations and special STET representation ( STET() can be written as []). Each item MUST specify the source dimension name for the source cube in single quotes, followed by a colon and either the source element in single quotes or general string expression that evaluates an element name.
Benefits of DCR are:
- The dimension can be found automatically. It does not have to be specified.
- The default read element is used if a dimension is added to the source cube.
- The order of parameters is not important.
Example: 'Sales'['Measure':'Units']
Related links: Managing Rules, Rule Engines in Jedox, Markers, Global Subsets in OLAP Rules
OFFSET() rules function
OFFSET returns the name of an element that is offset by a specified number of positions from another element. OFFSET is only available for static cell reference and does not work with Dynamic cell references (DCR).
When using the OFFSET function, the rule builder does not have to specify database, dimension, or element since the function is used in context, as shown in the screenshot.
Difference between PALO.EOFFSET() and OFFSET
PALO.EOFFSET() is a general function that requires full context to be specified in parameter list. For example: PALO.OFFSET(<db>,<dim>,<elem>,<offset>)
In comparison, OFFSET has fewer parameters as it is used in the context (database, dimension, and element) of SCR (static cell reference). For example: =[‘dim‘:OFFSET(-1)]
Updated March 4, 2026
