Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
2 years ago
Solved

Adding an if statement to this code

Hello,

 

I am trying to add an if statement to the code below. The if needs to be "if less than 40, make the output = to 40". Here is the code: 

Weekly Hours Worked = CALCULATE(
    SUMX(Timesheet,[Hours]),
    FILTER(
        'Timsheet',
        'Timesheet'[Resource Name] = EARLIER('Timesheet'[Resource Name]) && 'Timesheet'[Period Starting] = EARLIER('Timesheet'[Period Starting])
    )
)
 
 
 
Thanks!
  • Hello Anonymous 

     

    you can try using variable (direct conditional if should be worked as well but the DAX line would be quite long).

     

    Weekly Hours Worked =
    var _hours =
    CALCULATE(
        SUMX(Timesheet,[Hours]),
        FILTER(
            'Timsheet',
            'Timesheet'[Resource Name] = EARLIER('Timesheet'[Resource Name]) && 'Timesheet'[Period Starting] = EARLIER('Timesheet'[Period Starting])
        )
    )
    Return
    IF(
        _hours<40,
        40
    )
     
    Hope this will help.
    Thank you.

1 Reply

  • Hello Anonymous 

     

    you can try using variable (direct conditional if should be worked as well but the DAX line would be quite long).

     

    Weekly Hours Worked =
    var _hours =
    CALCULATE(
        SUMX(Timesheet,[Hours]),
        FILTER(
            'Timsheet',
            'Timesheet'[Resource Name] = EARLIER('Timesheet'[Resource Name]) && 'Timesheet'[Period Starting] = EARLIER('Timesheet'[Period Starting])
        )
    )
    Return
    IF(
        _hours<40,
        40
    )
     
    Hope this will help.
    Thank you.