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

To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.

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
September Power BI Update Carousel

Power BI Monthly Update - September 2025

Check out the September 2025 Power BI update to learn about new features.

August 2025 community update carousel

Fabric Community Update - August 2025

Find out what's new and trending in the Fabric community.

Top Kudoed Authors