Skip to main content

v26.05: Transactions - Tables

Transaction Tables provide flexible data tables for capturing operational data such as Actuals, imported from ERPs, uploaded via files, or entered directly through the grid. Each table is configured with its own dimensions, metrics, and layout, and supports row-level audit and data history.

Creating a Transaction Table

To create a Transaction Table:

  1. Navigate to the functional area in the Explorer pane.

  2. Select the + AddTransactions > Table.The Table layout side pane opens on the right with an empty data grid.

  3. Enter the Name and Title on the configuration panel.

  4. Add Dimensions (Global or Local) and Metrics under the Fields section.

  5. Configure the Layout — assign fields to Rows or Filters as needed. Enable or disable the Allow Duplicate Rows option under Options.

  6. Click Create Table on the L2 header to create the table.

    Note: Create Table is used only the first time, to create the table. To save any subsequent configuration changes (such as adding fields, changing the layout, or modifying options), click Publish.

  7. Click Publish to make the table available.

Once published, users can enter data directly through the grid, import data from Excel or CSV files, or create snippets for focused data operations.

v26.05:  Saving Data from the Grid

Users can now enter, update, and save data directly from the Transaction Table grid. Previously, data could only be populated through Import and Export. With this enhancement, designers can type values into cells, insert rows in place, update existing rows, and save — without exporting and re-importing the file.

To enter and save data from the grid:

  1. Open the Transaction Table.

  2. Edit values directly in the grid:

    Cell type Behavior

    Metric cells

    Editable. Enter the value directly or select from the dropdown depending on the metric type. Editing overwrites the previous value.

    Local dimension cells

    Editable. Type text for text-type dimensions, or select from the dropdown for List-type dimensions.

    Global dimension cells

    Read-only. Cannot be edited from the grid.

    Note: Dimension cells display in grey and metric cells in white, matching the sheet grid view.

  3. To insert new rows:

    1. Right-click any row and select Insert row below. The Add Rows popup opens pre-populated with Number of rows to add.

    2. Update the count if more than one row is needed.

    3. Select Add [n] Row to insert. New rows are inserted below the selected row with blank cells, and are immediately editable.

    Note: Each new row must have values for all required dimensions (global and local) and at least one metric.

  4. To clear a cell value, right-click the cell and select Clear cell, or select the cell and press Del.

    Note: If all metric values in a row are cleared and saved, the row is removed from the grid after saving.

  5. Select Save on the L2 header to save the changes. On successful save, the message Changes saved successfully. is displayed.

    • Save triggers validation. New rows with only dimensions selected (no metric value) are rejected.

    • When Allow Duplicate Rows is not enabled, rows that exactly match an existing global-dimension combination are rejected.

    • If multiple rows are inserted with mixed valid and invalid entries, warnings identify the invalid rows and all entries are cleared.

Note: When Allow Duplicate Rows is enabled, updating a value in a duplicate row affects only that specific row; other duplicate rows are independent. All value updates generate an audit log entry and update data history in the event log and the default snippet.

v26.05: Creating a User-Defined Input Snippet

Transaction Tables now support user-defined Input snippets. Previously, every table exposed only the three default snippets — Original Table, Entire Data, and History. Users can now create a fourth, user-defined snippet of type Input for focused data entry, import, and export against the parent table.

An Input snippet inherits its metrics, dimensions, and Allow Duplicate Rows setting from the parent table as read-only values that stay in sync automatically.

To create an Input snippet on an existing Transaction Table:

  1. Open the Transaction Table.

  2. Select Snippet on the L2 header. The Snippet list opens.

  3. Select Create Snippet at the bottom of the list. Four snippet types are listed.

    Note: Only Input is active in this release. The other three are reserved for future use.

  4. Select Input. A blank grid opens in the center, with two side panes on the right — Input Snippet Layout and Dimensions.

  5. Configure the fields in the Input Snippet Layout pane:

    Parameter Description

    Name

    Internal name for the snippet. Same validation rules as Sheet snippet naming.

    Title

    Display title for the snippet. Same validation rules apply.

    Functional Area

    Read-only dropdown displaying the parent Transaction Table’s functional area.

    Enable Access Control

    Checkbox. Selected by default.

    Private

    Checkbox. Selected by default. Clear the checkbox to make the snippet public.

    Layout Type

    Dropdown. Table is the only available option.

    Layout

    Configure Rows and Filters sections. See note below for layout behavior.

    Note: Layout behavior depends on the parent table’s duplicates setting. When Allow Duplicate Rows is enabled on the parent table, all global dimensions, local dimensions, and metrics auto-populate in Rows and cannot be moved to Filters. When not enabled, items default to Rows; global dimensions can be moved to Filters (fixed members required when in Filters); local dimensions and metrics cannot be moved to Filters. Within the layout, items can be reordered, and Preferences can be added, edited, and reordered — same as in the parent Transaction Table.

  6. Review the Dimensions pane. All entries here are read-only and mirror the parent Transaction Table:

    • Metric — lists all metrics from the parent table.

    • Dimensions — lists all global and local dimensions from the parent table.

    • OptionsAllow Duplicate Rows mirrors the parent table’s setting.

    Note: Global dimensions can be expanded to view the read-only Allowed Members selection. Any change to dimensions or metrics in the parent table automatically reflects here.

  7. Select Publish on the L2 header.

