QSDA study materials
QSDA study resources

QSDA key terms

QSDA · Get comfortable with the vocabulary.

Synthetic Key

An extra field Qlik creates automatically when two tables share more than one field name; the shared fields are combined into a composite key, which usually signals a model that needs redesigning.

Related: Circular Reference, Link Table, Star Schema
Circular Reference

A loop formed when three or more tables are associated so that data can travel from a table back to itself; it makes selections ambiguous and forces Qlik to guess which path to use.

Related: Link Table, Synthetic Key
Star Schema

A model with one central fact table holding keys and measures, surrounded by dimension tables that each connect to it through a single shared key field.

Related: Snowflake Schema, Granularity
Snowflake Schema

A star schema where dimension tables are normalised into further related tables, so a lookup must pass through more than one table before reaching the fact.

Related: Star Schema, Link Table
Join

A script prefix that merges two loaded tables into one wider table, matching rows on shared field names and keeping columns from both sides.

Related: Keep, Concatenation
Keep

A script prefix that filters one table against another using their shared key fields, leaving both tables separate instead of merging them into one.

Related: Join
IntervalMatch

A script statement that links a point value such as an event timestamp to a table of numeric intervals, expanding the point across every interval that contains it.

Related: Join, Canonical Date
Link Table

A table containing only key fields that sits between fact and dimension tables to break circular references or to resolve many-to-many relationships.

Related: Circular Reference, Synthetic Key
Canonical Date

One shared date key built from several differently named date fields in the source, so every event associates to a single reusable calendar dimension.

Related: Link Table, Star Schema
Qualify

A load prefix that prefixes every field name with its table name, preventing accidental associations between tables that reuse generic names such as Date or ID.

Related: Synthetic Key, Join
Concatenation

Appending the rows of one table to another with the same structure; Qlik performs this automatically when field names and field counts match exactly.

Related: NoConcatenate, Join
NoConcatenate

A prefix that prevents Qlik from performing an automatic concatenation, keeping a newly loaded table separate even though its fields match an earlier table.

Related: Concatenation
Resident Load

Loading data from a table already held in memory rather than from the source system, typically to derive fields or reshape data without another extraction.

Related: Preceding Load, Peek
Preceding Load

Stacking several LOAD statements so that each reads from the one written below it, layering transformations that read naturally from top to bottom.

Related: Resident Load
Incremental Load

A pattern that appends only new or changed records to an existing store, using a high-water mark such as the largest key or timestamp already loaded.

Related: QVD, Exists
ApplyMap

A script function that replaces values in a field using a previously loaded mapping table, avoiding a join when you only need to translate codes into labels.

Related: Mapping Table, Data Cleansing
Mapping Table

A two-column table declared with the MAPPING keyword, holding from-to pairs that ApplyMap uses to translate or clean field values.

Related: ApplyMap
Peek

A function that returns one field value from a specified row of an already loaded table, often used to carry a value across loop iterations.

Related: Resident Load, Exists
Exists

A function that tests whether a value already appears in a loaded field, commonly used to load only the records that are not yet in the model.

Related: Incremental Load, Peek
Crosstab

A load prefix that turns a spreadsheet-style matrix, with values spread across many columns, into a normalised table of row, column and value.

Related: Data Cleansing, Concatenation
Binary Load

Loading the complete data model of another Qlik app, letting a downstream app reuse an already transformed model without repeating the source extraction.

Related: Layered QVD Architecture, QVD
Dollar-sign Expansion

Substituting a variable's value into the script text before it executes, enabling parameterised file paths, cut-off dates and reusable code fragments.

Related: Incremental Load
Slowly Changing Dimension

A dimension whose attributes change over time, handled either by keeping history rows with valid-from and valid-to dates or by overwriting with the current value.

Related: Granularity, Incremental Load
Null Value Handling

Treating blank field values deliberately, because unmatched keys appear empty and silently drop out of sums, counts and associations.

Related: Key Consistency, Referential Integrity
Granularity

The level of detail at which a table stores its rows, such as one row per order line rather than per order; mixing levels inflates totals.

Related: Star Schema, Pre-aggregation
Key Consistency

Making sure the same entity carries identical key values in every table, matching data type, case, padding and trimming so associations resolve correctly.

Related: Data Cleansing, Referential Integrity
Data Cleansing

Script steps that correct values before they reach the model, such as trimming spaces, standardising case, fixing data types and mapping codes to readable labels.

Related: Key Consistency, Mapping Table
Referential Integrity

The guarantee that every key in a fact table exists in the matching dimension; orphan keys otherwise produce blank dimension values and lost measures.

Related: Key Consistency, Null Value Handling
QVD

Qlik's own columnar file format, written with the store statement and read very quickly, forming the standard building block of a layered data architecture.

Related: Optimized QVD Load, Layered QVD Architecture
Optimized QVD Load

Reading a QVD with a plain load that leaves fields untouched, which Qlik can decompress directly; adding expressions or renaming fields forces a much slower path.

Related: QVD, Drop Field / Drop Table
Drop Field / Drop Table

Script statements that remove unused columns or intermediate tables from the model, cutting memory use and speeding up reloads and calculations.

Related: Pre-aggregation, QVD
Buffer

A load prefix that caches the result of a slow source query to a local file, so repeated development reloads skip the expensive extraction step.

Related: QVD, Resident Load
Pre-aggregation

Summarising a large table to the level of detail actually needed before it enters the model, reducing row counts, memory use and calculation time.

Related: Granularity, Drop Field / Drop Table
Section Access

A security table loaded with the SECTION ACCESS statement that limits which rows and fields each named user or group can see when the app opens.

Related: Data Reduction, OMIT, Stream
Data Reduction

Removing rows from the data model at open time according to the signed-in user's section access entry, so different users see different subsets of one app.

Related: Section Access, OMIT
OMIT

A section access list of field names that are hidden entirely from certain users, so sensitive columns never reach their client.

Related: Section Access, Data Reduction
Stream

A container in a Qlik Sense deployment that groups published apps and controls which user groups are allowed to see them.

Related: Reload Task, Security Rule
Reload Task

A scheduled job in the management console that runs an app's load script at defined times, optionally chained to tasks that must finish first.

Related: Stream, Layered QVD Architecture
Layered QVD Architecture

Splitting a solution into stacked QVD layers for extraction, transformation and presentation, so each layer reloads independently and changes stay contained.

Related: QVD, Reload Task, Binary Load
Security Rule

A management console rule that grants users access to apps, streams or data connections based on attributes such as group membership or user name.

Related: Stream, Section Access