Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Data Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more

Reply
Anonymous
Not applicable

Calculated Measure for Time Column

Hello everyone,

I have a column that contains Transaction Times.

mrbuttons07_0-1723468237037.png

How do I create a calculated column that differentiates the time into different categories like below.

If Time is within 23:45:01.0000000 to 06:45:00.0000000, then it's Night.
If Time is within 06:45:01.0000000 to 15:15:00.0000000 then it's Morning.
If Time is within 15:15:01.0000000 to 23:45:00.0000000 then it's Noon.

Thanks!

 

1 ACCEPTED SOLUTION
rajendraongole1
Super User
Super User

Hi @Anonymous - create a below calculated column , replace your table name and time column

Time Category =
SWITCH(
    TRUE(),
    'Date'[Transaction Time] >= TIME(23, 45, 1) || 'Date'[Transaction Time] <= TIME(6, 45, 0), "Night",
    'Date'[Transaction Time] >= TIME(6, 45, 1) && 'Date'[Transaction Time] <= TIME(15, 15, 0), "Morning",
    'Date'[Transaction Time] >= TIME(15, 15, 1) && 'Date'[Transaction Time] <= TIME(23, 45, 0), "Noon",
    BLANK()
)
 
Hope it helps




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!





View solution in original post

2 REPLIES 2
DatawithDinesh
Resolver II
Resolver II

You can create a calculated column that uses switch statement to specify the period of the day depending on the condition that you specify. See below code.

TimeCategory = 
VAR CurrentTime = [TransactionTime]
RETURN 
SWITCH(
    TRUE(),
    CurrentTime >= TIME(23, 45, 1) || CurrentTime < TIME(6, 45, 0), "Night",
    CurrentTime >= TIME(6, 45, 1) && CurrentTime < TIME(15, 15, 0), "Morning",
    CurrentTime >= TIME(15, 15, 1) && CurrentTime < TIME(23, 45, 0), "Noon",
    "Unknown"
)

Hope this helps!

rajendraongole1
Super User
Super User

Hi @Anonymous - create a below calculated column , replace your table name and time column

Time Category =
SWITCH(
    TRUE(),
    'Date'[Transaction Time] >= TIME(23, 45, 1) || 'Date'[Transaction Time] <= TIME(6, 45, 0), "Night",
    'Date'[Transaction Time] >= TIME(6, 45, 1) && 'Date'[Transaction Time] <= TIME(15, 15, 0), "Morning",
    'Date'[Transaction Time] >= TIME(15, 15, 1) && 'Date'[Transaction Time] <= TIME(23, 45, 0), "Noon",
    BLANK()
)
 
Hope it helps




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!





Helpful resources

Announcements
Fabric Data Days is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.