After publishing, the snippet appears in the Snippet list under the Public or Private tab, depending on the Private checkbox. A Save option then appears on the L2 header for saving subsequent data changes.

Note: Data entry and import in the Input snippet follow the same behavior and validations as the parent Transaction Table (see Saving Data from the Grid ).
Use the Import option on the L2 header to import data; the import flow, mapping, validation, and duplicate handling are identical to Transaction Table import.

Note: A Transaction Table can have multiple Input snippets, each independent. Snippets can be moved between Private and Public visibility through standard snippet management actions. Data saved through any snippet remains consistent and accessible across all sources.

v26.06: Import Data to Transaction Table from Task

Users can import data into a transaction table directly from a Task using the Upload File action under Transaction Table Actions. This eliminates the need to navigate to the transaction table to perform the import.

Adding an Upload File Action to a Task

To add an Upload File action:

  1. Open the task in edit mode.

  2. Under Calculations & Data Flow, click Add Data Action.

  3. In the selector, expand Transaction Table Actions and select Upload File.

  4. Click OKAY. An Upload File section is created in the task.

To select the target transaction table:

  1. In the Upload File section, click + Add Table.

  2. Browse the hierarchy: App > Functional Area > Folder > Transaction Table.

  3. Select a table. Only one table can be selected at a time. The selected name populates the Table field.

To configure dimension filters:

  1. Click the filter icon next to each global dimension.

  2. Select one of the following for each dimension:

Option

Description

Context

Value is resolved from the execution context at runtime.

User Selection

User is prompted to select a member at execution.

Member

A specific member is selected and used as the fixed input on every import.

The Time dimension supports multi-member selection. All other dimensions allow single leaf-member selection only.

v26.06: Importing Data from a Task

To import data at execution:

  1. Open the task for execution.

  2. In the Upload File section, click Add and select a file. Supported formats: .csv and .xlsx. Multiple files can be uploaded; they are imported in upload order.

  3. For any dimension set to User Selection, select the required member.

  4. Click Calculate.

Files in unsupported formats generate a warning entry in the log and are not imported. Duplicate record handling follows the table's settings: if duplicates are disabled, the last value is retained; if duplicates are enabled, all records are imported.

Reviewing Import Results

After import, a log entry appears showing the user name, timestamps, and a status icon (Success, Warning, or Failed). Click the log entry to open Task Log Details, which includes the calculation log, dimension context used during import, a message summary (workbook name, records uploaded, success count, and rejected count), a downloadable log file, and Model Audit Info showing one row per metric in the format tablename.metricname with its record count. Click any row in Model Audit Info to view that metric's history.

Import outcomes are also reflected in the Event Log.

v26.06: Add Rows from L2 Header

A + button on the L2 header of the transaction table provides an additional way to insert rows. Both this button and the right-click Insert Rows Below option remain available; they produce identical results.

To add rows using the L2 header:

  1. Open the transaction table.

  2. Optionally, select a cell in the row below which the new rows should be inserted. If no cell is selected, rows are appended at the end of the table.

  3. Click + on the L2 header.

  4. In the dialog, enter the number of rows to add. The value must be a whole number of 1 or greater. Entering 0, a negative number, a decimal, or non-numeric characters shows the warning: "Must be at least 1 row."

  5. Click Add [n] rows to confirm, or Cancel to close without adding rows.

For unauthorized users, the + button is visible but disabled.

Was this article helpful?

We're sorry to hear that.