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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
gaccardo-slb
Advocate II
Advocate II

Why doesn't IFERROR work for PATH errors?

There are several posts on dealing with errors that occur when using the PATH function in DAX.  All of the ones I've seen focus on fixing the data before trying to use PATH.  In my case, I'm using the path to do some LOOKUPVALUE calls to determine other values.  In short, if the PATH fails to find a path for any reason, that's ok.  Given some recent changes in the data, I now get the following error:

The value '1349021' in 'MyTable'[ParentId] must also exist in 'MyTable'[Id]. Please add the missing data and try again.

So I tried the following code to ignore the error:

Parent Path =
  IFERROR (
    PATH (
      [Id],
      [ParentId]
    ),
    ""
  )

My assumption was that IFERROR () would trap the error and allow me to proceed with a blank value.  Why can't errors in the PATH function actually be trapped and handled?  Any help would be appreciated.

 

1 ACCEPTED SOLUTION

Thank you for the information @v-shex-msft .  The problem needs to be solved in two steps.  Step one is to make a Parent Search Id using LOOKUPVALUE, as follows:

 

ParentSearchValue = 
  LOOKUPVALUE (
    [Id],
    [Id],
    [ParentId]
  )

The LOOKUPVALUE function handles the failures.  Step two is to proceed with determining the PATH, using ParentSearchValue instead of ParentId.

 

View solution in original post

2 REPLIES 2
v-shex-msft
Community Support
Community Support

Hi @gaccardo-slb ,

I think path function analytic on whole field records instead each row. So if these records are not stored as parent child hierarchy, it will return error due to multiple available relationship mapping. 

In my opinion, you can add a calculated column to replace error records and use this column in path function.

Regards,
Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.

Thank you for the information @v-shex-msft .  The problem needs to be solved in two steps.  Step one is to make a Parent Search Id using LOOKUPVALUE, as follows:

 

ParentSearchValue = 
  LOOKUPVALUE (
    [Id],
    [Id],
    [ParentId]
  )

The LOOKUPVALUE function handles the failures.  Step two is to proceed with determining the PATH, using ParentSearchValue instead of ParentId.

 

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.