QSDA study materials
QSDA study resources

QSDA practice questions

One question at a time. Build your QSDA understanding.

First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.

Continue in the practice tool above to load more questions, 50 at a time.

Question 1Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

In a Qlik Sense data model, a synthetic key table is automatically created when which condition occurs?

  1. A resident load is used without a preceding drop
  2. A field name appears in three or more tables
  3. A table contains a field with all null values
  4. Two tables share more than one common field name Correct answer.

Explanation

Qlik Sense associates tables on shared field names. When two tables share two or more field names, no single field can serve as the key, so the engine builds a synthetic key table containing the combination of those fields. Sharing one field simply produces a normal association.

Question 2Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

A circular reference in a Qlik Sense data model is best described as which of the following?

  1. a key field that contains null values
  2. a closed loop of shared fields that leads back to the starting table Correct answer.
  3. a single table that contains both dimension columns and fact columns
  4. two or more tables sharing fields whose names are not identical

Explanation

A circular reference exists when the chain of shared fields forms a closed loop, so each table in the loop is reachable from itself. The reload still succeeds, but selections become ambiguous because more than one path connects the same tables.

Question 3Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Which description matches a star schema in Qlik Sense?

  1. a model in which every dimension table is normalized into at least two tables
  2. a model in which tables are linked by a link table
  3. a fact table linked directly to flat dimension tables by single keys Correct answer.
  4. a model in which all tables are concatenated into one

Explanation

In a star schema the fact table sits at the centre and each dimension connects to it through a single key field. Dimensions stay denormalized, which keeps every association path one hop long.

Question 4Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Which description matches a snowflake schema?

  1. The fact table is split by period
  2. Each dimension is stored as a single flat table
  3. Dimensions are split into related normalized tables Correct answer.
  4. All tables are joined into one wide table

Explanation

A snowflake schema normalizes dimensions into hierarchies of related tables, for example Product to Category to Department. Selections then traverse several hops rather than the single hop of a star schema.

Question 5Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

How does Qlik Sense determine which tables are associated in the data model?

  1. Tables become associated only when an explicit JOIN is written
  2. Tables become associated based on matching record counts
  3. Tables become associated through the order in which they are loaded
  4. Tables that contain fields with identical names become associated Correct answer.

Explanation

The associative engine matches tables by field name, not by declared keys or load order. Any field name that appears in two tables creates an association between them.

Question 6Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Which statement describes the difference between the JOIN and KEEP prefixes?

  1. JOIN merges the tables into one; KEEP only reduces their records Correct answer.
  2. JOIN is applied only to resident tables and KEEP only to database tables
  3. Both merge tables, but KEEP retains unmatched records only
  4. JOIN reduces the number of records while KEEP merges two tables into one

Explanation

JOIN physically merges two tables into a single table, combining their fields. KEEP instead filters the records of both tables against each other and leaves them as two separate tables.

Question 7Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

The CONCATENATE prefix in the script is used to do which of the following?

  1. split one table into two based on a field value
  2. remove duplicate records from a table
  3. append the rows of one table to another with matching fields Correct answer.
  4. merge two tables horizontally by matching on a common key field

Explanation

CONCATENATE appends rows from one table onto another. Fields are aligned by name, and any field absent from one table receives null values in the combined result.

Question 8Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

A link table (bridge table) is introduced into a Qlik Sense data model mainly to do which of the following?

  1. hold the calendar fields for date dimensions
  2. store pre-aggregated measures so that charts calculate faster
  3. break a circular reference by holding the common keys once Correct answer.
  4. replace the fact table with a lookup table

Explanation

A link table collects the common keys into one table, and the original tables drop those keys. Each source table then connects only to the link table, so the ambiguous loop disappears.

Question 9Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Table Orders contains OrderID, CustomerID and Amount. Table Shipments contains OrderID, CustomerID and ShipDate. What will Qlik Sense create when both tables load as they are?

  1. A synthetic key table built from OrderID and CustomerID Correct answer.
  2. An automatic concatenation of the two tables
  3. A circular reference between Orders and Shipments
  4. Two separate associations on OrderID and CustomerID

