Forum Discussion

Mooihoek's avatar
Mooihoek
Helper II
5 years ago
Solved

Spilt Column and create New Row

I'm trying to spilt the U from this column and then have that value as a new Column called Test which then have that value and on the same row as the other values, e.g in green. .  Any ideas on how to achieve this?

 

 

 

11 Replies

  • mussaenda's avatar
    mussaenda
    Community Champion

    Hi Mooihoek ,

     
     
     
     
     

    try this on a blank query

     

     

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WUtJRUorViVYyNDSxNDUE8ozM9Q1M9I0MjAzB4qFgBbEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Case Number" = _t, #"Date Submitted" = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Case Number", type text}, {"Date Submitted", type date}}),
        #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each #"Changed Type"{2}[Case Number]),
        #"Filtered Rows" = Table.SelectRows(#"Added Custom", each [Date Submitted] <> null and [Date Submitted] <> "")
    in
        #"Filtered Rows"

     

     

     

    Hope this helps

    • Mooihoek's avatar
      Mooihoek
      Helper II

      thanks cant get it working using an existing data source. Can I send you the BI file for checking?

    • Mooihoek's avatar
      Mooihoek
      Helper II

      This is where I'm at, Created two new columns Type &Time however those values need to come up a row.

       

       

      Because there's an error there on the top row it won't let me complete a Fill Up then filter the columns, any thoughts?

  • v-yalanwu-msft's avatar
    v-yalanwu-msft
    Community Support

    Hi, Mooihoek ; 

    Hi, according to your description, there is another method you can try:

    1.add custom column in power query

    2.replace value (""->"null")

    3.fill up

    4.remove empty rows

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WUtJRUorViVYyNDSxNDUE8ozM9Q1M9I0MjAzB4qFgBbEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Case Number" = _t, #"Date Submitted" = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Case Number", type text}, {"Date Submitted", type date}}),
        Custom1 = Table.AddColumn(#"Changed Type", "Custom", each Text.Select([Case Number],{"A".."z"})),
        #"Replaced Value" = Table.ReplaceValue(Custom1,"",null,Replacer.ReplaceValue,{"Custom"}),
        #"Filled Up" = Table.FillUp(#"Replaced Value",{"Custom"}),
        #"Filtered Rows" = Table.SelectRows(#"Filled Up", each [Date Submitted] <> null and [Date Submitted] <> "")
    in
        #"Filtered Rows"

    The final output is shown below:

    Best Regards,
    Community Support Team_ Yalan Wu
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

    • Mooihoek's avatar
      Mooihoek
      Helper II

      thanks I also need to move the date time value as well and create a new  Column called Time, is he code the same?

       

       

  • v-yalanwu-msft's avatar
    v-yalanwu-msft
    Community Support

    Hi, Mooihoek ;

    You could modify it as follows:

    1.custom column in power query

    2.add conditional column

    3.remove custom column and fill up custom1 coulmn

    4.split column

    5.remove empty rows

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WUtIBofw0Bdey1LwSpVidaCVDQxNLU0OgqJG5voGJvpGBEZgDpHQtdA3NwWpCIfrM3u+ZZWwc4KsUGwsA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Case Number" = _t, #"Date Submitted" = _t, #"Date/Time" = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Case Number", type text}, {"Date Submitted", type date}}),
        Custom1 = Table.AddColumn(#"Changed Type", "Custom", each Text.Select([Case Number],{"A".."z"})&"|"&[#"Date/Time"]),
        #"Added Conditional Column" = Table.AddColumn(Custom1, "Custom.1", each if Text.StartsWith([Custom], "|") then null else [Custom]),
        #"Removed Columns" = Table.RemoveColumns(#"Added Conditional Column",{"Custom"}),
        #"Filled Up" = Table.FillUp(#"Removed Columns",{"Custom.1"}),
        #"Split Column by Delimiter" = Table.SplitColumn(#"Filled Up", "Custom.1", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Custom.1.1", "Custom.1.2"}),
        #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Date/Time", type text}, {"Custom.1.1", type text}, {"Custom.1.2", type text}}),
        #"Filtered Rows" = Table.SelectRows(#"Changed Type1", each [Date Submitted] <> null and [Date Submitted] <> "")
    in
        #"Filtered Rows"

    The final output is shown below:

    Best Regards,
    Community Support Team_ Yalan Wu
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

    • Mooihoek's avatar
      Mooihoek
      Helper II

      thanks Yalan Wu, at 2.add conditional column I do not get an option to select "begins with' only equals or does not equal are available.

       

       

      • v-yalanwu-msft's avatar
        v-yalanwu-msft
        Community Support

        Hi, Mooihoek ;

        There is a drop-down box to choose.

        Best Regards,
        Community Support Team_ Yalan Wu
        If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.