Forum Discussion

gav1991's avatar
gav1991
Frequent Visitor
2 years ago
Solved

Dynamic total measure , based on slicer

Hi, I'm trying to calculate dynamic total, for the total orders palced YTD (i already have a seperate column for the total by week), also there is multiple customers in slicer. When i select the slicer, i want the dynamic total to change . 

 

I'm trying to do this to get value for denominator, so i can do another dynamic total on "ordes < 1 day" and use it as numerator, so I can further calculate a % to keep below actual % a flat line (as on that week, rather than what i have currently shows the % of that week, see beloe image), which is dyanmic based on slicer and keep chnaging as more data is being added. 

 

My main intension is to give an YTD actual %, linked to slicer - any other way ?

 

 

I also tried, below DAX, by creating a seperate table for customer. it seems not working

 

Dynamic Total Orders = CALCULATE(
SUM('Order'[Total No of Orders]),
FILTER(
ALLSELECTED('Order'[Customer]),
ALLSELECTED(Customer[Customer])
)
)

 

  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi gav1991 ,

     

    Please try below code to create a [Acutal %] measure.

    Actual % =
    CALCULATE (
        DIVIDE (
            SUM ( 'Order'[Orders placed ≤ 1 Day] ),
            SUM ( 'Order'[Total No of Orders placed] )
        ),
        ALLEXCEPT ( 'Order', 'Order'[Customer] )
    )

    Result is as below.

     

    Best Regards,
    Rico Zhou

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

5 Replies

  • 123abc's avatar
    123abc
    Icon for Community Champion rankCommunity Champion

    To create a dynamic total for the total orders placed YTD based on a slicer selection, you can use the following DAX measure:

     

    Dynamic Total Orders YTD =
    VAR SelectedCustomers = VALUES('Order'[Customer])
    RETURN
    CALCULATE(
    SUM('Order'[Total No of Orders]),
    FILTER(
    ALL('Order'),
    'Order'[Customer] IN SelectedCustomers
    && 'Order'[Date] <= MAX('Order'[Date])
    )
    )

     

    Here's how this measure works:

    1. We use the VALUES function to get the list of selected customers from the slicer.

    2. Then, we use the CALCULATE function to calculate the sum of 'Total No of Orders' based on the following conditions:

      • The 'Customer' must be one of the selected customers.
      • The 'Date' must be less than or equal to the maximum 'Date' selected in the slicer.

    This measure will dynamically adjust the total orders YTD based on the customer(s) selected in the slicer. When you change the slicer selection, the total will update accordingly.

    Make sure you have a 'Date' column in your 'Order' table to track the order date, and ensure that your slicer is connected to the 'Customer' field.

  • gav1991's avatar
    gav1991
    Frequent Visitor

    123abc  Hiya, thanks for your reply. However, i do not have a useful date in my data, i have from and to, however the data is built on the week number, is there a way I could use the above DAX around the week number?

     

    I'm attaching the pbix file, - link for google drive

    https://drive.google.com/file/d/1PYx1PixlCeAh9t_9xpCILgEwLF-0lzed/view?usp=sharing

     

    this is how the chart looks currently, when i select Customer A in slicer. 

     

    I'm looking to chart to look like below (made in excel)

     

    can you help please. much appricated

     

    • 123abc's avatar
      123abc
      Icon for Community Champion rankCommunity Champion

      ok i try to solve this and will ans you soon.

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi gav1991 ,

       

      Please try below code to create a [Acutal %] measure.

      Actual % =
      CALCULATE (
          DIVIDE (
              SUM ( 'Order'[Orders placed ≤ 1 Day] ),
              SUM ( 'Order'[Total No of Orders placed] )
          ),
          ALLEXCEPT ( 'Order', 'Order'[Customer] )
      )

      Result is as below.

       

      Best Regards,
      Rico Zhou

       

      If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

      • gav1991's avatar
        gav1991
        Frequent Visitor

        thanks Anonymous it worked much appriciated.