Explanation

Two shared field names prevent a single unambiguous key, so the engine creates a synthetic key table whose key combines OrderID and CustomerID. Both base tables then relate to that synthetic table.

Question 10Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Orders and Shipments both contain OrderID and CustomerID, and both links are genuinely needed. Which approach removes the synthetic key while keeping the associations correct?

  1. Load both tables with a LEFT KEEP instead of a JOIN
  2. Qualify every field name in both tables so that no field names match
  3. Build a link table holding both keys and drop them from the source tables Correct answer.
  4. Concatenate the two tables into a single wider table

Explanation

Moving the shared keys into a link table leaves each source table with a single association, to the link table. The keys must be dropped from the source tables, otherwise the original associations are recreated.

Question 11Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

What does the QUALIFY prefix do to field names in the script?

  1. It marks fields as keys so they are not compressed
  2. It converts field names to upper case for consistency
  3. It renames fields to the name of the loaded file
  4. It prefixes field names with the table name Correct answer.

Explanation

QUALIFY prefixes every field name with its table name, and UNQUALIFY reverses the effect. This stops generic names such as Name or Date from associating two unrelated tables.

Question 12Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Which of the following is a valid way to break a circular reference between three tables?

  1. Concatenate all three tables into one
  2. Rename a shared field in one table to break the loop Correct answer.
  3. Load the tables in a different order
  4. Increase the number of fields in the synthetic key so it becomes unique

Explanation

Breaking a loop requires removing one of the associations that closes it, which is done by renaming or dropping a shared field. The renamed field can later be linked back deliberately through a link table if that association is genuinely required.

Question 13Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Compared with a snowflake schema, what is a main advantage of a star schema in Qlik Sense?

  1. It prevents the creation of synthetic keys automatically
  2. It eliminates the need for a fact table
  3. It requires less storage because dimensions are normalized
  4. Fewer tables and shorter paths keep the model simple Correct answer.

Explanation

A star schema keeps dimensions flat, so each selection travels a single hop to the fact table. Fewer tables and shorter paths make the model easier to maintain and reduce the work the engine performs.

Question 14Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

The grain of a fact table refers to which of the following?

  1. the level of detail represented by a single row Correct answer.
  2. the number of measures stored in the table
  3. the data type of the key fields
  4. the number of dimension tables connected to it

Explanation

Grain describes what one row of a fact table represents, such as one order line or one monthly budget entry. Mixing grains in one fact table causes double counting when measures are summed.

Question 15Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Two tables must be joined in the script, but the key field is named CustomerID in one table and CustID in the other. What is the simplest correct approach?

  1. Use a synthetic key to bridge the two fields
  2. Use CONCATENATE, which matches fields by position
  3. Rename one of the fields with AS so both tables use the same key name Correct answer.
  4. Load both tables and let the associative engine match them automatically

Explanation

A JOIN can only match fields that share a name, so renaming one field with AS is the simplest fix. Loading both tables unchanged would leave two unrelated fields and no association.

Question 16Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Table A has 100 rows and Table B has 40 rows. A LEFT JOIN is written with A loaded first. Which statement about the result is correct?

  1. The result contains 140 rows
  2. All 100 rows of A survive; unmatched B fields are null Correct answer.
  3. Only the 40 rows of B that match A are kept in the result
  4. The result contains the rows of A that have no match in B

Explanation

A LEFT JOIN keeps every record of the table loaded first and adds matching fields from the other table. Where no match exists, the added fields receive null values.

Question 17Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Which prefix converts a crosstab or pivot table into a normalized table?

  1. PIVOT
  2. CROSSTABLE Correct answer.
  3. GENERIC
  4. HIERARCHY

Explanation

CROSSTABLE turns a pivot-style table, where column headers carry values, into a normalized table of three columns: the row identifier, the former column header, and the cell value.

