Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

IF function measure

Hi all,

 

I am struggling with a measure as I would like to apply an IF condition.

 

I would like to sum up the costs, but IF Projects WBS starts with 'O.NO.XZZ', it should exclude the cost linked to GL Account A7.

 

When I however start with my IF function, I would like to refer to the column Project WBS, but it seems that I am only allowed to refer to a measure?

 

Project WBSGL accountCost 
O.NO.XZZ.123A7100
O.NO.XZZ.124A8200
P.NO.XZZA750
P.NO.XZZA770

 

Anybody could guide me to right direction ? 🙂

  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi Anonymous ,

     

    Check this measure:

    Measure = SUMX(ALL('Table'),'Table'[Cost])-SUMX(FILTER('Table',LEFT('Table'[Project WBS],8)="O.NO.XZZ"&&'Table'[GL account]="A7"),'Table'[Cost])

     

     

    Best Regards,

    Jay

3 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Not sure what measure are you using, but if you want to sum the costs based on the condition you mentioned, do something like:

     

     

    Your measure = 
    CALCULATE(
        SUM('yourtable'[accountCost]),
        FILTER(
            Sales,
            LEFT(Sales[Project WBS],8) <> "O.NO.XZZ"
        )
    )

     

     Kind regards,
    José
    Please mark this answer as the solution if it resolves your issue.
    Appreciate your kudos! 🙂

  • Anonymous's avatar
    Anonymous
    Not applicable

    thanks, I am actually still struggling with this one. Basically I would need to create the following measure : 

     

    If Recharge project, it should sum up all actuals but EXCLUDE GL account A7995050. Otherwise, just sum up all actuals.

     

    The second condition of my if statement works, but there is a problem with the first part.

     

    Actuals YTD test = if(all('Mapping WBS'[Budget]) = "Recharge",calculate ( sum('Capex OC 1/2/3 Foundation (2)'[Actuals]), filter('current ytd period','current ytd period'[month current ytd period] <= MAX('current ytd period'[month current ytd period])),filter('Capex OC 1/2/3 Foundation (2)','Capex OC 1/2/3 Foundation (2)'[Cost Element (CE).Cost Element (CE) Level 01.Key (Not Compounded)] <> "A7995050"))
     , calculate ( sum('Capex OC 1/2/3 Foundation (2)'[Actuals]), filter('current ytd period','current ytd period'[month current ytd period] <= MAX('current ytd period'[month current ytd period])))))

     

     

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,

     

    Check this measure:

    Measure = SUMX(ALL('Table'),'Table'[Cost])-SUMX(FILTER('Table',LEFT('Table'[Project WBS],8)="O.NO.XZZ"&&'Table'[GL account]="A7"),'Table'[Cost])

     

     

    Best Regards,

    Jay