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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

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
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

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.