Forum Discussion

prasadpatil020's avatar
8 months ago
Solved

Row wise calculation

Hi Community..!!

Order No.Tot. Order Value GrossBus. Unit Code@@test
1549751713332601033260
155786541291944.461091944.46
1557893444319631031963

i have above data, @@test is my measure, i need row wise calculation, after adding total order values gross i am getting 275,833 which is wrong , addition of these values should be = 33260 + 91944 + 31963 = 157167
this is my measure 

 
@@test = 
SUMX(
            VALUES('Order Level Details'[Order No.]),
            MAX('Order Level Details'[Tot. Order Value Gross])
        )

Kindly help me on the same.

  • Hi prasadpatil020,

     

    The problem is not the SUMX itself but how the row context / filters are evaluated (and sometimes duplicate rows) which makes the MAX() return unexpected values or cause double-counting.

     

    Try below DAX, it creates a virtual table and then sums up the data.

    @@test =
    SUMX(
    SUMMARIZE(
    'Order Level Details',
    'Order Level Details'[Order No],
    "OrderVal", MAX('Order Level Details'[Tot. Order Value Gross])
    ),
    [OrderVal]
    )

     

    ๐ŸŒŸ I hope this solution helps you unlock your Power BI potential! If you found it helpful, click 'Mark as Solution' to guide others toward the answers they need.
    ๐Ÿ’ก Love the effort? Drop the kudos! Your appreciation fuels community spirit and innovation.
    ๐ŸŽ– As a proud SuperUser and Microsoft Partner, weโ€™re here to empower your data journey and the Power BI Community at large.
    ๐Ÿ”— Curious to explore more? [Discover here].
    Letโ€™s keep building smarter solutions together!

     

6 Replies

  • prasadpatil020 ,

    If 'Order No.' is unique in your table, you can simply use:

    @@test = SUM('Order Level Details'[Tot. Order Value Gross])

     

    If there are duplicate order numbers and you want to sum only the maximum value per order, your measure is close, but you should check your data for duplicates

    DAX
    @@test =
    SUMX(
    VALUES('Order Level Details'[Order No.]),
    MAX('Order Level Details'[Tot. Order Value Gross])
    )

     

    This will work if, for each 'Order No.', the MAX returns the correct value (which is the only value if there are no duplicates). But if your table has multiple rows per order with different 'Tot. Order Value Gross'

  • Hi prasadpatil020,

     

    The problem is not the SUMX itself but how the row context / filters are evaluated (and sometimes duplicate rows) which makes the MAX() return unexpected values or cause double-counting.

     

    Try below DAX, it creates a virtual table and then sums up the data.

    @@test =
    SUMX(
    SUMMARIZE(
    'Order Level Details',
    'Order Level Details'[Order No],
    "OrderVal", MAX('Order Level Details'[Tot. Order Value Gross])
    ),
    [OrderVal]
    )

     

    ๐ŸŒŸ I hope this solution helps you unlock your Power BI potential! If you found it helpful, click 'Mark as Solution' to guide others toward the answers they need.
    ๐Ÿ’ก Love the effort? Drop the kudos! Your appreciation fuels community spirit and innovation.
    ๐ŸŽ– As a proud SuperUser and Microsoft Partner, weโ€™re here to empower your data journey and the Power BI Community at large.
    ๐Ÿ”— Curious to explore more? [Discover here].
    Letโ€™s keep building smarter solutions together!