Question 18Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Why is autonumberhash128 commonly applied to key fields in a large Qlik Sense data model?

  1. It creates a synthetic key automatically
  2. It removes duplicate records from the fact table
  3. It replaces long text keys with compact integers, saving memory Correct answer.
  4. It encrypts the key values so that users cannot read them in a sheet

Explanation

autonumberhash128 maps long text key values to compact integers consistently across tables. Because the same text always produces the same integer, associations survive while memory use and comparison cost fall.

Question 19Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

What problem does a circular reference typically cause in a Qlik Sense app?

  1. Selections travel along unintended paths, giving wrong figures Correct answer.
  2. It removes the fact table from the data model
  3. It blocks the script from reloading until the loop is removed
  4. It forces all tables into a single concatenated table

Explanation

A loop gives the engine more than one route between the same tables. Selections then filter along paths the designer did not intend, so figures can be filtered twice or filtered inconsistently.

Question 20Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Two tables are combined with the CONCATENATE prefix. Table1 has fields A and B; Table2 has fields A and C. What is the result?

  1. The script fails to reload because the two field sets are not identical
  2. The result has fields A and B only
  3. Fields A, B and C, with nulls where a source table lacks a field Correct answer.
  4. The tables are joined on field A

Explanation

CONCATENATE aligns tables by field name. A field appears in the result if it exists in either table, and where a source table lacks that field the corresponding rows receive nulls.

Question 21Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

A data model contains a synthetic key table. Which statement about it is correct?

  1. It replaces the fact table as the centre of the star schema
  2. It prevents the script from reloading until it is removed manually
  3. It permanently blocks all selections from propagating to the fact table
  4. It works, but adds a composite key and an extra table Correct answer.

Explanation

A synthetic key table resolves the model functionally, so charts usually calculate correctly. The cost is an extra table, a wide composite key and a structure that is harder to read, which is why architects normally replace it with a proper key or a link table.

Question 22Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Two fact tables, Sales (one row per order line) and Budget (one row per month and product), share the Product and Month dimensions. What is the recommended way to model them?

  1. Join the two fact tables on Product and Month
  2. Create a synthetic key between the two fact tables
  3. Keep two fact tables linked through the conformed dimensions Correct answer.
  4. Concatenate the two fact tables into a single table with all measures

Explanation

Fact tables at different grains should stay separate and connect through shared conformed dimensions. Concatenating or joining them mixes the grains, so aggregated measures would be counted at the wrong level.

Question 23Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

When building a link table to resolve a loop, why should the key fields be dropped from the original tables?

  1. Because key fields in a link table must be numeric
  2. Because the script will otherwise fail to reload
  3. Leaving the keys in place would recreate the old associations Correct answer.
  4. Because a link table cannot contain more than two key fields at once

Explanation

The link table breaks the loop only if it becomes the single connecting point. If the original tables keep the shared keys, those fields recreate the previous associations and the loop or synthetic key returns.

Question 24Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

In a snowflake schema, Product is linked to Category, which is linked to Department. A user selects a Department. What happens?

  1. It propagates down the chain, filtering categories then products Correct answer.
  2. The selection is ignored unless the tables are joined
  3. Nothing, because Department is not directly associated with the fact table
  4. All records are selected because the association path is too long

Explanation

Associations propagate transitively along the chain, so a Department selection filters its Categories, then their Products, then the fact records for those products. Each extra hop lengthens the path the engine must traverse.

Question 25Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Orders and Shipments share OrderID and LineNo, and both fields genuinely form the key. Which approach removes the synthetic key while preserving the correct associations?

  1. Qualify all fields in both tables
  2. Add a third shared field so that the synthetic key contains three fields
  3. Build one composite key in both tables and drop the original keys Correct answer.
  4. Concatenate the two tables

Explanation

Combining both fields into one key leaves a single shared field name, so the engine creates an ordinary association instead of a synthetic table. The original two fields must be dropped or renamed, otherwise the duplicate associations remain.

