Skip to main content

Qlik Sense On-Prem - Automatic data lineage

Dataedo builds Data Lineage for Qlik Sense On-Prem using the app load script and the Qlik Engine API.

What to expect

Inside a Qlik app

App tables — shown as datasets in Dataedo — are the tables an app builds during a reload. Dataedo creates column-level lineage from them to the sheets and visualizations that consume them, so you can see which columns feed a given chart.

Measures and dimensions are read as expressions, so a field built from several columns produces a flow from each one. For example: Sum([Price] * [Quantity]) links to both Price and Quantity.

Visualizations that rename a field keep the link to its origin with a new label.

warning

Lineage inside an app is derived from field expressions. Field names must be referenced in square brackets ([Sales]) to be recognized.

Column-level lineage from a Qlik app table to visualizations on a sheet

App Tables (Dataset Tables)

info

Lineage between external sources and app tables is derived from the app load script, and supports a limited set of patterns. See known limitations for more information.

Dataedo analyzes the metadata associated with app tables, so you can trace the origins and locations of your data. Currently, lineage is traced for data existing in External sources connected to Qlik, for example, in a table located in a PostgreSQL database:

Qlik Sense On-Prem External lineage

In Dataedo Portal, you can view which apps reference a given table.

For this to work, you must document the database in Dataedo and match its linked source during import — if you have not, see Troubleshooting.

Lineage support at a glance

info

This page covers Qlik Sense On-Prem. Qlik Sense SaaS reads lineage from the Qlik Cloud lineage API and covers far more — see Qlik Sense SaaS data lineage.

FlowObject-levelColumn-levelNotes
Database table, through a linked sourceonly for load scripts matching the supported pattern — see Known limitations
QVD, CSV or Excel file
Another Qlik app
App table to sheet or visualization ⚠️built from expressions — see Known limitations

Known limitations

  • Lineage between a source table and an app table is object-level only — columns are not mapped. Column-level lineage is available only from app tables to sheets and visualizations.
  • Lineage to a source table is recognized only when all of the following hold: the load script connects with LIB CONNECT TO (uppercase); the app table is declared with a bracketed label, [Employees]:, in that connection's section; the label is exactly the name of the source table (case-sensitive, no schema or alias); the connection name matches a data connection in Qlik; and that connection resolves to a database documented in Dataedo as a linked source.
  • Connections declared with ODBC CONNECT TO or OLEDB CONNECT TO are not recognized.
  • Lineage between Qlik Data Files (QVD, CSV, …) and app tables is not created.
  • Lineage to sheets and visualizations requires bracketed field names. This part of the lineage is derived from field expressions, and only fields referenced in square brackets ([Sales]) are recognized — see Inside a Qlik app.

Troubleshooting

I don't see data lineage from External source database

  1. Confirm the source database is documented in Dataedo. Without its tables in the catalog there is nothing for the flow to point at.

  2. On the connection's Linked Sources tab, check that the linked source points at that database — assign it by hand if needed.

    Linked Sources tab of a Qlik Sense connection with a SQL Server source matched to a documented database
  3. If you don't see any linked sources at all, check that you belong to the Stream the app is published in and have the Can edit role — Dataedo needs it to read the app script, where the connection information lives.

    The Can edit role in the permissions of a Qlik Sense stream
  4. Check that the load script follows the supported pattern — LIB CONNECT TO followed by the exact name of one of the linked sources listed on the connection's Linked Sources tab, and the app table declared as [Table]: with the exact name of the source table — see Known limitations.

  5. Rerun the import — the documentation may come from an older version or an import run with different settings.

Dataedo is an end-to-end data governance solution for mid-sized organizations.
Data Lineage • Data Quality • Data Catalog