Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
2 years ago
Solved

Json format of each record

Hi all,

I have a csv file with a huge number of records, when loaded into powe query, I need to add a new custom column that contains the json representation of each record as follows :

col1, col2, col3, json
A, 1, c, {"col1":"A","col2":1,"col3":"c"}
B, 2, d, {"col1":"B","col2":2,"col3":"d"}

thanks

  • Hi Anonymous ,

     

    Try this example query by pasting into a new blank query in Advanced Editor:

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTIE4mSlWJ1oJScgywiIU5RiYwE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Col1 = _t, Col2 = _t, Col3 = _t]),
        
        addJson =
        Table.AddColumn(
            Source,
            "json",
            each Text.FromBinary(
                Json.FromValue(
                    [
                        [Col1],
                        [Col2],
                        [Col3]
                    ]
                )
            )
        )
        
    in
        addJson

     

     

    Example query output:

     

    To add as a custom column to your existing query, just use this bit of the code in the column formula:

     

    Text.FromBinary(
        Json.FromValue(
            [
                [Col1],
                [Col2],
                [Col3]
            ]
        )
    )

     

     

    Pete

1 Reply

  • Hi Anonymous ,

     

    Try this example query by pasting into a new blank query in Advanced Editor:

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUTIE4mSlWJ1oJScgywiIU5RiYwE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Col1 = _t, Col2 = _t, Col3 = _t]),
        
        addJson =
        Table.AddColumn(
            Source,
            "json",
            each Text.FromBinary(
                Json.FromValue(
                    [
                        [Col1],
                        [Col2],
                        [Col3]
                    ]
                )
            )
        )
        
    in
        addJson

     

     

    Example query output:

     

    To add as a custom column to your existing query, just use this bit of the code in the column formula:

     

    Text.FromBinary(
        Json.FromValue(
            [
                [Col1],
                [Col2],
                [Col3]
            ]
        )
    )

     

     

    Pete