Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content
Announcements
WEBINAR April 23, 2025: Iceberg Ahead: The Future of Open Lakehouses - REGISTER TODAY

STT - Understanding Set Analysis

cancel
Showing results for 
Search instead for 
Did you mean: 
Troy_Raney
Digital Support
Digital Support

STT - Understanding Set Analysis

Last Update:

Mar 15, 2024 5:56:24 AM

Updated By:

Troy_Raney

Created date:

Mar 15, 2024 5:56:24 AM

Troy_Raney_0-1710496428206.gif

 

Environment

  • Qlik Cloud

 

Transcript

Hello everyone and welcome to the March edition of Techspert Talks. I'm Troy Raney and I'll be your host for today's session. Today's Techspert Talk session is Understanding Set Analysis with her own Ola Roxendal. Ola, want don't you tell us a little bit about yourself?
Yeah, thank you. I work here at Qlik as a Technical Learning Content Developer. I primarily focus on creating learning material for internal employees, partners and customers. I've been here a little bit more than 7 years, and before I worked as a Technical Trainer as well.
Great, thanks. Well today, we're going to be talking about how Set Analysis works, Ola's going to talk us through all the details of that; we're here going to go through the difference between Possible and Excluded selections, and eventually we'll get into using some Advanced Expressions. But before we get too deep, Ola for those of us who are kind of new to this: what is Set Analysis and how does it work?
Well, Set Analysis is defining a set of data values that's different from the normal set defined by the current state of selections.
Can you tell us a little bit about this app you prepared for us?
Yeah, so Set Analysis is a tool that we can use to manipulate the Associative Engine; that's how the data is connected in the data model in Qlik.
Right so, normally a Qlik Sense app uses all the data and finds associations and connections within it; and it looks like you set this up to see the data with and without Set Analysis.
Yeah, so we look at the left side of the screen we have an example of a dashboard and we're looking at the entire aggregated data set there; so, the Total sales for all years, all products, all customers; and then we're looking at the sales trend for all our regions.
Yeah, that's a beautiful example that sales Trend chart at the bottom; it's very Qlik, getting to analyze all your data and apply selections to drill deeper.
Yeah, exactly and I mean still works, so you can make a selection within a chart and it'll show the aggregate for that specific selection; so if I select Spain for example, you'll see the sales the number of orders and the average margin for Spain and that's how it's supposed to work.
Yeah, can you explain what CYTD means and what the visualizations on the right are doing?
The CYTD usually stands for Current Year To Date; that means the data from the 1st of January to today's date; we're using Set Analysis to kind of control what we're looking at so on the top, we'll see the sales for the specific period, and then here on the bottom, we're comparing just 2 of the regions.
Okay, so Set Analysis is locking some selections into those objects or limiting them to a smaller subset of the data?
Yeah, that's a great explanation.
All right, so how do you actually create objects that use Set Analysis like these?
Yeah, so when we're talking about Set Analysis syntax you're looking for the curly brackets. If you can see the curly brackets, you know it'll be a Set Analysis syntax.
That's a nice thing to be aware of; that if you see the curly brackets, it is Set Analysis all right.
Yes, we tend to break it down into different parts the first thing we see inside of Set Analysis the so-called Identifier and the Identifier tells our Set Analysis how to react act to selections.
Okay.
The most commonly used Identifiers is either the $ or the 1; and they're kind of opposites in the way that they react. So, what the $ allows us to do is that: it allows us to interact with Dimensions inside of our application; and the1 turns off the possibility to interact with Dimensions inside of our data set.
Okay, the $ allows selections to apply to the object; and the1 disables current sections for the object?
Yeah.
Can you walk us through these examples?
On the right side here, we use no Identifiers and no Set Analysis, just the Sum of Sales.
Okay.
And then here on the bottom left, we have the $ as the Identifier; and in the middle we have the 1. So, I'm going to go in and select Japan as a region, and as you see the $ reacts to the selections that I make; and the1 here is still showing me the aggregated sales for the entire data set.
Okay, so that1 in the middle is ignoring the current selections and continuing to calculate against the entire data model?
Yeah, it's kind of like using an on and off button.
Right and the bookmark object you got there, that's one another example?
Yeah, exactly. There are other Identifiers as well. I've listed four of them here, but bookmark selection is using a bookmark. I've saved a bookmark where I've selected the year 2023; and what that means is: the identifier selects 2023, and then the equivalent of a 1 connected to it. So, it doesn't react to any of the other selections that I make. Selecting 2023 and you'll see sales for 2023 are 42.75; and that's the same as the bookmark is showing.
Okay, so this is kind of the first step of Set Analysis. What's next?
Yeah, so what we're going to look closer at now is the Modifier. The Modifier is a field name inside of two angular brackets after the Identifier and then values connected to that Dimension.
Okay.
These values are typed out a little bit depending on what data type it is. If it's just numbers, you can just type them; if it's text inside of single quotation marks; and if it's search based queries, you want to have them Insite double quotation marks; and search values are for example star or less than, larger than.
Okay, can you walk us through these examples?
We have Sum of Sales and then curly bracket, and then inside of that I place the Modifier. Now as you see, I don't have an Identifier there. It'll still work if I've not placed anything there it's the equivalent of having a $; and what was the $ Troy?
Yeah, thanks for putting me on the spot. The $ was current selections.
Yes, but what the Modifier does is that: it goes in and locks the year dimension for us. So, I'll start by selecting the nordics this time, and as you see it's updated; but it's just showing us the sales of the nordics for 2024. I'll just clear the selection here and try to select another year into 2022; doesn't change or isn't updated with the selections.
Same…
And that's because we're saying that year isn't allowed to change with the selections that we make.
And can you select 2024, just so we see that it does equal what it's supposed to?
Yeah. It shows 21.93. So, that seems good.
Okay.
Another example (I need to expand this) this is an example using a search based text field. I'm looking at all the product group that ends with “goods.” * means: ends with “goods.” So, it's kind of a free text search.
Okay.
We have two products called Goods: Baked Goods and Baking Goods; and if I select those.
All right. So, it's locking into that field product group for anything that ends with the word “Goods?”
Yeah, if I select “Deli,” it won't be updated.
Nice, and what's that undefined one in the corner?
What that means is that I select all the values within the field Year. In this case, it's: 2022, 2023, and 2024. Which means that if I go and select 2023, nothing will happen. I'm still using Year as a Modifier, but if I select the Nordic, it'll update the sales for the nordics for all my years.
Okay, so it's an easier way of pre-selecting All Years without having to write them in individually, you get all values in that Dimension?
Yeah, exactly. And you can also formulate that what I'm doing here is that: I'm taking away the option to select a year in this expression.
Can you add multiple Modifiers or can you show us how to add some of these?
Yes. So, I'm going to go in and edit my sheet. Select the object; and I'm going to go into the Data here; and select the Measure; press the FX button; inside of the Expression Editor, after the Modifier add a comma, and then let's take Year; enter an = open and close the curly brackets, and then inside of that 2024.
Okay.
So it's always good to look at the bottom here and see if it says Okay.
And that's kind of a syntax check right?
Yeah, so say for example that I forgot the last curly bracket here. It'll say Error in Expression.
Nice.
We need to update the title as well. We have Sales UK 2024. Can I check if I have the right number here Troy in any way?
Well, I guess you could make those selections. Yeah, 2024 and UK, and see if it adds up, there we go.
Yeah.
So, what are some common applications or maybe complications that people run into with Set Analysis?
We're going to look at some examples. So, when working with Time Dimensions, there is hierarchy between these. So, a Year is connected to Months that's connected to Days. First off for this specific KPI, I want my users to be able to select different Regions or Rustomers or Products, but I just want them to show the Sales for 2024. I can go in here, and select the Nordic for example; and it'll show me the Sales for Nordic 2024. The problem here is that: if my users select Months and Days, it'll show the Sales for those Months and Days.
I see. So, the hierarchy you mentioned between those Dimensions means: it's not applying Set Analysis like you intended. So, how can that be solved?
A solution for that would probably be to put in a 1. Nothing will happen if I select another dimension outside. So, that kind of solves that problem, but we wanted our users to select Region and Product and so on.
Oh right, because the 1 looks at the entire data set.
Yeah, exactly.
So, you got a solution there on the right?
Exactly. So, the solution here is: if we work with hierarchical Dimensions, we need to specify the dimensions that we don't want our users to interact with by using the = syntax. Here we'll go in unlock the selections to your 2024, and then you're not allowed to choose a Month, and you're not allowed to choose a Day.
Right.
If I go in and choose the UK here for example, we'll see the Sales for UK for 2024; but I can't go in and select March.
Right, like you said, it turns off the ability to make selections on those fields, locked into the whole year.
Yeah, and here I'm using dates as an example, because that's one of the most common ones, but there are Regions, Countries and Cities that would be the same thing.
What are you demonstrating in those objects on the bottom?
Here I just wanted to show the difference between using the equal sign and using the freetext search. Here I'm using the equal sign which selects all the values inside of the dimension.
Okay.
And here we're using the free text search (having a *) which selects all the values.
On the surface, I would think that would return the same thing. So, what's the difference in behavior?
Yeah, we see on the left side, we have 684; and on the right side, we have 637. Did you have a guess on what the difference here is?
Well, it does say Distinct; so that's not it. I’m guessing there maybe there's some blanks?
Exactly, here I have a table with all the customers and all the sales reps; and then scroll all the way to the bottom. We have a couple of customers that do not have a sales rep connected to them. The difference is that the search value just looks for values; while the = takes an account of the Null values as well.
Okay, so the1 on the left counts those Null values; and the Wild Card is only looking for actual values, it ignores the Null values. So, that's a difference of 47. Interesting. It's nice to know the behavior and get a better understanding of your data. How can you continue to divide the data up into different data sets?
Yeah, so the next part would be set Operators we have four set Operators that we can use.
Okay.
We're taking two data sets and comparing them. So, the left part contains all the sales for Nordic, the Intersection has the Nordic Deli Sales; the side has the global Deli Sales, and when we do a Union between these two data sets, we’ll get the Sum of the Sales for the Nordic region, and the Sum of the Sales for the global products; we have the nordics that's 10.38 million in Sales. Do you have your calculator ready?
I actually do.
The global Deli sales is 14.63; and if you add those together and then take away 3.6 million, you should get 21.41.
Okay, I wasn't fast enough. So, I have to trust to you.
Yeah, in the exclusion we're looking at the sales for nordics, and we're taking away the global sales for Deli including the sales for Nordics.
Okay.
The Intersection, we're just looking at which values are common between both of the data sets, the equivalent…
Yeah, that's 3.6
…the equivalent of selecting those two values inside of Qlik; and then the Symmetric difference is the sales in Nordic that's not Deli and the global Deli sales that's not the Nordic sales; and then we're adding those two together.
Well that's really cool, and I appreciate going through all these basics of Set Analysis; especially those images there really clarifies how The Operators work. Now we've like, kind of set the stage with all the basics, how can we apply this in practice?
Yeah, so the first thing that I want to talk a little bit about is how to use Set Analysis together with States.
Right. I like how you got them set up side by side. Can you walk us through how States work?
Yeah, so you can put different objects in your application in different states. And what happens is that: when you have them in a specific State, they will only react to selections made by other objects in the same state. You can find States under Master Items, Alternate States; there's always going to be a Default State, and then I've added a State1 and State2.
Okay, so it's just like a subgroup, and you're saying “only react to other objects in that same subgroup?”
Yeah, it's just a label to put my different objects in.
Okay.
Select the object that you want to put in a specific State; scroll down to the bottom, and you can see that there's a title called Alternate States. In this case, I put mine in State1, and I can do that at the sheet level as well. I can make selections here in the objects that are put in State1. So, now I'm looking at the Sales in Japan for 2023, and I want to compare that with the Sales in Germany for the same year.
Okay.
And that's fine.
I can see it's a little problematic because the scales are off. On the left, it's up to a million, on the right it's 300,000. So, but it looks the same.
It is. With the help of Set Analysis, I want to be able to do more of a side by-side comparison; and I can do that by setting the actual expression in different states. Here I've created two measurements: one for State1 and one for State2. To set an expression a specific state, I'm using that state name as the Identifier. We'll see how that works. I'm just going to clear my selections; and take 2023 and 2024, and I want to look at the Sales in Germany. So, I'll select those two values in my different states.
That's nice. It seems a lot more useful to have the two states in the same chart like that. Setting different states reminds me how can Variables be used with Set Analysis?
Yeah, Variables are part of something called $ expansions. The $ is a placeholder for a value. So, we Define our Variables inside of the Edit View. We have a Variable called the Dynamic Year. It's always best practice to name your Variables with a small V in the beginning.
Okay.
So, I've hooked that up to a Variable Value Selector which is an object inside of our Custom Objects. So, you'll find them here under Custom Objects.
Variable Input, there It Is.
I've defined a Variable that I want to use; in this case, I'm using the Dynamic Year Variable. I want to show them as Buttons, and display them as Roles, and then I've also defined the different values that I want to use: it's 2022, 2023, and 2024.
That's a cool feature. So, just clicking those buttons, it will inject that value into the Variable?
Exactly. It allows us to be dynamic in a different way. So, what we're doing here is I've applied the 1 here; which means that I've turned off the possibility to select Dimensions. If I go in here and select Germany for example, nothing will happen; and also if I go in and select the year value nothing will happen here as well.
Okay.
But if I go in here and start selecting 2023 for example, you'll see that the number is updated, because now I'm changing the value of the Variable inside of the Modifier. We can control that by selecting 2023 here, we have the the Sales 2022; we'll look at the Sales for 2022. So, it applies the value inside of the Variable in the expression.
Nice, I like that. Yeah, can you talk us through what you have down there in the bottom?
Yeah, so in the bottom, I'm using Max year inside of my Modifier. Max takes the highest value our Max year is 2024.
Okay, and it'll apply that expression inside of my Modifier. If I select 2023, the Max value in year will be 2023. If I select 2022 and 2023, it'll still show me the sales for 2023, because it's still the Max selection.
Okay, so whatever the highest value is with inside that selection for that field is the one that will show?
Yeah.
What's the difference between the one on the left and the one on the right?
The difference here is just that I have the $ and the 1 to show that…
All right. So, instead of the entire data set, it'll actually apply to current selections?
Yeah, exactly.
Great, I wasn't that familiar with Max. I appreciate getting to see the use of that. Could you explain the difference between Total and All show how they work. Yeah, we're going to look at ass Set Analysis and Qualifiers as well.
Okay.
Talking about, as you say Total and All, and also the use of the Identifier 1; it turns off the possibility for us to select other dimensions within a visualization inside of Qlik. But what it does take in account is the aggregation within that visualization. So, if we look at our bar chart here on the bottom; 1 Sales does take in account for Year.
Okay, so because this chart does have the dimension Year, it is applying Year to it.
Yes, the measure on the far left is just the normal Sum Sales without anything applied; and then we have the the 1, which takes in account (in this case) Year. So, we're still aggregating on Year, but we're turning off the possibility to change other values inside of the the visualization. And then we have Total and All. They disregard the dimensions inside of the visualization. So, it's still looking at the entire data set. So, here will see the aggregated Sales for all Years; and then the difference between Total and All is that: Total allows us to change the dimension. So, if I select Japan here, the Total Sales are affected, but All still shows the entire data set.
Ah, the All will ignore selections?
Yeah, just to kind of break it down: the Sum Sales expression is showing us the Sales for 2022 in Japan. Identifier 1 is showing the Total Sales for 2022 and disregarding the selection. Yeah, for All regions. The Total Sales is showing the Sales for Japan but disregarding the Year. And then All Sales is showing us the Sales for all regions and all years.
Yeah, it's easy to get lost, but I appreciate you walking us through clarifying that. I think I'm with you so far. So, we've gone through all the basics: Identifiers, Operators, Modifiers, Qualifiers. Is it time to work through some more Advanced Expressions?
Yes, so we'll move on and look at the Possible and Excluded. These are often called P and E. The syntax within the Set Analysis allows us to make a selection in this example that I'm using; we're looking at our Sum Sales; and as the Modifier we're saying that the customers that have purchased the product group Deli, that's the sales that we're looking to summarize.
Okay.
On the Excluded part, we're looking to summarize the sales for the customers that have not purchased Deli products.
Interesting.
Here on the right, I have all the customers, but in this case I've colored them by: if they have purchased or if they haven't purchased Deli as a product.
Right. So, the purple is those who have purchased deli products; and the bluer color is those who have not: Excluded Deli.
Yeah.
Well I feel like you've demonstrated all those different building blocks of Set Analysis; and they can of course be combined in different ways. Could you walk us through the AGGR expression and how that works? I know a lot of customers are always searching on that.
Yeah, we'll do that. The AGGR syntax allows us to aggregate values in real time in the Associative Engine; and the aggregating syntax works with putting up an Expression and then setting a Dimension. I'm creating a customer classification or customer type where we look at how much our customers spend on an average order. If they spend over a certain amount, we'll all them Platinum customers; otherwise they'll be Gold customers or Silver customers.
Okay.
Now this aggregation could be created in the script, but in that case it won't be dynamic. What I want to do here is: analyze Years, Regions, and see if my customer types change depending on those dimensions. If I go in and choose 2024 for example, it'll recalculate those values. Can also go in and look at different Regions. So, if we look at Germany 2024, for example; we'll see that we have no Gold customers there; and here on the right, I've applied the same AGGR syntax, but I'm also coloring the values based off of that as well.
Yeah, the colors really clarify for the user that designation. Do you have another example of how the AGGR can be used with Set Analysis?
Yeah, what I want to do here is show my sales per year; and then I want to have a trend line for the Average Sales.
Okay.
First off, go into the object where I want to create the trend line; go on to Add-ons, Reference Lines, and we'll put in our Average Sales there as a reference line; and the reference line expression is: =AVG(Sales).
Okay, on the surface that sounds like it would work.
That sounds like it would work, but just looking at it; we'll see that there's something wrong with this trend line. It's looking at all the single sales that we made, and then just taking the average of that.
So, how would we solve it?
So, to solve that we'll create an expression where we apply an aggregation. We start with the Average on the outside of the expression, and so we're taking our aggregation Sum Sales per year; and then taking the Average value on that.
That seems to solve the problem. Yeah. Yeah, are there any problems with that?
Yes, there is. So, if I select 2024 it updates and just shows the sales for 2024.
I see. So, you need the trend line to use Set Analysis so that it will ignore selections against Year?
Yeah, if we want to prevent the Current Selection to apply to it; we need to define the Year Modifier inside of both of the Expressions. We're both taking away the possibility to select Year within the aggregation, and inside of the AVG as well. So, if we select 2023, the Average Sales still shows the aggregated Average Sales per Year.
Yeah, so it keeps the trend line the same, irrelevant of selections.
Yeah, recently we've updated parts of Set Analysis in a more effective way. We can take the entire Set Analysis and place it outside of the expression. Here I've taken the Modifier in this case, and I placed it outside of the both the AVG and the AGGR syntax. And if I go in here and select 2023, now works in the same way as it does up here.
Okay, so placing the Set Analysis Modifier first will apply it to the entire expression. That certainly simplifies the code.
Yeah.
All right, well now it's time for Q&A. Please submit your questions to the Q&A panel on the left hand side of your On24 console. All right we've got some questions have already come in. I'll just take them from the top. First question: has the application or use of Set Analysis changed in Qlik Cloud?
Well no, not really. In Qlik Cloud, we are continuously improving our product and its interface; and some of the latest Innovations and Set Analysis is: for example, putting the syntax outside of the expression like I just showed.
Right.
So, it affects the entire expression, but we try to implement this in all our products including Cloud. So, nothing particular jumps to mind. There’s one thing that I haven't shown: that inside of the edit expression value, there is a set expression syntax that kind of help you build your expression. For example: use your bookmark here, and you can apply that and insert that. It'll generate the Syntax for me. The same thing goes if I have any current selections; and that would be something that we've applied in Qlik Cloud.
Well that's kind of a cool little feature to help people build their expressions. I appreciate you highlighting that. Next question: does gen AI create Set Analysis expression using Co-pilot or LLM?
Yes, I've played around a little bit with co-pilot and it's good on doing basic syntax. For example, help me build a KPI where I limit the selections to the the latest year, or I want to have just these 2 regions in my bar chart; but it does struggle with more advanced syntax, like the Possible and Excluded.
Right, okay. Yeah, I'm not too familiar with those. Are those tools to help people build expressions?
It's like Chat GPT, that's LLM. Chat GPT is a LLM; and co-pilot is more geared or focused towards code and coding. Not like specific but coding.
All right, well it's good to be aware of. There's always new tools out there to help people; because if you're not a coder, it's not always simple, but you've already gone through a lot with us today. So, it's nice to know what's out there as well. Okay, next question moving on: what are some common errors with Set Analysis?
So, outside of syntax errors, like forgetting the curly brackets or putting a angular bracket in the wrong place, I would say the most common error is building an expression that doesn't really solve the problem that you're trying to.
Right, you have to be really careful about what you want users to be able to select. Okay, somebody's asking if you could show the AGGR example again. I knew that was a popular one.
Yeah, in this case what I want to do is that I want to show how many products specific customer purchased.
Okay.
So I'll go into my measures here, press the FX button, and create an AGGR here, and we'll Count, in this case: we want to count the Distinct product types. So, that's the first part of the aggregated syntax where I'm using an expression; and then I have a comma sign, and then I apply a dimension, which I want to show this; in this case I want to look at my customer. So, now I've created an aggregation that counts the distinct number of products a specific customer has purchased. I'll apply that; and we need to have a dimension to show that as well. I've created a simple aggregation that shows how many products of specific customers has purchased.
Very cool. All right, next question: how to handle search expressions in Set Analysis when the field is a dual, for example dates?
Yeah, so the simple answer there is to format the the dates inside of the expression that you're using to avoid searching in a dual field. So, you would probably take away either the number or the text value, and define them either as a text or as a number; instead of having having the Dual types there. And there is actually a great post on Qlik Community called Dates in Set Analysis. Henric Cronstrom in this case covers how to think when you you have Dual Fields.
Great, and I'll be sure to include that link. I appreciate you showing that. Cool, next question: tips and tricks about using Set Analysis for Selections in bookmark and graphic interface?
Yes. So, I'll show you how to grab selections from a bookmark; for example say that: we want to create a set expression where where we look at the sales for the nordics in 2024. I'll go in and select those as my Dimensions; you'll see my current selections up here. Go up to Bookmarks and create a new bookmark. I will call the Sales Nordic 2024; and I now have the Aales in Nordic 2024. And here on the bottom part, you'll see that I have the expression right now, it's on the Default State, and I can copy that. And I now have the set expression; go in here, on my No Identifiers version, and I'll go in and edit my sheet; open the expression window; and here I'll just paste the values. And we now have a Set Analysis based off of The Bookmark selection that I made. We should have the sales for Nordic in 2024, and it still shows me 1.79 million.
Great tip, Next question: how can you create a formula to a chart so that it uses only data from the last 24 hours?
Yeah, that's a a great question and it needs to be addressed from the script in this case; because we need to have some kind of field inside of the script where we can see when the data is loaded or if we have a a Reload schedule where it places a flag for all the new data that's loaded since the last reload, and when we have that information, we can use that inside of set expression. So, in this case, we'd go - there are multiple ways of solving this in the script, but hopefully there'll be some kind of date timestamp connected to the field; and then we just go in and create some logic in the script that puts a flag. Field flag fields are commonly used with Set Expressions. It's a 0 or a 1 for the data that we want to flag up in the data model. So, we'd flag up everything that's loaded last 24 hours with a 1, and then we'd use that inside of an expression.
That's a good tip. Next question: can you explain how to get a chart to only show the most recent sales from the current quarter? So, similar concept but…
Yeah. Yeah, similar concept, and it it kind of you solve it in in a similar way as well. It's using what we would call a Master Calendar or some kind of date field. So, I'll start by just writing Sum Sales. So, we get the expression in there, and then move the cursor to be just before the Sales. I'll open and close a curly bracket, and then I will open the angular bracket to be able to use a specific field. In this case, if I'm a little bit unsure with the naming of my Fields. I can go up here and select my dates table, and I can look at the fields that I have here. So, right now I have a Current Year To Date flag. So, start with that CYTD flag, and and it's flagged up all the dates that are within this year in the data model. So in this case, I want to look at the numbers for this year. So, add where the current your today flag equals 1; and then I can use the quarter here as well can; and here I can define which quarter. I'm looking for another quarter; it’s a text field. So, I'll put that inside of single quotation marks; and let's just go for Q1, and this should show the Sales for Q1 in this CYTD.
Awesome. All right, next question: I would like to set up alternate states of dates where one state defaults to the previous 30 days, until user selects a different date range. Any help on how to set up a specific default?
Alternate States: they contain no logic. It's more like a label that you can put on objects in your application to prevent them from reacting to selections in other states. With that said, there are two ways that you could solve the problem with selecting the previous 30 days. One is to create Flags in the script that define the last 30 days.
Yeah, kind like you showed with current year and stuff?
Yeah, exactly. So, when I reload, I could have today minus 30 or something like that, and it'll flag everything that's 30 days old; and then I could use those those flags. It becomes static in the way; that it'll always be those last 30 days. So, I can't select another date, and then look at 30 days outside of that. If I want to have the more dynamic solution, I would create an expression with something called Rolling Dates where we create a set expression that calculates last 30 days dynamically from a selected date instead. You could do that.
Good place to start: calculate 30 days dynamically from a selected date. Let's move on to the next question: I like the buttons allowing the users to switch between dates. Is there a calendar picking tool that would allow for more precise selections by the user?
Yes, there is. It's one of these objects that are located on their Custom Objects. So, I can go here under Custom Objects, and there's something called the Date Picker.
Ah.
Now custom objects are created by us, but they're extensions. So, they're not part of the charts. So, they might not have all the styling options and a functionality that they they have. The date picker itself; what I need to do there is: I need to select a a Date value. So in this case, I'll take my Date field, then I can select a range of dates.
Oh perfect.
From this date field.
I hadn't actually seen that. So, that's pretty cool. Thank you for highlighting that.
Okay, the last question we have time for today: where can I find more information about the syntax in Set Analysis?
Yeah, so that's a good question. I tried to put up my favorite resources when I tend to want to know more about Set Analysis and there's primarily three platforms where we could do that, and I hope you'll put the links in the show notes as well.
Definitely.
Yeah, but the first place would be Qlik Help. Qlik Help is a large instruction manual which has both examples and a little theory behind Set Analysis. So, it'll kind of walk you through the different parts that we've been talking to. If you want to learn more from like a learning and enablement perspective, I'd recommend Qlik Learning as a good platform where you can go and do some courses. I've put up when you go into Qlik. You can search for Set Analysis and you'll get a couple of different courses that that are applied to Set Analysis, and you can listen to our professional trainers talk about the ins and outs of Set Analysis. And then if you have more, if you have more questions that you want to approach or read some some articles; we already talked about an article for example; you can go into Qlik Community. You can search on Set Analysis there as well. Definitely you'll get some answers and Qlik community and Qlik help for that matter often end up very high on your search engine. If you go out and search questions on Set Analysis as well. So, it'll kind of be redirected there.
Great! Well thank you so much. Well this has been really great going through all those basics of Set Analysis, and even walking through some more advanced use of expressions and functions. I think it'll be really helpful for people setting up Set Analysis in their own apps.
Yeah, and I want to take the opportunity as well to thank everybody that's listening in to this call, customers and partners; and if they're any internal employees as well, for taking the time to listen to us go through; and I also want to thank you Troy as well for having me on here. If you have any further questions, please go to Qlik Community and and start posting there. It's a very vivid and active community and you'll often get a lot of good answers there as well. Once again, thank you very much for having me on.
Great! Thanks. Thank you everyone, and thank you especially to Ola for presenting. We appreciate getting experts like Ola to share with us. Here's our legal disclaimer and thank you once again. Have a great rest of your day.

 

Contributors
Version history
Last update:
‎2024-03-15 05:56 AM
Updated by: