Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello,
I have a boxplot with standard deviation as a measure showing Median, First Quartile, Third Quartile, Start of Box, End of Box and Outliers.
I'd like to create a table chart where I see only information about outliers.
Could you please help me create it? How to get rows for outliers only?
Thank you.
Hello @Zaqwer
Creating a table chart that only displays outliers from a boxplot requires you to calculate what constitutes an outlier based on your data. In a boxplot, outliers are typically considered as data points that fall below Q1 - 1.5IQR or above Q3 + 1.5IQR, where Q1 is the first quartile, Q3 is the third quartile, and IQR is the interquartile range (Q3 - Q1).
The steps to create such a table are as follows:
Calculate Q1, Q3, and IQR for your data. You can do this using Qlik Sense's aggregation functions in combination with set analysis. Here are the example expressions for calculating Q1 and Q3:
Q1: Fractile(TOTAL {<FieldName>} [FieldName], 0.25)
Q3: Fractile(TOTAL {<FieldName>} [FieldName], 0.75)
And then calculate IQR as Q3 - Q1.
Define what constitutes an outlier. As mentioned above, any data point that is below (Q1 - 1.5IQR) or above (Q3 + 1.5IQR) can be considered an outlier.
Now create a new straight table chart with the dimensions you're interested in (it could be categories, product names, etc.), and as a measure, use an expression that filters your data based on the outlier definition. This expression would look something like this:
If([FieldName] < (Q1 - 1.5*IQR) or [FieldName] > (Q3 + 1.5*IQR), [FieldName])
This expression will return the value of FieldName
if it's an outlier, and null otherwise.
To prevent the null values from showing up in your table, you can enable "Suppress Zero-Values" and "Suppress Missing" in the presentation tab of your chart properties.
Please replace FieldName
with the actual field name in your data. Also, you might need to adjust the expressions based on your actual data and requirements. The above calculations assume that you want to calculate the outliers across all your data. If you need to calculate outliers within groups of your data, you will need to adjust your expressions accordingly.
Hello @Zaqwer
Creating a table chart that only displays outliers from a boxplot requires you to calculate what constitutes an outlier based on your data. In a boxplot, outliers are typically considered as data points that fall below Q1 - 1.5IQR or above Q3 + 1.5IQR, where Q1 is the first quartile, Q3 is the third quartile, and IQR is the interquartile range (Q3 - Q1).
The steps to create such a table are as follows:
Calculate Q1, Q3, and IQR for your data. You can do this using Qlik Sense's aggregation functions in combination with set analysis. Here are the example expressions for calculating Q1 and Q3:
Q1: Fractile(TOTAL {<FieldName>} [FieldName], 0.25)
Q3: Fractile(TOTAL {<FieldName>} [FieldName], 0.75)
And then calculate IQR as Q3 - Q1.
Define what constitutes an outlier. As mentioned above, any data point that is below (Q1 - 1.5IQR) or above (Q3 + 1.5IQR) can be considered an outlier.
Now create a new straight table chart with the dimensions you're interested in (it could be categories, product names, etc.), and as a measure, use an expression that filters your data based on the outlier definition. This expression would look something like this:
If([FieldName] < (Q1 - 1.5*IQR) or [FieldName] > (Q3 + 1.5*IQR), [FieldName])
This expression will return the value of FieldName
if it's an outlier, and null otherwise.
To prevent the null values from showing up in your table, you can enable "Suppress Zero-Values" and "Suppress Missing" in the presentation tab of your chart properties.
Please replace FieldName
with the actual field name in your data. Also, you might need to adjust the expressions based on your actual data and requirements. The above calculations assume that you want to calculate the outliers across all your data. If you need to calculate outliers within groups of your data, you will need to adjust your expressions accordingly.