Sam has a ton of great information on the site about date tables and time intelligence that you can find through the forum search function. Here are just a few that I found particularly helpful:
But i still do not have an answer where in my fact table i do not have any date information for lookup (either Order date or ship date etc) but i have only year and month.
In those cases how does time Intelligence work?
In those cases, you can create dates at the most granular level for each record in your fact table, and then use those dates to create relationships to your Date table. In your case, that would be month start date and month end date. Once you have those relationships established, you can use the standard time intelligence functions down to the month level (or make some assumptions to allocate your monthly data down to the day level).
Here’s an example with quarters as the highest level of granularity (PBIX posted at bottom), applying the DATEADD function to calculate YoY% change in sales.
Per the post above, if you’re interested in allocating your monthly data down to the daily level, I found a thread where Sam discusses changing granularity in detail and provides links to the relevant videos on the site:
You may already have seen this, but Sam posted a fantastic video last week focused on dealing with financial data of different granularities. Directly relevant to your original question: