Working with Named Ranges and Variables
In Jedox, a named range is defined via the Name Manager and is stored in the spreadsheet itself. This means that any named-range entries remain linked with the file, and when the same file is opened in a later Jedox Web session, the named ranges are still available. In contrast, variables are defined for the duration of a user’s Jedox Web session. Variables allow you to carry state — for example, a combobox selection — from one report to another in web applications.
The persistence behavior differs: named ranges remain available across sessions because they are embedded in the workbook, whereas variables behave differently depending on their scope. A global variable’s assigned value is lost at the end of a Web session — in the next session it reverts either to default or to “no value” (#VALUE!). A private variable, however, is stored with the user’s settings and will be restored in subsequent sessions for the same user.
An important distinction relates to naming conventions: variable names are case sensitive, while named range names are not. Additionally, if you change the name of a named range that is used in a formula for a DynaRange, you must manually update the DynaRange formula — renaming the range does not update its references automatically.
Creating global names
If you want to reuse named ranges defined in another workbook (for example a resource workbook named globals) within your current workbook (say Test1), you must first mark the external workbook as a resource. To do this in the Designer:
-
Right-click on the workbook globals and choose “Mark/Tag – As resource.”
-
Then right-click on Test1, open Properties → Resources tab, and add globals as a resource. Now, within Test1, you can reference a named range (e.g. Region from Sheet1 of workbook globals) using a formula such as:
=[globals]Sheet1!Region
If the workbook or sheet name has special characters, wrap the name (before the !) in single quotes, for example: '[globals-new]Sheet1'!Region.
Important restrictions:
You cannot have two workbooks with the same name in a single session — even if their file paths differ or their names differ only in upper case and lower case spelling. The same applies to resource workbooks (e.g. globals).
Avoid cyclic dependencies between resources. For example, you must not set up a scenario where workbook A depends on workbook B, workbook B depends on workbook C, and workbook C depends on workbook A.
Creating variables
There are multiple methods for creating or managing variables, such as creating a variable directly in a cell, using format controls, or using the variable interface.
Creating a variable directly in a cell
Variables are created using the syntax =@VariableName. For example, entering =@variable1 into cell A10 defines a variable named variable1. Initially the cell displays #VALUE!, but once you enter a value into A10, the variable is assigned that value, which gets written into the Jedox database and is displayed in A10 — while the underlying cell formula remains =@variable1.
You can then refer to that variable anywhere else in the current Jedox Web session simply by using =@variable1. Any cell containing that formula will reflect the value of variable1. If you change the value in any of those cells (where "=@variable1" is entered), the variable updates accordingly. However, once the session ends, a global variable loses its value and resets to “no value” (#VALUE!), while a private variable retains the value for the user.
Depending on the type of value assigned to a variable, its data type within Jedox changes accordingly: boolean values become object-type, numeric values become double-type, and text or special characters become string-type. Internally, Jedox retains the logical types, so if you later compare or retrieve the variable (e.g., in a macro), you will get the true boolean or appropriate data type.
In certain languages, values can be translated. For instance, the cell content "True" translates to "Wahr" in German. However, when you retrieve cell values using a macro or compare them by using an IF formula, they remain as Boolean values of true or false.
Since Booleans are a type of object, comparing them in a PHP macro should be done as demonstrated in the example below:
$boolvar = retrieve_variable("varBoolean");
$boolValue = ($boolvar) ? 'true' : 'false';
Creating a variable using Format controls
You can create a variable by specifying it in an input field provided in the Format Control dialog of a form element (for example, a Combobox, Checkbox, or DatePicker), and in the corresponding dialog window of Widgets, and in Hyperlink transfer tabs.
When defining a format control, you can set its “target” to a variable instead of a cell or named range. In the Format Control dialog, select the variables — and to the right of that field, a variable picker lets you choose an existing variable or create a new one. Once selected, click “Apply” (or “Cancel”) to close the dialog.
Creating and managing variables via the Variables dialog
You can also create and manage variables directly through the Variables dialog. To open it, go to the workbook menu and select Formulas → Variables. The dialog displays a list of all variables that have been defined for the current workbook.
From this interface, you can perform several actions:
-
Create a new variable (1) by entering its name and assigning an initial value.
-
Edit an existing variable by double-clicking on it and changing its value in the list. Note that after making any changes in the Variables edit dialog, you must click Update to apply and save the modifications.
-
Unset (2) a variable so that its value is cleared. If a variable is unset and is not referenced in any cell, the variable name will also no longer appear in the next session.
-
Mark a variable as private, ensuring that its value is stored with the user’s settings and restored in later sessions for the same user.
Private / Global mode of variables
Although variables are generally session-specific, their behavior depends on whether they are set to global or private mode.
A global variable keeps its assigned value only for the duration of the current Jedox Web session. When the session ends, the variable’s value is lost. In the next session, the variable either returns to its default or displays “no value” (#VALUE!). This applies even if the report itself has not changed.
A private variable, by contrast, is stored with the user’s personal settings. When a private variable receives a value and the report or spreadsheet is saved or closed, this value is preserved and automatically restored for that user in subsequent sessions. Simply logging out of Jedox Web is not sufficient — persistence occurs only when the containing report or spreadsheet has been saved or closed.
At the next login, the stored variable value will be restored. This set variable value can be overridden for mapped variables with the check mark "Force." Thereafter, the variable value behaves dynamically in Example: Report with Variables.
Using named ranges and variables in Dynatables and Canvas
Named ranges and @variables can be used not only in spreadsheets but also as dynamic data sources in Dynatables, Canvas elements, and Canvas-native Charts. They allow you to control displayed data, apply user selections, and create interactive, parameter-driven views across your dashboards and reports.
Updated December 3, 2025

