Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Add column with sepecific cell value

I want create new column A16_2 base on value of first row A16 which use flexible way:

IndexA16A16_2
035003500
1null3500
2null3500

I use Custom function from Edit Query in Excel.

I try some way like that:

  1. if [A16] = null then [A16]{0} else [A16]
  2. List.Average([A16])

But It NOT WORK. Could someone guide me how to create new column base on specificed value of 1 column?

  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi Anonymous 

     

    When you call [A16], it is not a list, so what is your logic?

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlDSUTI2NTBQitWJVjIEcvJKc3LAHCM4JxYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Index = _t, A16 = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Index", Int64.Type}, {"A16", Int64.Type}}),
        #"Added Custom" = Table.AddColumn(#"Changed Type", "yourNewColumn", each if [A16]=null then #"Changed Type"[A16]{0} else [A16]),
        #"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom", each List.Average(#"Added Custom"[A16]))
    in
        #"Added Custom1"

     

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous 

     

    When you call [A16], it is not a list, so what is your logic?

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlDSUTI2NTBQitWJVjIEcvJKc3LAHCM4JxYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Index = _t, A16 = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Index", Int64.Type}, {"A16", Int64.Type}}),
        #"Added Custom" = Table.AddColumn(#"Changed Type", "yourNewColumn", each if [A16]=null then #"Changed Type"[A16]{0} else [A16]),
        #"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom", each List.Average(#"Added Custom"[A16]))
    in
        #"Added Custom1"