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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
pe2950
Helper I
Helper I

Visualization To Compare Today, Yesterday, This Week, Last Week, This Month, Last Month?

Can someone recommend the best type of visualization to display the following data:

 

Trying to show trends in appointments, by comparing the count of appointment records created today, versus yesterday; this week vs last week; this month vs last month; this year vs last year. 

 

I currently have a bunch of cards where the value is a count of hte rows and the visual filter is set for the date range (ex, last week). Is there an easier way to do this or a better visualization to display this type of KPI?

1 ACCEPTED SOLUTION
Anonymous
Not applicable

@pe2950

If you want to involve all the data(Today, Yesterday, This Week, Last Week, This Month, Last Month) in a single visual, create the following similar measures in your table, you may need to replace the sum function with count function.

Today = CALCULATE(SUM(Table[appointments]),FILTER(Table,Table[Date]=TODAY()))
Yesterday = CALCULATE(SUM(Table[appointments]),FILTER(Table,Table[Date]=TODAY()-1))
This month = CALCULATE(SUM(Table[appointments]),FILTER(Table,YEAR(Table[Date])=YEAR(TODAY()) && MONTH(Table[Date])=MONTH(TODAY())))
Last month = CALCULATE(SUM(Table[appointments]),FILTER(Table,YEAR(Table[Date])=YEAR(TODAY())&&MONTH(Table[Date])=MONTH(TODAY())-1))
This week = CALCULATE(SUM(Table[appointments]),FILTER(Table,YEAR(Table[Date])=YEAR(TODAY())&&WEEKNUM(Table[Date])=WEEKNUM(TODAY())))
Last week = CALCULATE(SUM(Table[appointments]),FILTER(Table,YEAR(Table[Date])=YEAR(TODAY())&&WEEKNUM(Table[Date])=WEEKNUM(TODAY())-1))

Then you can create clustered column chart as shown in the following screenshot.
1.JPG

Regards,
Lydia

View solution in original post

9 REPLIES 9
Anonymous
Not applicable

@pe2950

If you want to involve all the data(Today, Yesterday, This Week, Last Week, This Month, Last Month) in a single visual, create the following similar measures in your table, you may need to replace the sum function with count function.

Today = CALCULATE(SUM(Table[appointments]),FILTER(Table,Table[Date]=TODAY()))
Yesterday = CALCULATE(SUM(Table[appointments]),FILTER(Table,Table[Date]=TODAY()-1))
This month = CALCULATE(SUM(Table[appointments]),FILTER(Table,YEAR(Table[Date])=YEAR(TODAY()) && MONTH(Table[Date])=MONTH(TODAY())))
Last month = CALCULATE(SUM(Table[appointments]),FILTER(Table,YEAR(Table[Date])=YEAR(TODAY())&&MONTH(Table[Date])=MONTH(TODAY())-1))
This week = CALCULATE(SUM(Table[appointments]),FILTER(Table,YEAR(Table[Date])=YEAR(TODAY())&&WEEKNUM(Table[Date])=WEEKNUM(TODAY())))
Last week = CALCULATE(SUM(Table[appointments]),FILTER(Table,YEAR(Table[Date])=YEAR(TODAY())&&WEEKNUM(Table[Date])=WEEKNUM(TODAY())-1))

Then you can create clustered column chart as shown in the following screenshot.
1.JPG

Regards,
Lydia

Anonymous
Not applicable

Million Thanks for sharing such a great logic in very simple way

Anonymous
Not applicable

Hello @Anonymous ,

 

Thank you for the above information!

The last week formula is not working if the current week is January 2021 first week and the last week is December 2020 last week.

The last month formula is not working if the current month is January 2021 and the last month is  December 2020.

 

The above formulas are not showing any values in these cases. 

 

Can you please let me know how to make last week, last month formulas work in the above scenarios.

 

Thank you!

 

Regards,

Aswini

Anonymous
Not applicable

 When I use this Dax, But it starts the week start from Sunday to Saturday.

 

I need to set Dax in such a way that Week Start from Monday to Sunday. 

 

Give the result accordingly!

 

 

@Anonymous,

 

WEEKNUM has two parameters,

  1. Date 
  2. Return type - use 1 when the week begins on Sunday; use 2 when the week begins on Monday

More info can be found here

Anonymous
Not applicable

Last month = CALCULATE(SUM(Table[appointments]),FILTER(Table,YEAR(Table[Date])=YEAR(TODAY())&&MONTH(Table[Date])=MONTH(TODAY())-1))

 

If the Current month is January so last month should be Dec. But that not show any value in this case. 

 

Can you please help me how I can manage if show last year Dec detail? 

Same problem I am also facing any solution for this?

@arvindyadav,

 

Try this,

 

Last month = CALCULATE(SUM(Table[appointments]),FILTER(ALL(Table),YEAR(Table[Date])=YEAR(TODAY())&&MONTH(Table[Date])=MONTH(TODAY())-1))

SivaMani
Resident Rockstar
Resident Rockstar

@pe2950

For comparison,

 

Line and Clustered column chart would be great

Line chart also good for trend

 

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.