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
mork
Helper V
Helper V

Create column with true/false for previous month

Hello,

I have a column with dates in the following format:

 

d/m/yyyy

 

How can I create a calculated column that has as values true for every entry that is on the previous month and false for the rest?

 

I tried the following but it didn't work.

 

 

=IF([Date]=EDATE(DATE(YEAR(NOW());MONTH(NOW()));-1);TRUE();FALSE())

 

I know I must be close but how can I implement the day to my formula?

1 ACCEPTED SOLUTION
Sean
Community Champion
Community Champion

@mork This should work...

 

Column =
IF ( YEAR ( Calendar[Date] ) = YEAR ( NOW () )
        && MONTH ( Calendar[Date] ) = MONTH ( NOW () ) - 1,
    TRUE (),
    FALSE ()
)

View solution in original post

7 REPLIES 7
Quis
New Member

The posted soltion does not work over multiple years: 

 

Use: 

IsLastMonth = IF (
(
('Dim Date'[Year] = YEAR ( NOW () ) && MONTH ( 'Dim Date'[Date] ) = MONTH ( NOW () ) - 1) ||
(Month('Dim Date'[Date]) = 12 && Month(now()) == 1 && Year('Dim Date'[Date]) = Year(now()) - 1)), TRUE(), FALSE()
)

Hi,
Thank you for help !!! this is work !
But I want to do the same thing, but on the 3 last month (included the last year). I test many things but doesn't work. Can you help me ?
Thank you ! 🙂

Sean
Community Champion
Community Champion

@mork This should work...

 

Column =
IF ( YEAR ( Calendar[Date] ) = YEAR ( NOW () )
        && MONTH ( Calendar[Date] ) = MONTH ( NOW () ) - 1,
    TRUE (),
    FALSE ()
)
waltheed
Solution Supplier
Solution Supplier

Hi Mork,

 

This should do the trick:

 

=IF(STARTOFMONTH(YourTable[YourDateField]) = date(year(TODAY()); MONTH(today())-1; 1) ;TRUE();FALSE())

 

HTH,

Cheers, Edgar Walther
ITsmart BI and Analytics consultant
Ashish483501
Frequent Visitor

@mork  I'm not sure about this. bt try this it may work

 

if(month(date)=month(date)-1,"True","False")

ankitpatira
Community Champion
Community Champion

@mork This should work for you however in your dateColumn you will only need date that is not greater than today. 

 

NewColumn = IF( DATEDIFF('YOURTABLE'[dateColumn],TODAY(),DAY) <= 30, "Yes", "No")

@ankitpatira

Unfortunately that's is not what I want. Your formula is about the previous 30 days and not about the previous month. So for example today is the 13th of May. The data that I will see won't be the data of the previous month but will be the data of the last 30 days. Meaning half of April and half of May.

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.