Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

ABC XYZ dynamic analysis - trouble getting both an ABC and XYZ result

I cant figure out if this is even possible.

 

I have used mainly this resource 

https://www.daxpatterns.com/abc-classification/

as a framework for this piece

 

For those who dont know, XYZ and ABC are concepts in inventory management

XYZ - regularity over time (standard dev and average required)

ABC - where each product is allocated a proportion of all value in relation to all products total value

 

For both ABC and XYZ the letter pair each falls into is based on thresholds

 

Thus a product in AX is high value, and regularly ordered

Conversely CZ is irregular and low value

 

 

The problem:

Firstly this needs to be dynamic, based on the view of the report the user is requesting, so follows filters etc

- i believe this makes calculated columns a no go?

in a static calc you can simply calc each product, generate two columns, one for ABC, one for XYZ 

so

product1 - A -X

product2 - A - X

...

product1000 - C - Z

 

However with this being dynamic i belive this is impossible (calced columns in DAX will not recalc wiuth filter changes)

 

 

I have the DAX measures for creating both ABC and XYZ separately.

this allows me for any time frame to allocate part IDs into XYZ and ABC

 

this is done using the info on the link already posted: 

https://www.daxpatterns.com/abc-classification/

 

the main feature of this is to produce a number which falls within thresholds in another table (below)

ABC_ThresholdLowerUpper
A00.8
B0.80.95
C0.951

 

 

 

VAR ProductsInClass =
    FILTER (
        CROSSJOIN (
            CumulatedPctByProduct,
            'ABC Classes'
        ),
        AND (
            [@CumulatedPct] > 'ABC Classes'[Lower Boundary],
            [@CumulatedPct] <= 'ABC Classes'[Upper Boundary]

 

 

 

This allows me to use the ABC_Threshold column as a column in a powerbi table and drop the measure into the 'values'
 
BUT:
One of the end user requirements is to have a matrix like below
Product countABC
X52030
Y1040120
Z60100500
 
however as my measures work the way they do i cannot figure out how to do this, but i also cannot figure out another way of doing the measures to allow this.
 
Any ideas?
1 ACCEPTED SOLUTION
Anonymous
Not applicable

ive successfully solved this, writing it out in a post here gave me an idea nad it worked

 

I moved the calc for the XYZ into the ABC measure and then included this in the crossjoin 

 

View solution in original post

7 REPLIES 7
Paola1
Frequent Visitor

Hi,
I can ask you to share the file with the solution?
I have the same problem and I can't get out of it.

 

Thank you very much.

v-angzheng-msft
Community Support
Community Support

Anonymous
Not applicable

ive successfully solved this, writing it out in a post here gave me an idea nad it worked

 

I moved the calc for the XYZ into the ABC measure and then included this in the crossjoin 

 

Hi al4xms , greetings from Peru.

I am having nightmares with the same problem, could you please share your solution a little more detailed

or drop the doc.

Thanks

I need help with same. can you drop me the solution file

@Anonymous can you share how you did it, I am struggling with that as well

 

Thanks

Dear al4xms,

 

Can you share in detail your solution, i'm also struggling on this topic.

 

Thank you in advance

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.