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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
banthorpe
Helper I
Helper I

Error with PREVIOUSMONTH - duplicatedates

HI - I am trying to build a new measure which returns the calculated value for the previous month.

 

This is the initial measure I am working with which returns the correct data:

 

MeetingsPerDay = DIVIDE(COUNTROWS(MeetingsDashboard),DISTINCTCOUNT(MeetingsDashboard[localStartDate].[Day]))

 

I then tried to create a new measure to calculate the answer for the previous month as follows:

 

MeetingsPerDayLastMonth = CALCULATE(DIVIDE(COUNTROWS(MeetingsDashboard),DISTINCTCOUNT(MeetingsDashboard[localStartDate].[Day])),PREVIOUSMONTH(MeetingsDashboard[localStartDate]))

 

but it returns a DAX error:

 

Calculation error in measure 'MeetingsDashboard'[MeetingsPerDayLastMonth]: A date column containing duplicate dates was specified in the call to function 'PREVIOUSMONTH'. This is not supported.

 

any suggestions please!

 

I need this so I can build up a KPI visual comparing this month to last month etc.

 

1 ACCEPTED SOLUTION
Interkoubess
Solution Sage
Solution Sage

HI @banthorpe,

 

Please create a Calendar table covering your period ( for example 2 years ..) and link this table to your fact table by the date.

 

Then you can write your measure with the previousmonth function and calendar date.

 

Hope it helps otherwise give sample data and will help.

 

Ninter.

View solution in original post

7 REPLIES 7
v-jiascu-msft
Employee
Employee

Hi @banthorpe,

 

Could you please mark the proper answers as solutions?

 

Best Regards,

Dale

Community Support Team _ Dale
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Interkoubess
Solution Sage
Solution Sage

HI @banthorpe,

 

Please create a Calendar table covering your period ( for example 2 years ..) and link this table to your fact table by the date.

 

Then you can write your measure with the previousmonth function and calendar date.

 

Hope it helps otherwise give sample data and will help.

 

Ninter.

Anonymous
Not applicable

Hey @Interkoubess , any suggestions how to work it out when we use Power BI streaming dataset and we can't created additional dataset? 

@Anonymous ,

Not sure how that works, but can you add an index to your table in Power Query? If so, you can use that to find the previous row.

 

Let me know if you have any questions.

 

If this solves your issues, please mark it as the solution, so that others can find it easily. Kudos are nice too.
Nathaniel





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

Proud to be a Super User!




Anonymous
Not applicable

@Nathaniel_C , I can manipulate with dataset however I want. But for different categories may be updated in different times so I will not be able to use TOP N filter (because some values will not be shown there).

What do you mean by link the table?

Hi @banthorpe,

 

It's the new date table. We usually create an independent date table in your scenario. Please give it a try. 

Calendar = calendar(date(2017,1,1),date(2018,12,31))
Calendar = calendarauto()

Best Regards,

Dale

Community Support Team _ Dale
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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