Question 26Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Which description best matches a star schema in Qlik Sense?

  1. Dimension tables chained one to the next
  2. Two fact tables joined directly to each other
  3. All tables merged with CONCATENATE into one wide table
  4. A fact table linked to dimension tables by single keys Correct answer.

Explanation

A star schema places one central fact table at the finest grain and surrounds it with denormalized dimension tables, each associated to the fact table through a single key field. This keeps the association path one hop long, which is what Qlik's associative engine traverses fastest.

Question 27Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

What is a synthetic key in Qlik Sense?

  1. A field that two tables share under the same name
  2. A key that Qlik generates for tables with no common field
  3. A table Qlik creates when tables share several fields Correct answer.
  4. A table produced by the KEEP prefix during a load

Explanation

When two or more tables share more than one field name, Qlik cannot decide which combination forms the association, so it builds an extra table containing every combination of the shared values. That generated table is the synthetic key table and it links the original tables.

Question 28Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

What is a circular reference in a Qlik Sense data model?

  1. A synthetic key appearing in two or more tables
  2. A field that refers back to its own table
  3. A key whose values do not match between tables
  4. A loop of three or more tables associated in a cycle Correct answer.

Explanation

A circular reference exists when associations form a closed loop, so more than one path leads from one table to another. Qlik then cannot determine a unique route for selections to travel through the model.

Question 29Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Two tables contain a field spelled exactly the same way. How does Qlik Sense relate them?

  1. It joins the tables into one automatically
  2. It associates the two tables on that field Correct answer.
  3. It ignores the field in the second table
  4. It creates a synthetic key for that field

Explanation

Fields with identical names are treated as the same field, so the tables become associated through it without any join being written. This implicit association is the basis of Qlik's associative model.

Question 30Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Which statement describes a snowflake schema?

  1. Every table is joined to every other table
  2. All dimensions are merged into the fact table
  3. A dimension is split into several related tables Correct answer.
  4. The model contains no key fields at all

Explanation

In a snowflake schema the dimension data is normalized, so attributes such as category and department live in separate tables linked in a chain. This removes repeated attribute values but adds association hops between the fact table and the outer dimension tables.

Question 31Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Table A is loaded, then Table B is loaded with INNER JOIN. Which rows are kept?

  1. All rows of A and all rows of B
  2. Only rows whose key values exist in both tables Correct answer.
  3. All rows of B, even without a match in A
  4. Only rows of A that have no match in B

Explanation

An inner join returns the intersection of the two tables, so a row survives only when its key value is found on both sides. Rows that exist on one side alone are discarded.

Question 32Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Which prefix keeps all rows from both tables, matching where possible?

  1. OUTER JOIN Correct answer.
  2. INNER JOIN
  3. KEEP
  4. LEFT JOIN

Explanation

OUTER JOIN retains every row of both tables and fills in matches where keys agree, leaving unmatched fields empty. LEFT and RIGHT joins preserve only one side completely.

Question 33Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

A JOIN combines two tables that both contain a field named Country. What happens to Country in the result?

  1. One Country field holds the values from both tables Correct answer.
  2. Two fields appear: Country and Country-1
  3. Country becomes a synthetic key field
  4. Country is dropped from the result table

Explanation

A join merges the two tables into one, so same-named fields collapse into a single field whose values come from both source tables. Joins therefore do not create duplicate field names or synthetic keys.

Question 34Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Table A with 200 rows is loaded first, then Table B with 50 rows is loaded with RIGHT JOIN. Which result is produced?

  1. Only rows that exist in both A and B
  2. All 200 rows of A, with blanks for missing B
  3. Only the 50 rows of B, with matched A fields Correct answer.
  4. All 250 rows of both tables

Explanation

A right join keeps every row of the table being joined in, which is B here, and adds matching fields from the already-loaded table A. Rows of A without a partner in B disappear.

