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

Data Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more

Reply
AnetaK
Helper V
Helper V

IF on date - Expressions that yield variant data-type...

Hello,

 

I have four status dates and want to show on the report always the latest status with the possibility to change to other dates.

So I want to have "Last status" and the other dates.

Something like this: Column2 = IF('Status date'[Status date]=MAX('Status date'[Status date]);"Last status";'Status date'[Status date]).

But I get an error.

However it works for Column1 = IF('Status date'[Status date]=MAX('Status date'[Status date]);1;0)

5.PNG

 

Could anybody, please, help me with it?

 

 

1 ACCEPTED SOLUTION

Ha! I've found the solution! 🙂

 

Status date = If('Status date'[Status date_date]=maX('Status date'[Status date_date]);"Last status";format('Status date'[Status date_date];"YYYY-MM-DD"))

View solution in original post

6 REPLIES 6
BeemsC
Resolver III
Resolver III

Basically what that error is saying, is that you are trying to use a string, where an integer was expected.
So you are trying to write something, where a numeric value is expected. That's why 1 and 0 are working.

You either need to make both integer, or both strings.
So your code fixed would look something like this :

Column2 = IF('Status date'[Status date]=MAX('Status date'[Status date]);"Last status";"Not last status")

But I need a date.

I want to have a slicer with dates and "Last status".6.PNG

 

 

 

You can't have the dates and the 'Last Date' together in one column/slicer, (for as far as i know)

So what should I do?

I would like to set the slicer on "Last status" so when the data is refreshed and there are new statuses, the report always shows the newest status.

Yea, like i said. You were good on your way with the formula. But its not possible for both the dates and "Last date".
If you use something like :
Column2 = IF('Status date'[Status date]=MAX('Status date'[Status date]);"Last status";"Not last status")

Or alternatively, if you only want "Last status"
Column2 = IF('Status date'[Status date]=MAX('Status date'[Status date]);"Last status";"")

Then you just add column 2 to a slicer. And if your relationships are correct, it should work

Ha! I've found the solution! 🙂

 

Status date = If('Status date'[Status date_date]=maX('Status date'[Status date_date]);"Last status";format('Status date'[Status date_date];"YYYY-MM-DD"))

Helpful resources

Announcements
Fabric Data Days is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.