03-05-2020 10:26 AM
03-05-2020 10:26 AM
I am trying to get an index of months in my calendar table using dax. I need a formula that gives me the Index result that looks like this:
03-05-2020 10:37 AM - edited 03-05-2020 10:39 AM
You should just be using Date values to build your Date Table like:
Then using Calculated Columns as:
[Year] = YEAR([Date]) [MonthNum] = MONTH([Date]) [Month] = FORMAT([Date],"mmm") [DayNum] = DAY([Date])
I don't understand the logic where 2020 Jan becomes Index = 4. Can you explain?
03-05-2020 10:50 AM
In this example, the index column is counting the 4th occurance of a beginning of a month. In reality the month count will go chronoligically over several years. I need this to get a Month (and then year) offset number to do time intelligence calculations in power pivot. (At least I think I do)
Thank you for your input, but I have the rest of the date table put together.
Is there a way to share just the Calendar table I have currently without putting in the rest of the workbook with its data model?
03-05-2020 11:11 AM
To be honest I'm not sure this will help you when using Time Intelligence functions; I myself had to build a calendar with custom periods however I took that idea and included it in the attached.
It's using Power Query > Add to Data Model. Hopefully that is what you were going for.
03-05-2020 11:19 AM - edited 03-05-2020 11:19 AM
I wanted to keep it out of Power Querry, just using the automatic Calendar generated by Power Pivot. I think this will allow me to be able to use it with dynamic date ranges depending on the date ranges in my data set ( I'm pretty sure the bosses are eventually going to say "Hey, That's neat. Can we see the last five years now?" Those bosses get greedy once you start showing them things.)
Anyway I think I solved it. But I'm sure there's a more elegant solution. I created a couple of calculated columns.
[Day of Month}=FORMAT('Calendar'[Date],"dd")
[Day of Month Cheat]=IF('Calendar'[Day of Month #]="01",1,0)
[Month Sequence]=CALCULATE(SUM('Calendar'[Month Cheat]),FILTER('Calendar','Calendar'[Date]<=EARLIER('Calendar'[Date])))
[Month Offset]=-LOOKUPVALUE('Calendar'[Month Sequence #],'Calendar'[Date],TODAY())+'Calendar'[Month Sequence #]