Question 35Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Table Customers contains a field named Country and Table Regions contains a field named COUNTRY. How are these treated when loaded?

  1. They cause a synthetic key table to be created
  2. They stay separate because the letter case differs
  3. The second field is renamed to COUNTRY-1
  4. They merge into one field and associate the tables Correct answer.

Explanation

Qlik Sense field names are case-insensitive, so Country and COUNTRY are the same field and the two tables become associated. To keep them apart, the names must be made genuinely different in the script.

Question 36Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

A fact table holds ProductID, and a product list with many repeated rows is needed as a dimension. Which approach builds that dimension table?

  1. LOAD DISTINCT ProductID, ProductName RESIDENT Products Correct answer.
  2. LOAD ProductID FROM Sales
  3. LOAD * FROM products.qvd (qvd)
  4. JOIN Products with Sales

Explanation

LOAD DISTINCT collapses repeated combinations of the listed fields into unique rows, which is exactly what a dimension table needs. The resident load reads from a table already in memory without another database round trip.

Question 37Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

A fact table needs the region name for each RegionCode, and the grain of the fact table must not change. Which technique fits best?

  1. OUTER JOIN the region table to the fact table
  2. INNER JOIN the region table to the fact table
  3. ApplyMap with a mapping table built from the region table Correct answer.
  4. CONCATENATE the region table onto the fact table

Explanation

ApplyMap looks up a single value per key and adds it as a new field without adding or removing rows, so the grain of the fact table is preserved. Mapping tables are the standard alternative when a join is not wanted.

Question 38Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Table Orders has a field named ID holding order numbers, and Table Customers has a field named ID holding customer numbers. Which action avoids an incorrect association?

  1. Drop the ID field from both tables
  2. Load both tables with the KEEP prefix
  3. Concatenate the two tables
  4. Rename at least one of the fields with AS Correct answer.

Explanation

Two fields with the same name are treated as one field and associate the tables, which is wrong when they hold different kinds of identifier. Renaming one field with AS gives each identifier its own name so the tables no longer link by accident.

Question 39Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Sales holds one row per order line while Targets holds one row per month. The two tables are combined with CONCATENATE. What is the result?

  1. One table in which the two grains stay cleanly separated
  2. One table whose mixed grains give misleading totals Correct answer.
  3. A script error, because the field lists differ
  4. Two tables linked by a synthetic key

Explanation

Concatenation places rows of different granularity in the same table, so any sum over that table mixes order-line values with monthly target values. Fact tables should only be concatenated when they share the same grain and meaning.

Question 40Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

In a snowflake schema, what is the main benefit of normalizing a dimension?

  1. Selections propagate faster
  2. Fewer tables need to be loaded
  3. Less repeated attribute data is stored Correct answer.
  4. Synthetic keys are removed

Explanation

Normalizing stores each attribute once in its own table instead of repeating it on every dimension row, which reduces duplication and storage. The trade-off is that queries and selections must travel through more association hops.

Question 41Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Which field belongs in a fact table rather than in a dimension table?

  1. Product category name
  2. Quantity sold on the order line Correct answer.
  3. Customer city
  4. Calendar year

Explanation

Fact tables hold numeric measures and keys at the grain of the event, such as quantity or amount on an order line, because these values are aggregated in charts. Descriptive attributes used for grouping belong in dimension tables.

Question 42Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

A link table has been built for two tables in a loop, and the shared key fields have been removed from those two tables. How do the tables now relate?

  1. Directly, exactly as before
  2. They no longer relate to each other at all
  3. Through a synthetic key that replaces them
  4. Only through the link table Correct answer.

Explanation

Once the original key fields are gone, the only remaining path between the tables runs through the link table's key fields. Every association becomes a single hop into the link table and out again, which removes the loop.

Question 43Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Tables A, B and C form a loop through the associations A–B, B–C and C–A. The B–C association is removed while A stays linked to both B and C. What is the outcome?

  1. The model is loop-free and all three tables stay associated Correct answer.
  2. A synthetic key is created between B and C
  3. The loop remains but contains fewer tables
  4. B and C are no longer associated with anything

