Sunday, September 26, 2021

Calculating the Difference Between Any Two Points in Tableau

A colleague posted this: "Hi Team, may I ask if you have any good idea to show the % difference of two randomly selected data points on a line chart?"

I found a solution to it, which is as follows.

- Click to set one point as a reference
- Hover over another point 
- Show the difference between the two points in tooltips

Both click and hover are actions that allow us to save a point's attributes into parameters. Then we can calculate the difference easily.

Here are the detailed steps of implementation.

Click to set a reference point

Each point has 3 attributes:
- Sub-Category
- Date
- Sales value

Being a reference point, all three attributes need to be stored in parameters.

Create one parameter for each of the attributes. For the reference point, we need three parameters. Set up one parameter action for each of them.
Here is how we create a parameter action for saving the reference sub-category into a string parameter called Reference Sub Category
We need to do the same for saving the other two attributes into Reference Date and Reference Sales parameters. Details can be found in the companion workbook.

Hover over a point of interest

By hovering the mouse over a point of interest which we want to compare against the reference point, we will trigger the following actions:
- Save the two attributes of the point Sub-Category and Date into two parameters with parameter actions. 
- Calculate the difference between this point and the reference point. Show them in tooltips. Here is the formula:

Highlight both points with bigger size and different colors

To highlight the reference point and the current point, we use bigger size circles with different colors. Yes, we need to use dual axis with circles. The following formula is applied to identify the two points and assign bigger size to them:
We can use Size editor to fine tune the actual size of the circle.

For the coloring, we use a lightly different formula to create a dimension:
Then we assign appropriate colors to 1, 2 and 3.

Reset the reference point with a reset button

After we are done with the business, we should not leave the reference point remain highlighted  Thus we created a reset button sheet for resetting the highlighted reference point. First, we need to create 3 values for the 3 reference attributes to be reset with.
For example, the Rest Date is 1/1/1900. The Reset Sales is reset to 0. The Reset Sub Category is None. 
We need 3 parameter actions from the reset button sheet to reset the 3 attributes.
De-select the reference point and the reset button

In a Tableau dashboard, when we select/click a data mark, such as a reference point or the reset button in our case, it will stay selected until we click somewhere else. This is not good for us because we may not click anywhere soon. So we will apply a de-select action right away to the sheet in question. 
We need to create two fields with True and False each as values. And place them in the Details of the sheets in question. 
Here is the de-select filter action for the reset button:

There you go. It is not a complex dashboard in principle. We just have quite a few steps to get it done. It's a good exercise for playing with parameter actions.

Feel free to download the companion workbook and play with it. Leave comment below or contact me at twitter @aleksoft if you have questions.

No comments:

Post a Comment