Changelog
If you enable the Enable Changelog option on the Database Settings dashboard, cell changes made by write and delete operations are logged to Data Lake.
What Changelog does
One example of a write operation is splashing. When a splashing operation finishes successfully, one or more Changelog entries are logged automatically. Information about the operation, such as the value, is logged. In some cases, the values are not logged as delivered but as the computed end value. For example, if you have the value 1 in a specific cell and the delta operation applies a delta value of 2, then the Database Worker writes 3 as the value.
Information on the date, time, user name, cube name, cell address, original value, and new value is included.
Changes to cell values are not logged if these events occur:
- The entire cube is deleted.
- The dimension element the cell belongs to is deleted.
- The cell type is changed from:
- S to N
- N to C
- S to C
These changes are not logged:
- Attributes
- Dimension
- Cell comments
- Cube structures
- Configuration settings
Logging configuration
After you enable Changelog, you specify these Changelog configuration options:
- Output target: Select
the location to which to store the cell change data.
For cloud deployments, the storage location is Data Lake.
Note: For commercial applications that have been provisioned with the fixed Changelog configuration, the storage location is Data Lake or a relational data connection. - Output mode: Select the schema to use to log cell
changes.
For cloud deployments, this field is disabled and the new schema is used by default.
Note: For commercial applications that have been provisioned with the fixed Changelog configuration, the new or old schema is used by default. The new schema is used for Data Lake as the target. The old schema is used for a relational data connection as the target. - Filters: Use filters to reduce the amount of tracked data changes. These filters are
available:
- Cubes: Select the cubes for which to log value changing operations.
- Operations: Select the
operations for which to log cell changes.
You can select one or more of these operation categories:
- Single cell change operations are operations that write to the base cells of a cube through the Application Studio reports and Excel Integration.
- Splashing logs splashing operations.
- Data area operation logs cell value changes that are made through data area functions.
- Value import logs changes in cell values that are imported through mappings or cell import.
This table shows how operation categories are marked in the OperationType column of the Operations table in the new schema:
Operation category Operation Type Single cell change 0 Splashing 1 Data area operation 2 Value import 3 Note: The operation categorization is based on an API method and not on the usage from the end user perspective. Therefore, some user actions may not be logged in Changelog or may not match the user's intention.This table shows the API methods and their matching operation categories:
API method Operation category Example WriteCells Splashing or single cell change Application Studio and Excel Integration writeback to base cells. Splashing Splashing Application Studio and Excel Integration writeback to aggregated cells. New LFS Value import Cube mappings. Old LFS Value import ImportCells Value import Application Engine functions, for example, OLAPCellWriteBuffer
.DataareaSetValue Data area operation Application Engine data area functions or, in cube mappings, when you clear a cube area before import. DataareaCopy Data area operation Application Engine data area functions. WriteValue Single cell change See "WriteValue". SplashValue Splashing See "SplashValue". UndoSplashing Splashing See "Cube UndoSplashing".
- Excluded users (won't be logged): Select users whose operations will not be tracked.
New schema
The new SQL schema reflects the OLAP
database structure and uses OLAP database
naming for the database objects. The format of the database object names is EPMOL_application name_cube name_type
. For example,
EPMOL_bibestpr_cost_cc
. The Changelog data is
stored in three tables for each cube that is tracked. The tables are created
automatically. These tables are used:
- Operations: Lists all change operations in a cube. You can track, when, how, and
by which user a specific operation was performed. The name of the table has the
_OP
suffix. - Hierarchies: Lists hierarchies that were addressed by a specific operation. For
each operation, one or multiple hierarchy sets are created. The name of the
table has the
_HR
suffix. - Cell Changes: Lists all actual cell changes. The name of the table has the
_CC
suffix.
All changes that are done to the OLAP database and Changelog configuration are reflected in the schema.
To remove Changelog data, use the Purge function in Data Lake. In Data Lake Compass, you can delete Changelog data.
Old schema
The old schema is backwards compatible and uses two tables. The table for cell changes is named AleaLog by default. The table for splashing operations is named AleaLogOperations by default. The names of the table columns are not based on the names of hierarchies and dimensions of a cube. The column names are, for example, Hierarchy1, Dimension1, Hierarchy2, Dimension2.