Explanation

Removing one link from a three-table loop leaves a simple chain A–B and A–C, so only one path connects any pair of tables. Selections still reach every table, but the ambiguity of two competing paths is gone.

Question 44Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Two tables share the fields OrderID, Status and Source, but only OrderID is a genuine key. Which action is the best fix?

  1. Concatenate the two tables into one
  2. Rename Status and Source in one table so the tables link only on OrderID Correct answer.
  3. Keep all three fields and accept the synthetic key
  4. Remove OrderID from both tables

Explanation

A synthetic key appears because more than one field name is shared, so the shared fields that are not real keys must be given distinct names. The tables then associate on OrderID alone, which reflects the true relationship.

Question 45Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

A fact table must keep every one of its rows while matching dimension attributes are added. Which load order and prefix achieve this?

  1. Fact first, then dimension with LEFT JOIN Correct answer.
  2. Dimension first, then fact with RIGHT JOIN
  3. Fact first, then dimension with OUTER JOIN
  4. Fact first, then dimension with INNER JOIN

Explanation

LEFT JOIN keeps all rows of the table loaded before the join and appends matches from the incoming table. Loading the fact table first therefore preserves every fact row, even where the dimension has no match.

Question 46Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

A link table is built to resolve a loop between Sales and Budget. The script also loads OrderDate into the link table, and OrderDate already exists in Sales. What is the likely effect?

  1. No change occurs, because link tables ignore extra fields
  2. A synthetic key forms between the link table and Sales Correct answer.
  3. The link table becomes empty after the load
  4. The original loop reappears between Sales and Budget

Explanation

Once the link table shares two field names with Sales, namely the key combination and OrderDate, Qlik builds a synthetic key table between them. A link table should therefore contain only the key fields needed for the association.

Question 47Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Sales holds one row per order line and Forecast holds one row per month and product. Both must be analysed together. Which design keeps the model associative without mixing grains?

  1. Concatenate Sales and Forecast into a single fact table
  2. Build a synthetic key from Month and ProductID
  3. Join Forecast onto Sales with a LEFT JOIN
  4. Keep both fact tables separate and link them through shared conformed dimensions Correct answer.

Explanation

Two fact tables at different grains can coexist when they are associated through conformed dimensions such as Product and Calendar. Selections then filter both fact tables through the shared dimensions without ever combining their rows.

Question 48Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Products contains several supplier rows for the same ProductID. What happens if Products is joined into the Sales fact table?

  1. Sales rows are duplicated and aggregated amounts are inflated Correct answer.
  2. Sales rows are reduced to one row per product
  3. The join fails because the key is not unique
  4. Supplier rows are aggregated automatically during the join

Explanation

A join is a many-to-many merge, so each matching combination produces its own row. When the lookup table has several rows per key, every fact row is repeated and any sum over the fact table is multiplied.

Question 49Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Four tables form a loop: A–B on field X, B–C on field Y, C–D on field Z and D–A on field W. Which association is generally safest to remove?

  1. The one where the two tables remain connected through the other three Correct answer.
  2. The one between the two largest tables
  3. The one whose field is used by the most charts
  4. Any of them; the model behaves the same

Explanation

Removing any single link in a loop breaks the cycle, but the tables must stay reachable. The safe choice is the association whose endpoints still have a path through the remaining tables, so no table becomes isolated.

Question 50Data Modeling (associations, joins, synthetic keys, circular references, star and snowflake schemas)

Which statement correctly distinguishes a composite key from a synthetic key?

  1. A composite key is created by Qlik; a synthetic key is written by the developer
  2. A composite key is one field you build; a synthetic key is a table Qlik builds Correct answer.
  3. Both are created automatically and serve the same purpose
  4. A composite key exists only in QVDs; a synthetic key only in resident loads

Explanation

A composite key is a single field the developer creates, typically by concatenating several key fields and hashing the result, so tables link on one field. A synthetic key is a table Qlik generates automatically when several field names are shared across tables.