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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
kivancc94
Helper I
Helper I

Creating Calendar Column with Date Condition

Hi

 

I would be happy if you could help me. I have also used measure to solve that but failed.

kivancc94_0-1691844043709.png


Problem : If today is the first day of current month , for example ( 01 August 2023 ) then start the calendar from the beginning of previous month till the end of previous month --> 01 July 2023 .... till 31 July 2023. 

Else start the calendar from beginning of current month ( 01 August 2023 ) till the end of current month ( 31 August 2023)


Column =
IF(
     TODAY() = DATE(YEAR(TODAY()),MONTH(TODAY()),1), // If today is the first day of current month ( 01 / Month / Year )

CALENDAR(
    DATE(
        YEAR(TODAY()),
        MONTH(TODAY()-1),
        1),   // Beginning of Previous Month

    EOMONTH(
        TODAY(),-1)), // End of Previous Month

// ELSE

CALENDAR(
    DATE(
        YEAR(TODAY()),
        MONTH(TODAY()),
        1),   // Beginning of this month

    EOMONTH(
        TODAY(),0))) // End of this month

 

 


Thanks in advance.

Regards

1 ACCEPTED SOLUTION
mickey64
Super User
Super User

I made a calendar table.
 
Column = CALENDAR(
        IF(DAY(TODAY()) = 1,
            DATE(YEAR(TODAY()), MONTH(TODAY())-11),
            DATE(YEAR(TODAY()), MONTH(TODAY()), 1)),
        IF(DAY(TODAY()) = 1, 
            EOMONTH(TODAY(),-1),
            EOMONTH(TODAY(),0)))

View solution in original post

5 REPLIES 5
mickey64
Super User
Super User

I made a calendar table.
 
Column = CALENDAR(
        IF(DAY(TODAY()) = 1,
            DATE(YEAR(TODAY()), MONTH(TODAY())-11),
            DATE(YEAR(TODAY()), MONTH(TODAY()), 1)),
        IF(DAY(TODAY()) = 1, 
            EOMONTH(TODAY(),-1),
            EOMONTH(TODAY(),0)))

Worked ! Thanks a lot.

mickey64
Super User
Super User

Column = CALENDAR(
    IF(DAY(TODAY()) = 1,
        DATE(
            YEAR(TODAY()),
            MONTH(TODAY())-1,
            1),
        DATE(
            YEAR(TODAY()),
            MONTH(TODAY()),
            1)
    ),
    IF(DAY(TODAY()) = 1,
        EOMONTH(
            TODAY(),-1),
        EOMONTH(
            TODAY(),0)))
jdbuchanan71
Super User
Super User

The CALENDAR function returns a table, so I don't think that is what you are wanting.  Is this what you are looking for?

 

Column =
VAR _Today = TODAY()
RETURN
    IF (
        DAY ( _Today ) = 1,
        EOMONTH ( _Today, -2 ) + 1 & " - " & EOMONTH ( _Today, -1 ),
        EOMONTH ( _Today, -1 ) + 1 & " - " & EOMONTH ( _Today, -0 )
    )

 

It's not really clear to me what is the exact string you are wanting to see in that colmn today, Aug 12th and what would you want to see when TODAY() = Sept 1st?

 

What do you want to see on the rows for dates 3 months ago?

 

As an example.

If today is 01.08.2023 ( first day of current month)
  I would like to have calendar table between 01.07.2023 - 31.07.2023 

else ( today is <> 01.08.2023 )

I would like to have calendar table between 01.08.2023 - 31.08.2023 




Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.