cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
joshua1990
Super User
Super User

Change blank by earliest text value per week

Hi all!

I have an archive with the weekly extract of our sales data in a table like this:

Archival Year-Week Order Year-Week Value
2023-01 1 2023-01 5
2023-01 2 null 6

 

As you can see, it happens the is a "null" in the Year-Week column.

I would like to change the null to the earliest Year-Week, that is available within the same Archival Year-Week value.

 

How would you do that within PQ if the table has rows more than 50MM?

 

1 ACCEPTED SOLUTION
v-cgao-msft
Community Support
Community Support

Hi @joshua1990 ,

Hope it helps.

let
  Source = Table.FromRows(
    Json.Document(
      Binary.Decompress(
        Binary.FromText("i45WMjIwMtY1MFTSUQJhBM9UKVYHWdYIiPNKc3KAlJlSbCwA", BinaryEncoding.Base64), 
        Compression.Deflate
      )
    ), 
    let
      _t = ((type nullable text) meta [Serialized.Text = true])
    in
      type table [#"Archival Year-Week" = _t, Order = _t, #"Year-Week" = _t, Value = _t]
  ), 
  #"Changed Type" = Table.TransformColumnTypes(
    Source, 
    {
      {"Archival Year-Week", type date}, 
      {"Order", Int64.Type}, 
      {"Year-Week", type date}, 
      {"Value", Int64.Type}
    }
  ), 
  Custom1 = Table.TransformColumns(
    #"Changed Type", 
    {
      "Year-Week", 
      each 
        if _ <> null then
          _
        else
          Table.Group(
            #"Changed Type", 
            {"Archival Year-Week"}, 
            {{"Min", each List.Min([#"Archival Year-Week"])}}
          )[Min]{0}
    }
  )
in
  Custom1

 

Best Regards,
Gao

Community Support Team

 

If there is any post helps, then please consider Accept it as the solution  to help the other members find it more quickly. If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!

How to get your questions answered quickly --  How to provide sample data in the Power BI Forum

View solution in original post

2 REPLIES 2
v-cgao-msft
Community Support
Community Support

Hi @joshua1990 ,

Hope it helps.

let
  Source = Table.FromRows(
    Json.Document(
      Binary.Decompress(
        Binary.FromText("i45WMjIwMtY1MFTSUQJhBM9UKVYHWdYIiPNKc3KAlJlSbCwA", BinaryEncoding.Base64), 
        Compression.Deflate
      )
    ), 
    let
      _t = ((type nullable text) meta [Serialized.Text = true])
    in
      type table [#"Archival Year-Week" = _t, Order = _t, #"Year-Week" = _t, Value = _t]
  ), 
  #"Changed Type" = Table.TransformColumnTypes(
    Source, 
    {
      {"Archival Year-Week", type date}, 
      {"Order", Int64.Type}, 
      {"Year-Week", type date}, 
      {"Value", Int64.Type}
    }
  ), 
  Custom1 = Table.TransformColumns(
    #"Changed Type", 
    {
      "Year-Week", 
      each 
        if _ <> null then
          _
        else
          Table.Group(
            #"Changed Type", 
            {"Archival Year-Week"}, 
            {{"Min", each List.Min([#"Archival Year-Week"])}}
          )[Min]{0}
    }
  )
in
  Custom1

 

Best Regards,
Gao

Community Support Team

 

If there is any post helps, then please consider Accept it as the solution  to help the other members find it more quickly. If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!

How to get your questions answered quickly --  How to provide sample data in the Power BI Forum

ronrsnfld
Resident Rockstar
Resident Rockstar

If your actual data is similar to what you show, simply select that column and Fill Down.

Helpful resources

Announcements
PBI Sept Update Carousel

Power BI September 2023 Update

Take a look at the September 2023 Power BI update to learn more.

Learn Live

Learn Live: Event Series

Join Microsoft Reactor and learn from developers.

Top Solution Authors
Top Kudoed Authors