Forum Discussion

spmabaso's avatar
spmabaso
Regular Visitor
6 years ago
Solved

PowerBI DAX If function with time

I am trying to categorise my column based on time as shown below. But my formula is returning an error.

Not quite sure whether using the timevalue function in this formula.

 

=if [Time] >= timevalue(06:00) and [Time]< timevalue (14:00) then "Morning"
else if[Time]>= timevalue(14:00) and [Time]< timevalue(22:00) then"Afternoon"
else if "Night"

  • Hi spmabaso 

     

    if you are looking for DAX function try this.

    Measure = 
    SWITCH( 
        TRUE(),
        'Table'[Time] >= TIMEVALUE( "06:00" ) && 'Table'[Time] < TIMEVALUE( "14:00" ), "Morning",
        'Table'[Time] >= TIMEVALUE( "14:00" ) && 'Table'[Time] < TIMEVALUE( "22:00" ), "Afternoon",
        "Night"
    )

    in Power Query try this

    = if [Time] >= #time( 6, 0, 0 ) and [Time] < #time( 14, 0, 0 ) then "Morning" else if [Time] >= #time( 14, 0, 0 ) and [Time] < #time( 22, 0, 0 ) then "Afternoon" else "Night"

     

    Best Regards,
    Mariusz

    If this post helps, then please consider Accepting it as the solution.

    Please feel free to connect with me.
    LinkedIn

     

2 Replies

  • Mariusz's avatar
    Mariusz
    Community Champion

    Hi spmabaso 

     

    if you are looking for DAX function try this.

    Measure = 
    SWITCH( 
        TRUE(),
        'Table'[Time] >= TIMEVALUE( "06:00" ) && 'Table'[Time] < TIMEVALUE( "14:00" ), "Morning",
        'Table'[Time] >= TIMEVALUE( "14:00" ) && 'Table'[Time] < TIMEVALUE( "22:00" ), "Afternoon",
        "Night"
    )

    in Power Query try this

    = if [Time] >= #time( 6, 0, 0 ) and [Time] < #time( 14, 0, 0 ) then "Morning" else if [Time] >= #time( 14, 0, 0 ) and [Time] < #time( 22, 0, 0 ) then "Afternoon" else "Night"

     

    Best Regards,
    Mariusz

    If this post helps, then please consider Accepting it as the solution.

    Please feel free to connect with me.
    LinkedIn