Vizlib Writeback Table offers numerous operation types for writing or editing data back to your original source. They define whether you are replacing existing data, or inserting new data rows as part of your workflow.
It's important you read and understand these operations as they are critical to the definition of your workflow and business process.
For REST writeback types (GET/POST/PUT), the only possible operation is insert.
Update is the most sophisticated delta operation, which leaves unchanged data as it is, updating individual records and cells as the data is written back to the underlying source. It's different from Overwrite as it does not overwrite the complete source, allowing you to work, and edit a subset of the data.
Update is recommended if you wish to be able to work with Qlik Selections, and editing & writing data on a filtered data set.
As an example, you may have a table which supports multiple regions but wish to give the user rights to update records for one region only. Implementing Overwrite would replace the underlying source for a single region, whereas Update would keep all regions in the source, but only update the edited one.
Given you can have multiple edits on an individual row, audit fields are not supported by default yet.
Insert is the simplest operation as it adds all edited data as a new row(s) to the underlying data source. All edited data will be appended on writeback and when you load, you will receive all the history of written and edited data. This is particularly useful if you want to add adjustments to measures or correct data, but without losing any information on the state of the data before the change.
This means you would need to update your Qlik expressions in your dashboard, to ensure you
- choose the latest edited data (e.g. by using FirstSortedValue())
- aggregate your information in some way (e.g. medium, max, min, sum).
With the Insert operation, you have two options:
- Insert All Rows: Inserts a copy of all rows visible in the table, edited or not edited, and appends it to the underlying data source.
- Insert Edited & New Rows (default): Only inserts edited rows & new rows.
Overwrite operation completely replaces the underlying data source with the newly modified data. Old values will not be kept, and there is no audit trail or versioning of the previous changes to the overwrite. You can, however, follow on an audit trail in which the user did the most recent changes.
Overwrite is particularly useful for mapping tables, reference files, or other static data, where the intention is to keep a single source of the truth, and only the latest version is relevant for your data analytics.
Delete only removes rows from the underlying data source. There are very rare use cases when this operation could be useful. As an example, you could implement it so that users can only remove values or rows from a given data set, such as
- ticking off items
- removing duplicate rows.
For the Delete operation, it is not possible to include an audit trail of deleted fields.
You can find a list of related articles in the Vizlib Writeback Table Overview.