Overview
This chapter will dive deep into the order of operations, filters, and sets and parameters in Tableau. We will also work through exercises on using groups and hierarchies in our views. Some of these features of Tableau give end users the ability to control the view. Finally, we will be discussing an activity that will utilize context filters, parameters, and sets on the World Indicator dataset to reinforce the skills you will gain in this chapter. By the end of this chapter, you will have gained the skills to create interactive reports, which give end users more control to slice and dice the data in the report.
In this chapter, you will explore your options in creating reports/dashboards in Tableau, which allows you to arrange your data or report in a more comprehensible manner for your stakeholders/audience. Previous chapters have focused a lot on creating calculated fields, table calculations, and advanced calculations such as level of detail calculations. These types of calculations can help you go a long way in achieving desired results/views. However, you can also explore other ways of arranging, sorting, or grouping your data, adding another layer of interactivity to your reports, which in turn helps improve the ease of use of reports. This chapter will dive deeper into the order of operations, filters, and sets and parameters in Tableau from a conceptual as well as a practical perspective and discuss how to make the best use of these features in your reports/dashboards. In this chapter, you will review how to group data and hierarchy use cases and consider an interesting use case for parameters.
The grouping of data is useful when you want to simplify or stack multiple dimension rows/members into one bigger bucket. For example, say you are working on a report on the population of countries in the world, and the standard data does not contain a custom grouping of all the South Asian countries. When you decide to create a custom grouping of all the South Asian countries by grouping countries such as India, Pakistan, Nepal, Sri Lanka, and so on, you will notice that a new dimension is added in your Data pane:
As is often the case with Tableau features, you can achieve the same results in multiple ways. You can use either of the following methods to create a group:
You'll practice the both of these options in the following exercise.
You are a retail analyst of XYZ group tasked to group multiple sub-categories so that it is easier for a sub-category manager to report on their KPIs of sales:
Creating a Group from the Worksheet View:
Creating a Group from the Data Pane
In the previous steps, you used the worksheet view to create a group. Now you'll create a separate group via the Data pane:
In this exercise, you explored two ways of creating groups: via the worksheet view and the Data pane. With your completion of this task, sub-category managers now have a way of looking at their KPIs for multiple grouped sub-categories.
Note
If you want to edit the grouping now or in the future, right-click on the new group dimension that was created (the dimension with the clip icon) in the Data pane and click on Edit Group. In the Edit Group popup, you can drag and drop to remove members or add new members to the group.
Hierarchies are not specific to Tableau. As such, you have almost certainly used them previously, whether consciously or unconsciously. In a data context, when the relevant data is arranged logically based on its level of detail, it is called a hierarchy. In our Sample - Superstore dataset, you have already used hierarchies many times, including the Location hierarchy, which contains Country/Region, State, City, and Postal Code; the Product hierarchy consists of Category, Sub-Category, Manufacturer, and Product Name. Hierarchies grant you a comprehensive look into your data. For example, if you add the State dimension to your view, because of the hierarchies that were pre-created in your data, you can switch from state to city by clicking on the + icon in your shelf or go a level up by clicking the - sign as shown here:
Take a look at how hierarchies can be created through the following short exercise.
As an e-commerce analyst of emzon.com, the product catalog manager wants to add Segment to the Product hierarchy. You will have to initially remove the original Product hierarchy and later create a new Product hierarchy by combining one of the existing ones.
Note
If you load the default Sample - Superstore dataset provided by Tableau in Tableau Desktop, you may notice that some fields are missing or new fields have been added. That is expected as Tableau constantly updates data files as per the requirements. If you want to avoid confusion, download the dataset from the official GitHub repository for this chapter, available here: https://packt.link/eLmSX.
As soon as you remove the hierarchy, the Decision Tree icon is also removed and all the dimensions that were part of the hierarchy subsequently become their own dimensions. You will also be unable to drill them down as they are no longer logically arranged.
Ideally, the order of multi-select in the previous steps should have allowed Tableau to select the level of your hierarchies. Unfortunately, Tableau levels them alphabetically, which is not the level you want:
Like groups, hierarchies can be useful when you can logically arrange relevant data points based on their level of detail or granularity. You just removed as well as re-created a Product hierarchy in this exercise.
If you want to differentiate yourself from a casual Tableau developer, understanding the order of operations and the order in which Tableau manipulates and filters data is critical. In other words, to be a true expert in Tableau, you need to be able to determine when and where data was filtered and pinpoint the reason when the view doesn't produce the data you expect.
Think of the order of operations as the query pipeline. The order in which Tableau filters data is critical and Tableau follows a sequential order, as shown in the following chart.
When you create business dashboards in Tableau, you will have multiple filters, table calculations, and calculated fields to work with. As is the case with most programs, execution follows a set order/operation priority. The order of operations is just that. In the chart above, Extract Filters has the highest priority, followed by Data Source Filters and Context Filters, and Trend Lines, Reference Lines has the lowest priority. In the following sub-sections, we will try to explain most of the filters with an exercise to demonstrate the importance of this.
Data Source and Extract filters are the first in the order of operations in Tableau and take place before you create your first view or when you are loading your data into the Tableau instance. This type of filtering is useful when you don't want to load all the data from your server/source file into the Tableau instance. See this in practice in the following exercise.
As an analyst, you want to load only a sub-region of data into your Tableau worksheet to lower the load on the dashboard and limit the amount of data being downloaded into the worksheet. Create a view of Sales by State for the East region only.
You might not notice the difference in speed when loading any of the dimensions in your view because the data is not at gigabyte or terabyte scale. If you were working with large-scale data, utilizing data source filtering is one way to improve the speed and efficiency of your work.
When the data source you are importing contains more data than your report/dashboard requires, you can utilize data source filters to improve the efficiency and reduce the load on Tableau views. In this exercise, your goal was to improve the performance of your dashboard, and by using data source filters, you were able to limit the amount of data being loaded in the worksheet.
These types of filters resemble how you group dimensions using views. In this type of filtering, you manually select one or multiple data points in the view to include or exclude from the view. In the following exercise, you'll perform these simple steps to create a filter in this way.
As an analyst, you have been given completely new data, and as part of the dashboard designing process, you want to do some Exploratory Data Analysis (EDA). Creating filters using the view can be a great way of filtering data as you see the data in the worksheet.
Perform the following steps to complete this exercise:
A State dimension filter will be added to the Filters shelf. In the next sub-section, you are going to dive deep into how to best use the Filters shelf, so hold on to your questions at the moment. Here is the final output:
In this exercise, you practiced manually selecting or dragging and selecting a subset of the view to include/exclude from the view. Creating filters using the view can be incredibly helpful when you initially conduct EDA, which is what all analysts start with when creating a new dashboard. Next, we will dive deep into how to best utilize the Filters shelf.
In previous sections, we looked at filtering data either at the data source level or using views, but the right way to utilize filters in Tableau is via the Filters shelf. In this section, we will discuss how to use the Filters shelf for filtering dimensions, measures, as well as dates. But first, we will dive deep into the options of the Filter dialog box, which opens up when you drag any of the mentioned data types.
Dimensions in Tableau are essentially categorical data. When filtering a dimension, you either include or exclude some part of this data from the view. The following dialog box opens up whenever you drag a dimension to the Filters shelf:
The box has four tabs, as follows:
Next, you will utilize the Filter dialog box in an exercise.
The portfolio manager has been tasked with identifying a list of all sub-categories that are not making profit. You are tasked with creating a dynamic filter via the Filters shelf.
Perform the following steps to complete this exercise:
Note that there are three sub-cat egories (Supplies, Bookcases, and Tables) where the superstore made a loss. You want to include them in your view and exclude all other sub-categories. You can obviously manually select the sub-categories from the view itself, but go ahead and use the Filters shelf here, as instructed in the next step.
In your career as a data analyst, you will likely find yourself using the Filters shelf day in and day out as part of your job, making this an essential skill to have under your belt. In this exercise, you explored all the options Tableau has to offer in the Filters shelf for dimensions.
Measures are quantitative data, which means, unlike dimensions, filtering on measures involves selecting a range of numbers that you want to include/exclude from your view. Whenever you drag a Measure onto the Filters shelf, the Filter dialog box offers you four options to filter the Measure on. The following list will define these options in greater detail:
The portfolio manager liked the work you did creating a view of loss-making sub-categories. Now he wants you to create a similar view, but instead of loss-making sub-categories, he wants a profit-making view this time. You will utilize Profit as a filter to create the view in the following steps:
In this exercise, you utilized the Measure data type as a filter for the first time and explored all Tableau's corresponding options for this in detail. You used Profit to filter on only profitable sub-categories.
In the next section, you will explore date filters using the Filters shelf.
Dates are neither qualitative data nor quantitative data out of the box. We can filter dates either by Relative Date, Range of Dates, or filtering by discrete dates. Let's explore each one of the options and how they differ from each other, and in the exercise after the explanation, walk through a specific use case.
When you drag a Date dimension such as Order Date in your Sample - Superstore dataset, you are presented with the following window:
Relative dates are defined from the date the view was opened. If the data source only has dates till December 2019 and you are opening this in July 2020, the view will only include dates from August 2019 to the maximum date that is present in the data, which in this case is December 2019. Hence you will only see five months' worth of data. To change that, you can check Anchor relative to at the bottom left and enter the date as December 31, 2019, as shown here.
In the following exercise, you will use the Date dialog box and create a time-series view to showcase the use of the Date filter.
You are asked to create a time-series view of the sales of the last 12 months relative to the last updated date of the data. You will be using the Sample - Superstore dataset again in this exercise and utilizing relative dates, as well as anchoring relative to the options covered in the preceding section.
Perform the following steps to complete this exercise:
You want the line chart to only show the last 12 months of data, so you will be using the Filters shelf to select only the last 12 months of data.
This was discussed this in the Note section above. Since the Sample – Superstore dataset only has data till December 2019, and considering this book was written in July 2020, you will see only six checkmarks.
You achieved your goal of displaying the last 12 months' trends from the last date in the data using Relative dates with Anchor relative to December 2019. Here is what the final output should look like (Month(Order Date) has been added as a label in the Marks shelf for readability):
In this section, you were reviewed in relative detail the options that available for date filters and how to make the best use of them, and also how to make the best use of Anchor relative to and when to use it.
In the next section, we will look at how you can give the end user of your report/dashboard the ability to filter the report as per their requirements.
Thus far, you have been using filters on your data as a developer without giving end users the ability to filter on a view. One of the many reasons why Tableau is a beloved tool across the developer as well as the end user community is because it allows even end users to control the flow of data in a view. This reduces the back-and-forth with developers because the end user can use the filters to change the data and get the insights they desire. This type of end user filter control is achieved with quick filters.
There are multiple ways of showing your quick filters. The major differences between them are as follows:
Each quick filter has a specific purpose and is widely used across pretty much every dashboard you will ever build. In the following exercise, you'll explore a specific example and review the exact steps to add quick filters to your view.
Create a simple view of Sales by State and use Region as a quick filter, as regional managers will use the dashboard to filter on their specific dashboard. Use the Sample - Superstore dataset once again to complete this exercise.
Perform the following steps:
You are going to create a cross table of Sales by State and use Region as a quick filter, but first you need to build the view.
Quick filters are why Tableau is such a powerful tool even for end users. In this section, you have learned the major differences between the types of quick filters and the best use cases for them. You then created Sales by State and used Region as a quick filter.
When you add a filter to your view, it only applies to your current view. But there will be times when you want to apply the same filter across multiple selected, using the same or a related data source if there is a relationship between primary and secondary data. This section will examine the difference between each of these options and when to use them.
This option only works when you create a relationship between a current or primary data source and a secondary data source. You do that by navigating to Data in the menu bar, then clicking on Edit Relationships. If Tableau does not automatically create some relationships between the data sources, you can create a custom relationship depending on the use case.
Custom Relationship comes in handy when the names of the common columns across the data sources don't match. Once you are able to create the relationship, you can select All using Related Data Sources for its magic to work. This option comes in handy when you are data blending, which was discussed in previous chapters.
When you add multiple filters into your Tableau view, each of these filters is calculated independently of the others. So, if you have two quick filters such as Category and Sub-Category in your view, when you select/deselect a filter, Tableau uses all of its data to show you the view.
If you want to limit the calculation across the whole data source and improve the performance of your report/dashboard (more on this in the exercise that follows), you'll want to use context filters. These help Tableau understand the context of the data and limit the amount of data filtering/loading that happens whenever you change a filter in your view.
In the Tableau order of operations, Context Filters has third priority. So when you set a filter as a context filter, you are essentially creating one independent filter and all other filters that are not context filters become dependent filters. This is because those other quick filters will process only the data that is first passed through the context filter.
An example of this in practice is detailed below.
In this exercise, you will create and use context filters in an example use case with the Sample – Superstore dataset to see why mastering the Tableau order of operations is so beneficial.
The reason this happens (as you can see in the following figure) is that top N gets filtered first in Tableau operations before dimension filtering is applied to the view. Therefore, when you use the top N filter, Tableau has already calculated the top N for the dimension in the view; and when you use a secondary dimension for filtering, it gets filtered on the top N data and not the whole dataset.
Note
Major benefits of context filters are as follows:
Performance Improvements: When working on a large-scale dataset and using a lot of filters, it is recommended that you limit the number of calculations required in the view. When you use context filters, Tableau creates a TEMP table with the context and subsequent filters in the order of operations after the context filter references the TEMP table for calculating. Say you have a Customer Order database with 100 million rows, and you want to only look at customers in California, which is 18 million rows. By using a context filter on State, you are limiting the querying of your whole dataset so that only a subset of the California data will be used for calculating all subsequent filters. This is extremely useful.
Top N Filters: As discussed above, if your view has top N filters, utilizing a context filter is highly recommended so that the filter works in the desired way of showing all the top N irrespective of the secondary filter selected!
As expected, after using Category as a context filter, the changes in Category quick filters are appropriately reflected in the view. Category becomes the dependent filter, where the top five sub-categories' filters become the independent filters that process the data that is passed through the context filter. It is now showing the top five sub-categories while using Category in context.
In this exercise, you explored why context filters are important and how the order of operations dictates how data is presented in the view. The context filter in this exercise was Category, which became the dependent variable, and the top N sub-category became the independent variable in our case.
Sets are custom-created fields used to define a subset of data based on pre-defined conditions or rules.
Think of sets as custom segments that are always binary: a data point is either in or out of the segment depending on whether the data point meets the criteria defined. Sets are created on dimensions, though your conditions can include measures if required. Sets can either be static or dynamic, and you can also combine multiple sets into one set in Tableau, which can be pretty useful, as you will learn from the following exercises. A set is identified in the Data pane by the field with a Venn diagram icon as shown here:
As mentioned in the preceding section, sets can be either dynamic or static. In static sets, you define the set rules and create a fixed subset of the data, where the members of the set are not updated if the underlying data is updated with new data. For example, you create a Top City set manually, selecting New York, San Francisco, Mumbai, and London. The set members won't be changed even when new data is added or deleted. It's a static set. Dynamic sets can help counter this, but you will learn about dynamic sets in later exercises.
In this exercise, you will create a view of the Sample - Superstore dataset where all products that contain Envelope as part of their name are grouped together as In while everything else is grouped as Out.
Perform the following steps:
In the Create Set dialog box, you will notice there are three tabs (General, Condition, and Top), which are pretty similar to those of filters if you remember from the previous section.
Note
The text search is not case-sensitive and, when you search text, it will search across the complete string and not find an exact match. Here, you searched for Envelope but your selected list also contains products with Envelopes in the name.
Before you click on the OK button, look at the Summary section in the Create Set dialog box and note that your set contains 48 out of 1,850 values. As mentioned previously, this way of manually selecting items for set creation is static, where the set members won't get updated if new records/rows are added to the data at a later date. You will see how to overcome this limitation in the next exercise.
In this exercise, you encounterd sets for the first time and observed how static sets are used on dashboards. You also learned to show/hide members from a set and what the Summary tab in the Create Set dialog box means.
The next section will review dynamic sets and how they can overcome the shortcomings of static ones.
In this section, you will learn why dynamic sets are preferred over static sets. You'll also practice using the two remaining tabs from the Create Set dialog box you encountered in the previous section. Dynamic sets use logic to dynamically update the members of the set, which means when the data changes, the set will be re-computed and the In/Out members can be added/deleted depending on the computation.
Though previous sets that you created were good, but the product manager responsible for all Envelope products has asked you to create a dynamic view of the groupings as he wants to update the In/Out groups whenever a new product name is added or deleted. You will be using the same view that you created in the previous exercise and extending that view to add dynamic sets.
Perform the following steps:
MIN(CONTAINS([Product Name],"envelope")) AND SUM([Sales])>=100
Note
You had to use MIN for Product Name because you cannot mix aggregate and non-aggregate in the calculated field without using aggregation for a non-aggregate dimension, as explained in previous chapters.
In the Summary section, your selection says 0 because you have not manually selected anything. Condition is the formula you used in your Condition tab, and Limit is the criteria in the Top tab.
With this exercise, you are now able to create a non-static set that can update the set members depending on the changes made to the dataset or when new data is added or deleted from the set. Dynamic sets are usually preferred over static sets because they allow you to ensure new data is populated in sets in the future when you are not actively working on the dashboard.
In both the previous sections, you created sets from scratch. In this section, we will address those cases in which you want to add more conditions to your set definition to add new members or delete them. Adding members to the set is more often done when stakeholders want to update the condition of the underlying set or the developer wants to experiment with complicated conditional logic.
The following exercise will guide through how to complete this task.
For the Envelope Product Set you created in the previous section, the product manager wants you to add a specific product to the set since they cannot add that product IN the set from their view and that product is not part of the top N sales or profit. As the dashboard developer, you are tasked with adding that specific product to the set.
Perform the following steps:
Adding members to a set is pretty straightforward and can be incredibly helpful when you want to manually update the member set without editing the actual definition of the set.
You have now created both static and dynamic sets. Individually, these sets work well, but you can also extend Tableau functionality by combining multiple sets to create a combined set. Using combined sets, you can perform additional analysis and compare and contrast multiple sets. When you create a combined set, you create an altogether new set that contains a combination of either all members from both sets, some members that exist in both sets, or a member from one specific set.
Complete the following exercise to see this in practice.
Your regional manager wants you to create a view of states that are both in Top 20 States by Profits as well as Top 20 States by Sales. You will utilize combined sets for this, which will be created from two individual sets you'll make first: Top 20 States by Profits and Top 20 States by Sales.
Perform the following steps to complete this exercise:
Set 1: Top 20 States by Profits:
Set 2: Top 20 States by Sales:
The goal is to create a combined set from which you can get a list of all the states that are part of the top 20 by both profits and sales. For this, you want all In members of both of the sets you just created.
Previous steps noted that you want your combined sets to contain all In members from both sets. In the following screenshots, you'll observe that the combined set has all the same states as the intersection of two individual sets.
The final output will be as follows:
In this final section on sets, you learned how to use combined sets by walking through an example. The next will explore parameters.
Parameters are like variables/placeholders in Tableau, which give the end user the ability to control the view or data that is shown as part of the report. They allow you to customize your view, adding interactivity as well as flexibility to the workbook. Parameters are used to replacing a constant value from the view with more variable/dynamic values, which are controlled by the end user. They can take any data type: strings, integers, floats, dates, or any varchars. They can easily be confused with filters but the major difference between parameters and filters is that, with filters, the data gets filtered from the view so that it only shows for the filtered values, whereas with parameters, the variables only act as a reference. Parameters control the value of the variable created instead of filtering on the data.
To use parameters in the view, there are four steps that you need to perform:
In this exercise, you'll create and use standard parameters. To observe the true essence of Tableau and parameters, you will create a more advanced view that allows your end users to select the dimensions as well as the measures that they want to see in the view.
In previous chapters, you have given users the ability to filter data, create groups, and create sets on pre-selected dimensions and measures, but you have not yet given users the ability to select/change the dimensions/measures as per their requirements. But there are many instances when stakeholders want the exact same view with different measures/dimensions. So, instead of creating 4-6 different views with different dimensions/measures combinations, letting users choose their own measures and dimensions is a more efficient way of handling the request while limiting clutter. This is the final view you are aiming for:
Perform the following steps to complete this exercise:
In this example, you will create a continuous line graph for the measure, selected by the end user, by quarter. As mentioned earlier, you want to give end users the ability to change the measures or dimensions.
You will be creating two parameters in this exercise: one for selecting Measures and one for selecting Dimensions.
When you select List for Allowable values, you are presented with List of values options. You then have to define your list, which will be the measure names that your users can select.
The next step is to use the created parameter in a calculated field. By default, parameters don't control anything unless you use the parameter either as part of a calculated field, reference lines, or filters. You will be using the calculated field to use the parameter, which acts as a placeholder substitution for dynamically populating the calculated field with the end user's selected measure/dimension.
CASE [Select Your Measure]
WHEN "Sales" THEN SUM([Sales])
WHEN "Profit" THEN SUM([Profit])
WHEN "Discount" THEN AVG([Discount])
WHEN "Quantity" THEN SUM([Quantity])
END
CASE [Select Your Dimension]
WHEN "Segment" THEN [Segment]
WHEN "Category" THEN [Category]
WHEN "Sub-Category" THEN [Sub-Category]
WHEN "State" THEN [State]
END
Profit by Category:
Quantity by Segment:
As an end user, it can be confusing to look at different combinations because the line graph or graph view does not show which dimension/measure is part of the view. Though you have the dropdowns, to make it easier for end users, you can also include the callout in your title by creating a dynamic title that is updated along with the dimension in the view. Edit the title by double-clicking on the worksheet title and that opens up the Edit Title window as shown here:
The preceding formula uses dynamic variables. In particular, <Parameters.Select Your Dimension> is dynamic such that, when you change the parameter from the dropdown in the worksheet, the title will be automatically updated. You don't have to type the exact variable; you can insert these variables by clicking on Insert in the top right-hand corner of the window as shown here:
Here is the final output that you aimed for:
In this exercise, you learned what parameters are and how to use them in combination with calculated fields to create a dynamic worksheet where the end users have complete control over which dimension/measures they want the report view to be part of. The skills imparted in this section will go a long way toward growing your advanced knowledge and expertise in Tableau.
Dynamic parameters was one of the most requested features in the Tableau Community forum, and the Tableau developers shipped the feature in the Tableau 2020.1 version in February 2020. Prior to Tableau version 2020.1, standard parameters had a specific limitation: When the data was updated with new entries (specifically dates), the parameters list/members were not updated. This meant that Tableau authors had to manually refresh the parameter list every time the data source was updated, which, depending on the frequency of the updates, could be very time-consuming. Dynamic parameters overcame that. With these, you can also allow your parameters to automatically choose the most recent date, which wasn't possible previously. Let's explore how this works with the help of an exercise.
In this exercise, you will be using new dummy data to see what parameters looked like in previous versions of Tableau (2019.4 or earlier). You'll then follow the steps outlined below to use the new parameters to automatically update the parameter list as and when the data source is updated.
Note
A screenshot of the previous version of Tableau has been included; however, you might not have that option. The goal is to communicate the point about static versus dynamic parameters, so you don't need to have two versions of Tableau installed. This exercise will stick with Tableau 2020.1 or later versions.
Perform the following steps to complete this exercise:
This method, as discussed previously, is pretty static. If new data is added with new dates, the parameter won't automatically pre-populate List of Values to include the new dates as part of the updated data source, which was a limitation in previous versions of Tableau.
In this exercise, you reviewed the major differences between dynamic parameters and static parameters and saw how dynamic parameters automatically update the list of allowable values alongside the data source update.
In the last section of this chapter, you will put all you have learned about Tableau's advanced interactivity features into practice with a real-world scenario.
As part of the annual hackathon in the company, each team is required to utilize the World Indicators dataset to showcase the top 5 countries according to certain metrics. You decide to show the top N countries by energy usage and also give end users the ability to change the N from 5 to 10, 15, or 20 for ease of use. You will create an interactive view of the World Indicators dataset using sets, context filters, and parameters in this activity.
By the end of this activity, you will have created an interesting view by utilizing all the major topics covered in this chapter, with a special focus on context filters and end user interactivity.
The final expected output is as follows:
Note
The solution to this activity can be found here: https://packt.link/CTCxk.
This chapter considered a number of advanced interactivity features in Tableau. We looked closely at the order of operations in Tableau, which is one of the most important concepts to master in Tableau if we want to create an efficient report for our stakeholders. We also discussed filters, sets, groups, and hierarchies, covered filters in depth, explored the difference between dimensions, measures, and date filters, and practiced using data source filters, which can be a great way to limit the data being loaded in your view.
Regarding sets, we reviewed static, dynamic, and combined sets, using the Envelope example to demo the concepts. In the section on parameters, we also defined the difference between static and dynamic parameters and learned one of the advanced use cases of parameters: dimension/measure swapping, which you can use to give end users the ability to choose the dimension/measures that they want to include in the view.
We wrapped up the chapter by working through an activity utilizing the World Indicators dataset. Here, you created a complex view using sets, context filters, and parameters, which in a way resembled a real-world scenario that you might face in your data job.
This concludes the print copy of this book, but it is not the end of your journey. Visit https://packt.link/SHQ4H for a further three chapters, covering such topics as tips and tools for increased interactivity (Part 2 of this lesson), dashboard distribution, and even a case study regarding the utilization of multiple data sources and the practical implementation of all the skills you learned throughout the course of this book.