Forum Discussion
How to Create a Chart Visual for ABC Analysis
- 9 months ago
Hi somnath6309 ,
You just need to select the combo chart on the build bar
Now you can setup the values has you need:
Or do you want to have additional details like each product and each ABC Class? - 9 months ago
Hi somnath6309
What you are asking for is simply a standard combo chart:
bars for NumOfProducts and a line for Margin, like in the picture:However, it’s important to mention that this visual is not ideal for this type of comparison.
A line chart is designed to show trends over time.
In ABC classification there is no time axis – only categories (A/B/C).
Using a line here creates a false impression of a trend that doesn’t actually exist.Using two different Y-axes makes the visual hard to interpret.
The bar scale and the line scale are unrelated, so the shapes visually “cut” through each other even though the measures have completely different ranges.
This adds unnecessary cognitive load for the user.If the goal is to compare the behavior of two measures across ABC groups, a cleaner and more accurate approach is to place two separate charts, one above the other, inside a single frame.
This allows the user to:understand each measure independently
compare categories clearly
avoid scale confusion
The second image demonstrates this structure very well:
In summary:
A combo chart will work technically, but if the goal is clear and effective data visualization, two aligned charts (one for Margin and one for NumOfProducts) will give a much better result.The pbix is attached
If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly
Hello somnath6309,
I tested in your file and worked. Coud you test it from your side:
Cumulative % by Category =
VAR CategoryTable = ALLSELECTED('Product'[Category])
VAR RankCategory =
RANKX(
CategoryTable,
[Sales Amount],
,
DESC,
Dense
)
VAR CumulativeSales =
CALCULATE(
SUMX(
FILTER(
CategoryTable,
RANKX(CategoryTable, [Sales Amount], , DESC, Dense) <= RankCategory
),
[Sales Amount]
)
)
VAR TotalSales = CALCULATE([Sales Amount], REMOVEFILTERS('Product'))
RETURN
DIVIDE(CumulativeSales, TotalSales)
ABC Class =
VAR CumPct = [Cumulative % by Category]
RETURN
SWITCH(
TRUE(),
CumPct <= 0.8, "A",
CumPct <= 0.95, "B",
"C"
)
If this response was helpful in any way, I’d gladly accept a 👍much like the joy of seeing a DAX measure work first time without needing another FILTER.
Please mark it as the correct solution. It helps other community members find their way faster (and saves them from another endless loop 🌀.