Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

Measure to only be applied for a specific row

I have written a measure and of course by default the measure will calculate based on the row context. Is there any way to basically make the measure only calculate for a specific row and then return 0 for the row which it does not correlate to?

 

For example the measure ROS #£M Web should only be calculated for ONLINE branches but because it is doing a row by row calculation it will do the same for 'IN STORE' when I actually need the 'IN STORE' to return 0 

 

  • Anonymous's avatar
    Anonymous
    3 years ago

    Anonymous Try this .
    ROS # £M Web = IF ( SELECTEDVALUE('Campaign Overview'[Type]) = "IN STORE", 0, ROUND ( DIVIDE ( SUM('Campaign Overview'[orders]), SUM('Campaign Overview'[salesPerMillion]) ), 2 ) )

8 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Anonymous Try this .
    ROS # £M Web = IF ( SELECTEDVALUE('Campaign Overview'[Type]) = "IN STORE", 0, ROUND ( DIVIDE ( SUM('Campaign Overview'[orders]), SUM('Campaign Overview'[salesPerMillion]) ), 2 ) )

  • Anonymous's avatar
    Anonymous
    Not applicable

    Thanks for the response, that is similar to what I tried but when that happens it just repeats the same value for both like so:

     

      • Anonymous's avatar
        Anonymous
        Not applicable
        ROS # £M Web =
            ROUND(
                DIVIDE (
                SUM('Campaign Overview'[orders]),
                SUM('Campaign Overview'[salesPerMillion])
                )
            ,2
            )
         
        This is the measure but I need it to return 0 for the row of 'IN STORE' but I cannot explicitly do that within the measure because it will just repeat the same value for both.
         
        So the output i'm looking for is :
        TypeROS #£ Web
        IN STORE0
        ONLINE0.55
  • HEllo Anonymous ,

     

    try this

    ROS # £M Web =
        ROUND(
            DIVIDE (
            calculate(SUM('Campaign Overview'[orders]), branch_type = "ONLINE"),
            Calculate(SUM('Campaign Overview'[salesPerMillion]), branch_type = "ONLINE"),
            0
            )
        ,2
        )
     

    If I answered your question, please mark my post as solution, Appreciate your Kudos 👍

    Follow me on Linkedin
    Vote for my Community Mobile App Idea 💡

    • Anonymous's avatar
      Anonymous
      Not applicable

      that returns 0.55 for both online and in store 

      because the code will apply the same for the instore reason why it cant be added within the code because the row context will still override it

  • Anonymous's avatar
    Anonymous
    Not applicable

    Anonymous Try this .
    ROS # £M Web = IF ( SELECTEDVALUE('Campaign Overview'[Type]) = "IN STORE", 0, ROUND ( DIVIDE ( SUM('Campaign Overview'[orders]), SUM('Campaign Overview'[salesPerMillion]) ), 2 ) )