19 May 2022 The Qlik Wildmatch() function 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 the Qlik WildMatch() function: The correct answer is D: Finland, New Zealand and Poland Many times you will have to do some form of data transformation to deliver the required results. And in many of those times you will probably find yourself using Subfield(), see Qlik prep question 16 😉, or in this instance Wildmatch(). Wildmatch() is a great tool to find values in a field containing a certain word or having to match a certain string. And while on the surface using Wildmatch() seems pretty straightforward there are still some things to consider or know when using this syntax: Wildmatch() may use wildcard characters: An asterisk (*) will match any number of characters in front of or after the search string. In the question we are looking for any number of characters before Land. Since we are looking for *Land in the example and not *Land* we have not gotten The Netherlands as a result, since we are not looking for Lands. A question mark (?) will match any single character on the place of the question mark. If in this example we would have given the expression Wildmatch(Country, ‘??Land’) the only result would have been Poland. Wildmatch() is case insensitive. As we see in the question example we are looking for ‘Land’, with an upper case L, however the results we get are all where the ‘land‘ part is written with a lower case L. Did you also know that: Wildmatch() is also a great way to do custom sorting. Sometimes the standard numerically or alphabetically sorting options within Qlik are still not going to work. Take clothing sizes for example. If we would sort those alphabetically we would get L, M, S, XL while S, M, L, XL would be more logical for the viewer. By disabling all other sorts and using sort by expression, we can use =Wildmatch(Sizes, ‘S’, ’M’, ’L’, ’XL’) to fix a custom sorting in place. Wildmatch() also returns a numerical value. This is best explained visually by loading the sizes example: As we can see in this small example Size S receives a value of 1, since it is the first value we are looking for in the Wildmatch() statement. Then the same goes for M, which is 2, L is 3 and XL is 4. And this comes in handy for example in a load statement. Let’s refer back to the question and the countries. What would happen in the following load statement? We will not load Netherlands at all. Since by using Wildmatch() the other countrues will receive a value of 1 for the Wildmatch() statement and since that is bigger than 0 they are being loaded. Meanwhile Netherlands will not be loaded since it hasn’t received a numerical value. Wildmatch(), at a first glance a simple syntax, but is has many possibilities. FAQ How does the Wildmatch() function behave with non-alphabetic characters, such as numbers or special symbols, within the search string? The behavior of the Qlik Wildmatch() function with non-alphabetic characters, such as numbers or special symbols, is consistent with its handling of alphabetic characters. Wildmatch() evaluates the pattern specified in the search string against the field values, where an asterisk (*) can match any sequence of characters, and a question mark (?) can replace any single character, irrespective of whether these are letters, numbers, or special symbols. This means if you are searching within strings that contain numbers or symbols, Wildmatch() can identify matches based on the specified pattern. For example, using Wildmatch() with a pattern like ‘*66’ could match “Route66”, and ‘?home’ could match “@home”. The function’s flexibility with character types makes it a powerful tool for pattern matching across diverse datasets. Can Wildmatch() be combined with other Qlik functions for more complex data transformations or analyses, and if so, what are some examples of such combinations? Wildmatch() can indeed be integrated with a variety of other functions to achieve more nuanced data manipulation or insight generation. For instance, it can be used alongside the If() function to conditionally manipulate data based on pattern matching. This integration allows for complex decision-making within data loads or visualizations. Additionally, Wildmatch() might be used with aggregation functions to group or filter data based on matching criteria, enhancing the analytical capabilities of Qlik applications. This versatility underlines the function’s utility in creating dynamic and responsive data models. Is there a performance impact when using Wildmatch() on large datasets, and are there best practices for optimizing its usage to ensure efficient data processing? When it comes to the performance impact of using Wildmatch() on large datasets, like any computationally intensive operation, it can affect performance, especially if applied to very large datasets or complex matching patterns. To optimize its usage and ensure efficient data processing, developers are advised to use Wildmatch() judiciously, particularly in scenarios where pattern matching is essential for the analysis but might be resource-intensive. Efficient use might involve pre-filtering the dataset to reduce the size before applying Wildmatch(), ensuring the patterns are as specific as possible to minimize unnecessary computations, and avoiding overly complex nested functions that can slow down processing. That’s it for this week. See you 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. Friday Qlik Test Prep Functions 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 25 April 2025 Game-Changer in Qlik: Set Analysis Now Works WITHOUT Using It’s Syntax! Discover Qlik Cloud’s latest feature that lets you apply object level filters without writing any set analysis syntax. A simpler and faster way to build dashboards, especially for non-technical users. Read more in this blog post. New Release Qlik 23 April 2025 When Everyone Has Different Numbers: Why Data Alignment Matters Different teams, different data, different results. This post explores how misaligned data leads to confusion, and how TimeXtender helps bring everyone back to the same page. TimeXtender 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
25 April 2025 Game-Changer in Qlik: Set Analysis Now Works WITHOUT Using It’s Syntax! Discover Qlik Cloud’s latest feature that lets you apply object level filters without writing any set analysis syntax. A simpler and faster way to build dashboards, especially for non-technical users. Read more in this blog post. New Release Qlik
23 April 2025 When Everyone Has Different Numbers: Why Data Alignment Matters Different teams, different data, different results. This post explores how misaligned data leads to confusion, and how TimeXtender helps bring everyone back to the same page. TimeXtender
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