Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
8 years ago
Solved

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.

 

  • HI Anonymous,

     

    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.

7 Replies

  • HI Anonymous,

     

    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's avatar
      Anonymous
      Not applicable

      What do you mean by link the table?

      • v-jiascu-msft's avatar
        v-jiascu-msft
        Icon for Microsoft Employee rankMicrosoft Employee

        Hi Anonymous,

         

        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

    • Anonymous's avatar
      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? 

      • Nathaniel_C's avatar
        Nathaniel_C
        Icon for Community Champion rankCommunity Champion

        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

  • v-jiascu-msft's avatar
    v-jiascu-msft
    Icon for Microsoft Employee rankMicrosoft Employee

    Hi Anonymous,

     

    Could you please mark the proper answers as solutions?

     

    Best Regards,

    Dale