Forum Discussion

bmk's avatar
bmk
Helper II
3 years ago
Solved

DAX Date Table : Week Range - Sorting issue

Hello,

 

I'm using the below given Date Table in my report (open to suggestions to optimize/tweak if needed). I am currently using Date, Month, Week Range as the drill down heirarchy.

 

The Date and Month fields sorts correctly. However, when I drill down to Week Range, the sorting is all mixed up.

Yes, the data type for both Month and WeekRange is Text at the moment. I figure this is/maybe the reason that the sorting is done incorrectly, and not technically by the month's integer equivalent.

Is there a way to make sure sorting is done correctly without affecting the whole table?

 

Date Table =
ADDCOLUMNS (
CALENDAR (
DATE ( YEAR ( today() -365), MONTH ( today() - 365), DAY ( today()- 365) ),
DATE ( YEAR ( today() ), MONTH ( today() ), DAY ( today() ) )
),
"DateAsInteger", FORMAT ( [Date], "YYYYMMDD" ),
"Year", YEAR ( [Date] ),
"Monthnumber", FORMAT ( [Date], "MM" ),
"YearMonthnumber", FORMAT ( [Date], "YYYY/MM" ),
"YearMonthShort", FORMAT ( [Date], "YYYY/mmm" ),
"Month", FORMAT ( [Date], "mmm" ),
"MonthNameLong", FORMAT ( [Date], "mmmm" ),
"DayOfWeekNumber", WEEKDAY ( [Date] ),
"DayOfWeek", FORMAT ( [Date], "dddd" ),
"DayOfWeekShort", FORMAT ( [Date], "ddd" ),
"Quarter", "Q" & FORMAT ( [Date], "Q" ),
"YearQuarter", FORMAT ( [Date], "YYYY" ) & "/Q"
& FORMAT ( [Date], "Q" ),
"Start of Week",[Date] - WEEKDAY([Date],2) +1,
"Week Ending",[Date] + 7 - WEEKDAY([DATE],2),
"Week Range",[Date] - WEEKDAY([Date],2) +1&" - "&[Date] + 7 - WEEKDAY([DATE],2),
"MonthYear", FORMAT ( [Date], "mmmm" )&"/"&YEAR ( [Date] ),
"WeekNum",weeknum([Date],2)-1
)
  • Hi bmk ,

     

    This error is because the column which used to sort the other column need to be the unique, the error is here (In my PBIX file, it can be seen in the ERRORHERE Table):

     

    So we can do a little change to the column Weeknum,

    New a column:

     

    Index =
    IF (
        'Date Table'[Date] >= DATE ( 2021, 12, 27 )
            && 'Date Table'[Date] <= DATE ( 2022, 1, 2 ),
        152,
        ( YEAR ( 'Date Table'[Date] ) - 2020 ) * 100 + 'Date Table'[WeekNum]
    )
    

     

    You can sort by the Index column.

     

    The result is:

     

     

    Here is my PBIX file.

    Hope this helps you.

     

    Best Regards,

    Community Support Team _Yinliw

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

5 Replies

  • Great to see your reply, Greg. Been following your posts on the PBI Totals issue, quite frustrating for me too.

    I did try to sort out by WeekNum and few other columns, and I get the following error: 


    However, sorting by 'Start of Week' looks like it works. I'm just not sure if it would fail any edge case(s) yet. Usually depends on that one user trying to get data for a specific date period.

     

    • v-yinliw-msft's avatar
      v-yinliw-msft
      Community Support

      Hi bmk ,

       

      This error is because the column which used to sort the other column need to be the unique, the error is here (In my PBIX file, it can be seen in the ERRORHERE Table):

       

      So we can do a little change to the column Weeknum,

      New a column:

       

      Index =
      IF (
          'Date Table'[Date] >= DATE ( 2021, 12, 27 )
              && 'Date Table'[Date] <= DATE ( 2022, 1, 2 ),
          152,
          ( YEAR ( 'Date Table'[Date] ) - 2020 ) * 100 + 'Date Table'[WeekNum]
      )
      

       

      You can sort by the Index column.

       

      The result is:

       

       

      Here is my PBIX file.

      Hope this helps you.

       

      Best Regards,

      Community Support Team _Yinliw

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

      • bmk's avatar
        bmk
        Helper II

        Thank you. Could you please explain the logic of the Index measure here? I did not follow the IF condition completely.