cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Super User
Super User

IF NULL: This should be easy!!

Not sure why this doesn't work. Can you spot the issue?

I just want to check if the timestamp coming across ("Observation_Date_Time") is null or not. If its null, write "1970-1-1 00:00:00", otherwise convert the timestamp from unix to human readable.

Works fine without the IF statement. "Invalid Expression" error with the IF. 

if(
    items(
        'For_each_childRecord')?
        ['attributes']?
        ['Observation_Date_Time']
    = null, //also tried = 0 //same error "invalid expression"
    '1970-1-1 00:00:00',
    addseconds(
        '1970-1-1',
        Div(
            items(
                'For_each_childRecord')?
                ['attributes']?
                ['Observation_Date_Time'],
            1000
        ),
        'yyyy-MM-dd hh:mm:ss'
    )
)  

 

1 ACCEPTED SOLUTION

Accepted Solutions
RezaDorrani
Level 10

Re: IF NULL: This should be easy!!

Hi @ericonline 

 

and what about

 

equals(items(
        'For_each_childRecord')?
        ['attributes']?
        ['Observation_Date_Time']
    ,null)

equals(items(
        'For_each_childRecord')?
        ['attributes']?
        ['Observation_Date_Time']
    ,'')
10 REPLIES 10
Highlighted
Super User
Super User

Re: IF NULL: This should be easy!!

@ericonline
Have you tried checking for an empty string? Try two single quotes and it may work

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Scott
Super User
Super User

Re: IF NULL: This should be easy!!

Hi @ScottShearer 

Just pasted this in:

if(
    items(
        'For_each_childRecord')?
        ['attributes']?
        ['Observation_Date_Time']
    = '',
    '1970-1-1 00:00:00',
    addseconds(
        '1970-1-1',
        Div(
            items(
                'For_each_childRecord')?
                ['attributes']?
                ['Observation_Date_Time'],
            1000
        ),
        'yyyy-MM-dd hh:mm:ss'
    )
)

Results:

image.png

RezaDorrani
Level 10

Re: IF NULL: This should be easy!!

Hi @ericonline 

 

write a compose action and check output for 

items(
        'For_each_childRecord')?
        ['attributes']?
        ['Observation_Date_Time']

 

Regards,

Reza Dorrani

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

RezaDorrani
Level 10

Re: IF NULL: This should be easy!!

Hi @ericonline 

 

you can also try

 

empty(items(
        'For_each_childRecord')?
        ['attributes']?
        ['Observation_Date_Time'])

which should return a true or a false 

Super User
Super User

Re: IF NULL: This should be easy!!

Hi @RezaDorrani ,

 

The Compose action for the null record yeilds:

Note: All non-null Observation_Date_Time records showed the Unix time value

image.png

Clicking the link opens a blank browser window. Right click/view source, no content on the page. 

RezaDorrani
Level 10

Re: IF NULL: This should be easy!!

@ericonline 

 

perfect now try

 

equals(items(
        'For_each_childRecord')?
        ['attributes']?
        ['Observation_Date_Time']
    ,null)

empty(items( 'For_each_childRecord')? ['attributes']? ['Observation_Date_Time'])

 

In compose actions to see the results

Super User
Super User

Re: IF NULL: This should be easy!!

@RezaDorrani 

 

`empty()` failed all records in the Flow. 

 

Tried:

if(
    empty(
    items(
        'For_each_childRecord')?
        ['attributes']?
        ['Observation_Date_Time']
    ),
    '1970-1-1 00:00:00',
    addseconds(
        '1970-1-1',
        Div(
            items(
                'For_each_childRecord')?
                ['attributes']?
                ['Observation_Date_Time'],
            1000
        ),
        'yyyy-MM-dd hh:mm:ss'
    )
)

Results:

image.png

RezaDorrani
Level 10

Re: IF NULL: This should be easy!!

Hi @ericonline 

 

and what about

 

equals(items(
        'For_each_childRecord')?
        ['attributes']?
        ['Observation_Date_Time']
    ,null)

equals(items(
        'For_each_childRecord')?
        ['attributes']?
        ['Observation_Date_Time']
    ,'')
Super User
Super User

Re: IF NULL: This should be easy!!

@RezaDorrani

NICE!

`equals(XYZ,null)` worked. 

Solution:

if(
    equals(
    items(
        'For_each_childRecord')?
        ['attributes']?
        ['Observation_Date_Time'],
    null),
    '1970-1-1 00:00:00',
    addseconds(
        '1970-1-1',
        Div(
            items(
                'For_each_childRecord')?
                ['attributes']?
                ['Observation_Date_Time'],
            1000
        ),
        'yyyy-MM-dd hh:mm:ss'
    )
)

Results for the null-value timestamp record:

image.png

Thank you both for the Flow expertise! 

Take care!

Super User
Super User

Re: IF NULL: This should be easy!!

Esoteric syntax! Would have loved to use: 

if(
    items(
        'For_each_childRecord')?
        ['attributes']?
        ['Observation_Date_Time']
    = null

Ah well, these are the types of things that make us valuable I guess. 

Thank you again Reza. I look forward to the TDGI event! 

Helpful resources

Announcements
firstImage

Microsoft Business Applications Virtual Launch Event

Join us for an in-depth look at the new innovations across Dynamics 365 and the Microsoft Power Platform.

firstImage

Watch Sessions On Demand!

Continue your learning in our online communities.

Power Platform 2019 Release Wave 2 Plan

Power Platform 2019 Release Wave 2 Plan

Features releasing from October 2019 through March 2020

thirdimage

Flow Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

fifthimage

Microsoft Learn

Learn how to build the business apps that you need

sixthImage

Power Platform World Tour

Find out where you can attend!

seventhimage

Webinars & Video Gallery

Watch & learn from the Flow Community Video Gallery!

Users Online
Currently online: 52 members 4,272 guests
Please welcome our newest community members: