Forum Discussion
Excel Power Query - Stop query if record field does not exist
I'm running a query which returns a record with a number of fields. If the record contains the field 'CashField', the query continues as normal. However, if the field does NOT exist, is there a way to terminate the query cleanly and exit the function i.e. not subsequent steps from running?
let
Source = Excel.CurrentWorkbook(){[Name="CASH_FLOW_QUERY"]}[Content],
...
res = Record.HasFields(Source, "CashField"),
in
resAnonymous your Source does not look like a record... Anyway, _after in_ instead of res write smth like
if Record.HasFields(your_test_record, "CashField") then name_of_the_last_step else [Ted_Striker_Says = "what a pisser"]. Power Query M is "lazy" so it starts from the end and won't execute subsequent steps if this field is missing.
3 Replies
- AlienSxSuper User
Anonymous your Source does not look like a record... Anyway, _after in_ instead of res write smth like
if Record.HasFields(your_test_record, "CashField") then name_of_the_last_step else [Ted_Striker_Says = "what a pisser"]. Power Query M is "lazy" so it starts from the end and won't execute subsequent steps if this field is missing.
- AnonymousNot applicable
I see, thank you! Before, i was trying something like: if Record.HasFields(your_test_record, "CashField") = False then <EXIT_QUERY> inside the LET statement... Sounds like my understanding of Power Query M was wrong!
- AlienSxSuper User
Anonymous order of lines of your code does not matter
let res = if b = 2 then null else c, a = 1, c = a + b, b = 2 in res