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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Mederic
Post Patron
Post Patron

If true then else

Hello everybody,
I'm stuck on a problem that looks easy but I can't find it.
I'm posting a screenshot with the explanations
Thank you in advance

Best regards

AB
20
22
10
02
00
11
21
30
00
14

 

1_2_3.png

1 ACCEPTED SOLUTION

Hi @Mederic,

 

You can use @lbendlin's solution and create a record that can be expanded, to illustrate:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlLSUTJQitWBsIzALEO4mAFczAAuBpI1hOuAsIxRdCDUmSjFxgIA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [A = _t, B = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"A", Int64.Type}, {"B", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Result", each 
        [Both = null, Not Both = null, Clean = null] &
        (
            if [A]>0 and [B]>0 then [Both = 1] else 
            if [A]=0 and [B]=0 then [Clean = 3] else 
            [Not Both = 2]
        ), type [Both = Int64.Type, Not Both = Int64.Type, Clean = Int64.Type]
)
in
    #"Added Custom"

 

once expanded, it will yield this result

m_dekorte_0-1734860297426.png

 

 

 

View solution in original post

4 REPLIES 4
lbendlin
Super User
Super User

wrong order of checks.

 

 

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlLSUTJQitWBsIzALEO4mAFczAAuBpI1hOuAsIxRdCDUmSjFxgIA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [A = _t, B = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"A", Int64.Type}, {"B", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Result", each 

if [A]>0 and [B]>0 then 1 else 
if [A]=0 and [B]=0 then 3 else 
2
)
in
    #"Added Custom"

 

Hello @lbendlin 
Thank you for your reply,
Your result is in a single column whereas I wanted it in 3 additional columns.

Best regards

Hi @Mederic,

 

You can use @lbendlin's solution and create a record that can be expanded, to illustrate:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlLSUTJQitWBsIzALEO4mAFczAAuBpI1hOuAsIxRdCDUmSjFxgIA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [A = _t, B = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"A", Int64.Type}, {"B", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Result", each 
        [Both = null, Not Both = null, Clean = null] &
        (
            if [A]>0 and [B]>0 then [Both = 1] else 
            if [A]=0 and [B]=0 then [Clean = 3] else 
            [Not Both = 2]
        ), type [Both = Int64.Type, Not Both = Int64.Type, Clean = Int64.Type]
)
in
    #"Added Custom"

 

once expanded, it will yield this result

m_dekorte_0-1734860297426.png

 

 

 

Hello @m_dekorte 

Super, thank you very much, it works very well

Best regards

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

Check out the August 2025 Power BI update to learn about new features.

August 2025 community update carousel

Fabric Community Update - August 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors