AWS Big Data Blog
Highlight Critical Insights with Conditional Formatting in Amazon QuickSight
Amazon QuickSight now makes it easier for you to spot the highlights or low-lights in data through conditional formatting. With conditional formatting, you can specify customized text or background colors based on field values in the dataset, using solid or gradient colors. You can also display data values with the supported icons. Using color coding and icons, you can visually explore and analyze data, quickly detect issues, and identify trends, as seen in the following screenshot. These dynamic visual cues also help your dashboard viewers cut through the densely populated data values and get to the attention-worthy insights much faster.
With this release, you can apply conditional formatting to tables, pivot tables and KPI charts. This blog post walks you through how to leverage conditional formatting in each supported chart type in Amazon QuickSight.
Tables
You can apply conditional formatting to tables through the following methods.
Conditionally formatting columns based on data fields
When applying conditional formatting to tables, there are two ways to access the configuration pane. One option is to select Table in an analysis, and choose the caret in the upper right corner of the Table visual. Select Conditional formatting from the dropdown menu, as shown in the following screenshots, and the Conditional formatting configuration pane pops up to the left of the analysis canvas. Choose the + sign to select the target column to which you’d like to apply the formatting; it can be any column present in the table.
For example, select Sales from the dropdown menu to add a condition for the Sales target column.
Alternatively, from the selected table, you can expand the field well on the top of the analysis canvas and choose the Group by or Value target column directly from the columns used in the table. For example, select Sales from the Value well and select Conditional formatting from the dropdown, as seen in the following screenshots. The conditional formatting confirmation pane pops up to the left of the analysis canvas, with a condition already added for the Sales target column.
Next, choose the formatting style from the three available options.
- Add background color
- Add text color
- Add icon
For each target column, you can add any formatting style or any combination of the styles.
Background and text color
Choose Add background color to expand the configuration pane for New background color. In the Sales target column are two Fill type options, Solid or Gradient, with Solid as the default.
You are prompted to decide the base column of the conditions, which can be any field in the dataset, regardless of whether it is present in the Table or not.
Next, define the Aggregation of the base column used in the conditions, which can be any aggregation currently supported in QuickSight, such as sum, average, min, max, or standard deviation. Then you can create the conditions that drive the color coding of the cell background.
This example highlights cells based on the following rules:
- Cells with sum of sales greater than $100, green
- Cells with sum of between $10 and $100 (inclusive), yellow
- Cells with sum of sales less than $10, red
Since the conditions are discrete, apply solid color based on Sales in the Sum aggregation.
In Conditional #1:
- Choose the Greater than comparison method.
- Enter 100 as the threshold Value to be 100
- Use the color picker to pick green.
- Choose Add condition and configure the other two conditions accordingly.
- Choose Apply, and the Sales column is conditionally formatted, showing green, yellow and red colors when conditions are met.
If you’d like to re-order the conditions, choose … and move the chosen condition up or down. You can also delete the condition. To reset all of the conditions, choose Clear to clear the applied formatting from the visual and remove the conditions from the configuration pane.
The following screenshots demonstrate the configuration step by step:
If you are happy with the highlighting rules, choose Close to return to the summary page.
You see a brief summary of the conditions applied to background color of the Sales column. You can Edit or Delete the applied conditions, Add other formatting styles such as text color or icon to the same Sales column, Delete the target column altogether, or Add another target column up top.
Icons
This example adds icons to the same Sales column based on data in the Profits column so that a thumbs-up icon shows when profits are greater than 0.
- Start with Add icon. In the New icon configuration page, choose the base column and Aggregation
- Under Icon set, QuickSight offers a list of canned color icon sets for quick application.
- For icons beyond this list, collapse the dropdown and check the Custom conditions Choose the pre-populated + icon for more icon selections and the option to Use custom Unicode icon. This example uses the thumbs-up and sets the color as orange.
- Choose Apply and to see icons show up in the Sales column accordingly.
The following screenshots show the configuration step by step:
Please note that you have the option to Show icon only. Once checked, the text values of the target column are hidden, showing icons only.
Conditionally formatting entire rows based on calculated fields
Next, here is a slightly more complex example that involves calculated fields. This example highlights rows in which Ship charges exceeds 20% of the total sales amount. This condition needs to be based on a flag that differentiates orders with high shipping charges from the rest.
Create a calculated field called high_shipping_flag using this function:
ifelse(sum({Ship charges}) > 0.2 * sum(Sales),1,0)
As a result, orders with shipping charges over 20% of sales amount take a value of 1, otherwise, they take a value of 0.
With the base field ready, proceed with conditional formatting configuration. Since the target property for formatting is the entire row instead of a specific column, access the configuration pane from the visual dropdown menu instead of a particular column from the field well.
Scroll down to the bottom of the dropdown list and select the option to conditionally format the [Entire row] in addition to individual columns.
Note the options to Add background color or Add text color, without the Add icon option, because it is not applicable to entire rows. Also note the Apply on top checkbox, which allows the conditional formatting for the entire row to paint over conditional formatting applied to individual columns. For this example, color the entire row teal if the shipping charge flag is 1.
The following screenshots demonstrate the configuration step by step:
Pivot tables
Conditional formatting is enabled for pivot tables as well, and the configuration workflow is very similar to that of tables, with the following differences:
- Conditional formatting can be applied to measures only, or fields in the Values well, but not the other data types.
- Conditional formatting in solid colors can be applied to various levels of your choice: values, subtotals, and totals.
- Conditional formatting can only be applied to individual columns, not entire rows.
Applying gradient colors
Next, explore the conditional formatting functionalities unique to pivot tables. As mentioned above, only the two measures, or numeric fields, in the Values well can be the target fields for conditional formatting.
The following screenshot shows a conditionally formatted pivot table:
As with tables, you can access Conditional formatting configuration pane from the dropdown of either the visual or the field itself in the Values well. Note that only the two measures show up in the dropdown list.
Applying gradient colors to Percent Tested is fairly straightforward. When you select Gradient, you are prompted to define a base field, which can be any field from the dataset as well as Aggregation. Amazon QuickSight offers three pre-set gradient colors for easy application: blue, red-green, and red-yellow-green.
Choose the diverging color option. You have the option to further customize the three colors as well as the corresponding min, mid, and max values by overriding the default, as shown in the following screenshots.
Applying solid colors to column values, subtotals and totals
For Average Score, apply solid color rules to the text.
Add Average Score as the target column for conditional formatting and select Add text color. As mentioned above, only solid colors can be applied to subtotals and totals.
Note the extra text Values next to Condition, which is different from those in Table, right above the comparison method dropdown box. By default, Amazon QuickSight applies the solid color conditions to the most fine-grained values of the target field with the dimension fields at all levels expanded.
This example examines how the average scores at the Borough level compare with each other, which requires applying conditions to both Values and Subtotals. To do so, click on the … icon to expose the options. This is a multi-select dropdown list, in which you can check one option or multiple options. After checking the desired boxes, the Values and Subtotals show up next to Condition. You can Add condition after the first you have completed.
Note that the next condition added inherits the level of granularity from the previous condition. In this example, Condition #2 automatically applies to Values and Subtotals, just like in the previous one. You can override from the check boxes of the multi-select dropdown.
The following screenshot shows the configuration and the effect.
For illustration purposes, add icons as well and enable Show subtotals for rows from the visual dropdown menu. With some rows collapsed at the Borough level, the solid color rules are applied to the average score for the collapsed boroughs, along with the school-level average scores on the expanded rows. The solid color rules also show up in the subtotals enabled for rows.
The following screenshots show conditional formatting applied to subtotals:
KPI Chart
This release also makes conditional formatting available for KPI charts so that you can easily tell whether the KPI is over or under the business-critical thresholds, using text color and icons as quick indicators. In cases in which progress bars are shown, you also have the option to conditionally format the foreground color of the progress bar. The configuration workflow is similar to that of a table or pivot table. The difference is that only the primary value field can be conditionally formatted, not the Target nor the Trend group. This example uses a simple KPI chart showing Primary value only and adds an icon if the Average SAT Score is above 1200.
The following screenshots show the configuration and the effect:
Summary
This post illustrated how you can leverage conditional formatting to create richer data visualizations and thus more appealing dashboards in Amazon QuickSight. As of this writing, conditional formatting is enabled for tables, pivot tables, and KPI charts. You can expect to see enhanced capability to dynamically customize data colors based on numeric fields in other chart types as well. Stay tuned.
If you have any questions or feedback, please leave a comment.
About the Authors
Susan Fang is a senior product manager for QuickSight with AWS.