28 February 2022 Fan and chasm traps in Qlik Sense Share this message Every Friday at Bitmetric we’re posting a new Qlik certification practice question to our LinkedIn company page. Last Friday we asked the following Qlik Data Architect certification practice question about a sales and budget model. In reality, we wanted to teach you about fan and chasm traps in Qlik. This week’s question has triggered an almost unanimous response. The correct answer is D: budgets cannot be shown for customers who haven’t bought anything We can verify this by loading a small dataset and see what happens. In the following set we have two customers, A and B. Customer A has sales amounts of 50 and 100, and a budget of 200. Customer B has no sales and a budget of 200. If we load this data into Qlik Sense and visualize it in a table we see the following result: We can clearly see that there is no association between Customer ID B, on row 3, and the Budget Amount 200, on row 4. The reason for this is the way the data is modelled: The CUSTOMER table is associated with the SALES table through the Customer ID field. In turn, the SALES table is associated with the BUDGET table through the Budget ID field. As Customer ID B does not have any sales, it’s missing the ‘hop’ between the CUSTOMER and BUDGET table. Only once Customer ID B has entries in the SALES table will the data be correctly associated. This issue is known as a ‘Chasm trap‘, where a model may suggest the existence of a relationship between entities (in this case, CUSTOMER and BUDGET), but the pathway does not exist for certain entity occurrences (in this case, Customer ID B). OK, so the correct answer is D, but isn’t C also correct? If you come from an SQL background you may expect that budgets get multiplied for customers who have multiple sales. This issue is known as a ‘Fan trap’ and it would be a correct assumption if we were to JOIN the tables together. In this data model however, that is not the case. This article by Henric Cronström explains it very well. Henric also gives an additional example of a Chasm trap, and a suggestion on how to resolve it. How can we model this correctly? Now that we know what the issue is, how can we model this data correctly so that customers, sales and budget are all correctly related? We’ll leave that topic for another time, although we’re certainly interested in your take on it 😉 We look forward to seeing your comments and hope to see you again next Friday! More from the Bitmetric team Qlik Cloud Backup Protect your investment in Qlik with daily incremental backups stored in an encrypted environment with redundant storage. Available for as little as 2 Euro per day. Learn more. Join the team! Do you want to work within a highly-skilled, informal team where craftsmanship, ingenuity, knowledge sharing and personal development are valued and encouraged? Check out our job openings. Data Model Friday Qlik Test Prep Solution How can we help? Barry has over 20 years experience as a Data & Analytics architect, developer, trainer and author. He will gladly help you with any questions you may have. Call us Mail us 16 April 2025 The Cost of Bad Data: What Is It Really Doing to Your Business? Inaccurate or outdated data doesn’t just cause small hiccups. This can severely impact your bottom line. It slows down your teams, leads to expensive errors, and creates serious compliance risks. The good news is that these challenges are avoidable. TimeXtender 3 April 2025 Rethinking Pop-Ups in Qlik Cloud: A Simple Yet Effective Solution Struggling with the lack of native pop up support in Qlik Cloud? Learn how we created a smooth and user friendly alternative using guided sheet transitions with only native Qlik functionality. No extensions or layout issues involved. Qlik Solution Visualization 10 March 2025 Qlik Data Flow: Simplifying Data Transformation Without Code Qlik Data Flow simplifies data transformation with a visual editor. Clean, join, and reshape data using drag and drop, no coding needed. Automatically generate Qlik script as you build. Learn how it works, see a step-by-step example, and compare it to Qlik Data Manager and Qlik Script. ETL No-Code Qlik Script
16 April 2025 The Cost of Bad Data: What Is It Really Doing to Your Business? Inaccurate or outdated data doesn’t just cause small hiccups. This can severely impact your bottom line. It slows down your teams, leads to expensive errors, and creates serious compliance risks. The good news is that these challenges are avoidable. TimeXtender
3 April 2025 Rethinking Pop-Ups in Qlik Cloud: A Simple Yet Effective Solution Struggling with the lack of native pop up support in Qlik Cloud? Learn how we created a smooth and user friendly alternative using guided sheet transitions with only native Qlik functionality. No extensions or layout issues involved. Qlik Solution Visualization
10 March 2025 Qlik Data Flow: Simplifying Data Transformation Without Code Qlik Data Flow simplifies data transformation with a visual editor. Clean, join, and reshape data using drag and drop, no coding needed. Automatically generate Qlik script as you build. Learn how it works, see a step-by-step example, and compare it to Qlik Data Manager and Qlik Script. ETL No-Code Qlik Script