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

July 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more

Reply
jondeck24
Advocate II
Advocate II

Time Buckets

Hey All,

 

Had a quick question on how to write a DAX formula to create some time buckets.  So I have a submitted date field in my data that goes back every day for 6 months.  I need to bucket these into 30 days, 30-60 days, and 60+.  The table is application data with various data points and the point is to give #'s as in how many apps have been in the system for 30 days or less, 30-60 days, and how many apps are 60+ days out.  I thought of using Now or Today but am unsure how to reference it off the appsubmitteddate field.

 

Thanks!

2 ACCEPTED SOLUTIONS

One formula you can tweak might be along these lines :

Date Buckets = SWITCH (
INT(divide(now() - int('Dates'[Date].[Date]),30)) ,
0 , "Current" ,
1 ,"30 to 60" ,
2 , "60 to 90" ,
// else ...
"other")


To learn more about DAX visit : aka.ms/practicalDAX

Proud to be a Datanaut!

View solution in original post

v-sihou-msft
Microsoft Employee
Microsoft Employee

@jondeck24

 

In this scenario, to determine which bucket, you should add a column to calculate the variance. You can directly use Table[Date] minus TODAY() as @Phil_Seamark suggested or use DATEDIFF().

 

Variance = DATEDIFF(Table[Date],TODAY(),DAY)

 

Then specify different bucket with above column as condition.

 

Regards,

View solution in original post

3 REPLIES 3
v-sihou-msft
Microsoft Employee
Microsoft Employee

@jondeck24

 

In this scenario, to determine which bucket, you should add a column to calculate the variance. You can directly use Table[Date] minus TODAY() as @Phil_Seamark suggested or use DATEDIFF().

 

Variance = DATEDIFF(Table[Date],TODAY(),DAY)

 

Then specify different bucket with above column as condition.

 

Regards,

Phil_Seamark
Microsoft Employee
Microsoft Employee

I'd suggest building a separate Date table that contains 1 row per date and add columns to this table and creating a relationship.

 

You can build dynamic DAX forumulas to bucket your data as appropriate.

 

A common column to add might be

 

Days from Today = int(dates[date] - now()) 

 

but you can create variations using SWITCH or nested IF statements.


To learn more about DAX visit : aka.ms/practicalDAX

Proud to be a Datanaut!

One formula you can tweak might be along these lines :

Date Buckets = SWITCH (
INT(divide(now() - int('Dates'[Date].[Date]),30)) ,
0 , "Current" ,
1 ,"30 to 60" ,
2 , "60 to 90" ,
// else ...
"other")


To learn more about DAX visit : aka.ms/practicalDAX

Proud to be a Datanaut!

Helpful resources

Announcements
FabCon and SQLCon Barcelona 2026

FabCon & SQLCon – Barcelona 2026

Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.

60 days of Data Days Carousel

Data Days 2026

Join Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.

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.

Top Solution Authors