Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
10 years ago
Solved

Calculating Delay Rate with Slicers

Hi all,

 

I am fairly new to DAX and am a bit stuck on something, I have tried googling/lurking for a solution to no avail.

 

I'm trying to calculate the delay rate of delivery trucks. I have a table with one row for each delivery, it also includes a column with the delay code. The measure "Delay Rate %" is being used as the values for a column chart with a month axis.

 

It works perfectly when I specify the reason in the measure (example):

Delay Rate % = CALCULATE(SUM(Data[Delivery Complete),Data[Delay Reason]="WEATHER")/SUM(Data[Delivery Complete])

However, I would like the user to be able to select the delay reason from a slicer. (e.g. weather, fuel, customer, traffic, etc)

 

What would be the easiest way to do this? (if at all possible) Thank you for your help in advance. :smileyhappy:

  • Get rid of the calculate all together and just keep the division. Add a slicer on your delay reason column, and it will work (after you add the extra calculate below).  Calculate is a hard coded way to apply a filter. A slicer is another way to apply a filter, but it is user selectable

     

    you will need to add a new calculate to the denominator so it ignores the slicer. 

     

    Denominator should be 

    calculate(sum(data[delivery complete]),all(data[delay reason]))

2 Replies

  • MattAllington's avatar
    MattAllington
    Icon for Community Champion rankCommunity Champion

    Get rid of the calculate all together and just keep the division. Add a slicer on your delay reason column, and it will work (after you add the extra calculate below).  Calculate is a hard coded way to apply a filter. A slicer is another way to apply a filter, but it is user selectable

     

    you will need to add a new calculate to the denominator so it ignores the slicer. 

     

    Denominator should be 

    calculate(sum(data[delivery complete]),all(data[delay reason]))

    • Anonymous's avatar
      Anonymous
      Not applicable

      Thank you very much for the prompt reply, Matt! It worked perfectly.