Forum Discussion

reemadsouza's avatar
reemadsouza
Frequent Visitor
1 year ago
Solved

Help with measure

I have this measure , which converts the ticket volume into Cubic yards if its in Cubic meters , vice versa.Issue is rowwise I am getting right results, but the totals do not change accordingly in table visual.

 

Converted Volume Delivered Qty =
VAR SelectedUnit = SELECTEDVALUE(Units[Unit], "Cubic Yards")
VAR unit1 = SELECTEDVALUE('Ticket Lines'[Ticket Line Unit of Measure])

VAR VolumeInCubicYards =
    SWITCH(
        TRUE(),
        unit1 = "cu meter", [Ticket Volume Delivered Qty] * 1.30795,  -- Converts cubic meters to cubic yards
        [Ticket Volume Delivered Qty]
    )

VAR VolumeInCubicMeters =
    SWITCH(
        TRUE(),
        unit1 = "cu yds", [Ticket Volume Delivered Qty] / 1.30795,  -- Converts cubic yards to cubic meters
        [Ticket Volume Delivered Qty]
    )

RETURN
    SWITCH(
        TRUE(),
        SelectedUnit = "Show All - Cubic Yards", VolumeInCubicYards,
        SelectedUnit = "Show All - Cubic Meters", VolumeInCubicMeters,
        SelectedUnit = "Show All - Default", [Ticket Volume Delivered Qty],  -- Default behavior, no conversion
        [Ticket Volume Delivered Qty]  -- Fallback in case no match
    )
 

 

 

 

 

Any tips on how to amke the total work?

  • Anonymous's avatar
    Anonymous
    1 year ago

    Thanks for the reply from Greg_Deckler , and allow me to add some additional information:


    Hi  reemadsouza ,

     

    May I ask if the incorrect totals you are referring to are the incorrect totals for the Total rows that are placed on the form visual?

    Measure follows the context of the "Total" row and is calculated in that context. Therefore, using a measure in a column of a table visualization may have unexpected values in the "Total" column.

    You can use the following measure, using the IF()+HASONEVALUE() function, to determine if it is Total, and if it is, you can calculate it according to your own needs, such as Average, Sum, etc.

    You can try using the following measure.

     

    Correct total =
    var _table=SUMMARIZE('Table','Table'[Grography Name],"Value",[Converted Volume Delivered Qty])
    return
    IF(
        HASONEVALUE('Table'[Grography Name]),[Converted Volume Delivered Qty],SUMX(_table,[Value]))

     

     

    Best Regards,

    Liu Yang

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

2 Replies