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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
android1
Post Patron
Post Patron

WeekNum out by a few

Hi,

 

Any idea why the column Week No = WEEKNUM(AVS[ServiceDate]) is wrong by 1 or 2 weeks?

For Week 29 of this year, 18th July - 24th July its returning 30 for 18th-23rd & 31 for the 24th.WeekNum.jpg

 

 

1 ACCEPTED SOLUTION

It looks like Power BI counts the first week of the year starting on 1/1/2016, rather than including it in part of the last week of the prior year.

 

WEEKNUM.PNG

 

That goes against many standard calendars, specifically the ISO definition.

 

I'm not sure why MS uses a different system, but knowing when they start, you could subtract one from your formula and get the result you wanted.

 

This is also the default behavior in Excel, unless you use =WEEKNUM(DateCell, 21). In Power BI, there is no option for this. You can vote on the idea here to make that happen.

 

EDIT: other posters mentioned after this was accepted as a solution that you can use WEEKNUM([DateColumn], 21) in Power BI, it's just not documented and doesn't show up as a standard option while writing the formula. Thanks for pointing this out!

View solution in original post

6 REPLIES 6
Anonymous
Not applicable

You need to realize that there are many different ways of measuring the week num of the year.  ISO, standard calendar, 1st full week starting on Sat, Sun or Mon, or different Fiscal calendars starting at other times throughout the year.  I personally think the ISO standard is the easiest to deal with, and in excel can be used either with =WEEKNUM([Date],21) or =ISOWEEK([Date]). 

 

In PowerBI, There are two ways to get the ISO Week:

 

  1. Using a DAX query:  (it's a nice undocumented option that still works the same as Excel.)
     ISO Week = WEEKNUM([Date],21)
     
  2. Using M in the Query Editor: 
    ISO Week = Number.RoundDown((Date.DayOfYear(Date.From(Duration.Days(([Date]-Date.From(2))/7)*7+5))+6)/7)
Anonymous
Not applicable

I'm having a hard time understanding from your question which date you feel is getting back a bad weeknum.  I can not repro this issue.   Are you being thrown off by the Leap Year in 2016?

Hi,

 

Isn't 18th - 24th July 2016 Week Number 29? I was expecting WeekNum to return 29 for these dates. Instead it returns 30 & 31.

Anonymous
Not applicable

Weeks start on Sunday, and July 17 starts the 30th week.   Note that Jan 1 - Jan 2 is considered "Week 1", with Week 2 starting Jan 3.

Hi,

 

This returns the correct WeekNum -> Week No = WEEKNUM(AVS[ServiceDate],21)

 

Thanks for the replies.

It looks like Power BI counts the first week of the year starting on 1/1/2016, rather than including it in part of the last week of the prior year.

 

WEEKNUM.PNG

 

That goes against many standard calendars, specifically the ISO definition.

 

I'm not sure why MS uses a different system, but knowing when they start, you could subtract one from your formula and get the result you wanted.

 

This is also the default behavior in Excel, unless you use =WEEKNUM(DateCell, 21). In Power BI, there is no option for this. You can vote on the idea here to make that happen.

 

EDIT: other posters mentioned after this was accepted as a solution that you can use WEEKNUM([DateColumn], 21) in Power BI, it's just not documented and doesn't show up as a standard option while writing the formula. Thanks for pointing this out!

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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