Forum Discussion

smpa01's avatar
smpa01
Icon for Community Champion rankCommunity Champion
4 years ago
Solved

Does PQ have any one liner syntax equivalent to SQL's COALESCE

Is there any built-in one liner syntax avaialble in PQ that is similar to SQL's COALESCE?

 

 

 

 

//PQ
let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQyNjFV0lHKK83JgVGxOtFKIGEzoIChAZAwBQuBRMxBQoZwhbEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [test = _t, Numerator = _t, Denominator = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"test", Int64.Type}, {"Numerator", Int64.Type}, {"Denominator", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "division", each try [Numerator]/[Denominator] otherwise 0)
in
    #"Added Custom"

//SQL
declare @t1 as table (test integer, numerator integer, denominator integer)
insert into @t1

select * from
(values(12345,null,null),(23456,10,5),(34567,11,null)) t(a,b,c)

select *, COALESCE( (numerator/denominator),0)  as divison
from
@t1

 

 

 

 

 

 

  • COALESCE equivalent is available indeed through ?? operator, found here here after posting Q

     

     

     

    = Table.AddColumn(#"Changed Type", "division", each [Numerator]/[Denominator] ?? 0)

     

     

1 Reply

  • smpa01's avatar
    smpa01
    Icon for Community Champion rankCommunity Champion

    COALESCE equivalent is available indeed through ?? operator, found here here after posting Q

     

     

     

    = Table.AddColumn(#"Changed Type", "division", each [Numerator]/[Denominator] ?? 0)