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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
vapilot75
New Member

Dynamic Partial Calendar

Hello,

 

I'm trying to creare a small table that has only the date of the last day of the month, starting in January of the current year, to the last day of the month of the current month.  For example:

 

January 31, 2019

February 28, 2019

March 31, 2019

April 30, 2019

May 30, 2019

 

I want to do this with a query, so that as soon as June rolls around, June 30 would be added to the list.   Anyone have any ideas?

 

Many thanks,

 

Brandon

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

@vapilot75  - You could create a DAX Calculated Table like this:

End Dates = 
var currentmonth = MONTH(TODAY())
var currentyear = YEAR(TODAY()) 
var entireyear = CALENDAR(DATE(currentyear, 1,1), DATE(currentyear,12,31))
var addcols = GENERATE(
    entireyear,
    var basedate = [Date]
    var month = MONTH([Date])
    var endmonth = EOMONTH(basedate,0)
    return ROW(
        "Day", basedate,
        "Month", month,
        "EndOfMonth", endmonth
    )
)
var distinctval = SUMMARIZE(addcols, [Month], [EndOfMonth])
var filtered = FILTER(distinctval, [Month] <=currentmonth)
return filtered

Cheers!

Nathan

View solution in original post

2 REPLIES 2
Mariusz
Community Champion
Community Champion

Hi @vapilot75 

You can use Query Editor, M code below.

let
    currentDate = Date.From(DateTime.LocalNow()),
    listMonths = List.Transform({1..Date.Month(currentDate)}, each Date.EndOfMonth(#date(Date.Year(currentDate), _, 1))) 

in
    listMonths

Regards,
Mariusz

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

Anonymous
Not applicable

@vapilot75  - You could create a DAX Calculated Table like this:

End Dates = 
var currentmonth = MONTH(TODAY())
var currentyear = YEAR(TODAY()) 
var entireyear = CALENDAR(DATE(currentyear, 1,1), DATE(currentyear,12,31))
var addcols = GENERATE(
    entireyear,
    var basedate = [Date]
    var month = MONTH([Date])
    var endmonth = EOMONTH(basedate,0)
    return ROW(
        "Day", basedate,
        "Month", month,
        "EndOfMonth", endmonth
    )
)
var distinctval = SUMMARIZE(addcols, [Month], [EndOfMonth])
var filtered = FILTER(distinctval, [Month] <=currentmonth)
return filtered

Cheers!

Nathan

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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