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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Stuznet
Helper V
Helper V

Multiple IF ISBLANK Condition

Hi,

I’m struggling create an Aging Column and handle the blank.

I created a calculated column
Aging =
VAR DaysBtwn = IF(ISBLANK([Date1]), BLANK(), IF(ISBLANK([Date2), BLANK(), ([DATE1] - [Date2]) *1.))

RETURN
IF(ISBLANK(DaysBtwn), BLANK(),
IF(AND(DaysBtwn <31, “0-30 Days”, DaysBtwn <61, “30-60 Days”, “61+ Days”)))))

How do I write this formula properly without getting an error?


Much appreciated!
1 ACCEPTED SOLUTION
ChrisMendoza
Resident Rockstar
Resident Rockstar

@Stuznet -

 

AND ( ) only takes two arguements so you'd have to nest if you wanted to go that way.

 

The following seems to work in my small sample that I created, possibly it will work for your data:

 

Aging =
VAR DaysBtwn =
    IF (
        ISBLANK ( Table1[DATE1] ),
        BLANK (),
        IF (
            ISBLANK ( Table1[DATE2] ),
            BLANK (),
            ( Table1[DATE1] - Table1[DATE2] ) * 1
        )
    )
RETURN
    IF (
        ISBLANK ( DaysBtwn ),
        BLANK (),
        SWITCH (
            TRUE (),
            DaysBtwn < 31, "0-30 Days",
            DaysBtwn < 61, "30-60 Days",
            DaysBtwn >= 61, "61+ Days"
        )
    )

 






Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

Proud to be a Super User!



View solution in original post

4 REPLIES 4
Anonymous
Not applicable

 
TRY THIS
DAYSDIFF =
VAR DAYS = IF(OR(ISBLANK(Table[date1]),ISBLANK(Table[date2])),BLANK(),DATEDIFF(Table[date1],Table[date2],DAY))
RETURN IF(DAYS <31, "0-30 Days" , DAYS <61, "30-60 Days" , "61+ Days")
jsh121988
Employee
Employee

Try this and use && instead of AND() and || instead of OR() for cleaner code:

AgeDays = 
// If either is blank, then nDays wil be blank
VAR nDays = DATEDIFF([Date1],[Date2],SECOND) / 60 / 60 / 24

SWITCH( TRUE(),
nDays < 31, "0-30 Days",
nDays < 61, "30-60 Days",
nDays >= 61, "61+ Days",
BLANK()
)

 

 

ChrisMendoza
Resident Rockstar
Resident Rockstar

@Stuznet -

 

AND ( ) only takes two arguements so you'd have to nest if you wanted to go that way.

 

The following seems to work in my small sample that I created, possibly it will work for your data:

 

Aging =
VAR DaysBtwn =
    IF (
        ISBLANK ( Table1[DATE1] ),
        BLANK (),
        IF (
            ISBLANK ( Table1[DATE2] ),
            BLANK (),
            ( Table1[DATE1] - Table1[DATE2] ) * 1
        )
    )
RETURN
    IF (
        ISBLANK ( DaysBtwn ),
        BLANK (),
        SWITCH (
            TRUE (),
            DaysBtwn < 31, "0-30 Days",
            DaysBtwn < 61, "30-60 Days",
            DaysBtwn >= 61, "61+ Days"
        )
    )

 






Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

Proud to be a Super User!



@ChrisMendoza  thank you it works 🙂 

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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