cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
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
Highlighted

Hi @ericonline 

 

and what about

 

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

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

View solution in original post

10 REPLIES 10
Highlighted
Super User III
Super User III

@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
Highlighted

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

Highlighted

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

Highlighted

Hi @ericonline 

 

you can also try

 

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

which should return a true or a false 

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. 

Highlighted

@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

Highlighted

@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

Highlighted

Hi @ericonline 

 

and what about

 

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

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

View solution in original post

Highlighted

@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!

Highlighted

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
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Power Platform ISV Studio

Power Platform ISV Studio

ISV Studio is designed to become the go-to Power Platform destination for ISV’s to monitor & manage published applications.

Users online (8,589)