Forum Discussion

Kaizu80's avatar
Kaizu80
Frequent Visitor
8 years ago
Solved

Extract text, Power query issue

Hi!

 

I have a column in my raw data with item names in it, like this:

WID S 56*45

S 36*7

S56*27

QVJE S 36*14L

 

Is there a way to extract from that column the text before and after "*"? so that the result from the above would be:

S 56*45

S 36*7

S56*27

S 36*14L

 

BR

Kaj

  • Anonymous's avatar
    Anonymous
    8 years ago

    Kaizu80,

    Add a blank query in your PBIX file, then paste the following code to Advanced Editor of the blank query.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCvd0UQhWMDXTMjFVitWJVgpWMDbTMocwgaJGEGZgmJerAljK0MRHKTYWAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
        #"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "Column1", Splitter.SplitTextByDelimiter("*", QuoteStyle.Csv), {"Column1.1", "Column1.2"}),
        #"Added Custom1" = Table.AddColumn(#"Split Column by Delimiter", "Custom.1", each if Text.Start([Column1.1], 1)="S" then [Column1.1] else Text.End([Column1.1], Text.PositionOf([Column1.1], "S"))),
        #"Added Custom" = Table.AddColumn(#"Added Custom1", "Custom", each [Custom.1] & "*" & [Column1.2])
    in
        #"Added Custom"



    Regards,
    Lydia

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    Kaizu80,

    Add a blank query in your PBIX file, then paste the following code to Advanced Editor of the blank query.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCvd0UQhWMDXTMjFVitWJVgpWMDbTMocwgaJGEGZgmJerAljK0MRHKTYWAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
        #"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "Column1", Splitter.SplitTextByDelimiter("*", QuoteStyle.Csv), {"Column1.1", "Column1.2"}),
        #"Added Custom1" = Table.AddColumn(#"Split Column by Delimiter", "Custom.1", each if Text.Start([Column1.1], 1)="S" then [Column1.1] else Text.End([Column1.1], Text.PositionOf([Column1.1], "S"))),
        #"Added Custom" = Table.AddColumn(#"Added Custom1", "Custom", each [Custom.1] & "*" & [Column1.2])
    in
        #"Added Custom"



    Regards,
    Lydia