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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

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
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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