列中每个项目的重复行

Duplicate row for each item in column

我可以在 PowerQuery 中做一些事情,但我找不到如何实现以下结果:

之前:

之后:

目标是为 Project Code 列中的每个项目复制最后一行(使用 Project Code=null 过滤)。我认为按原样复制行对于保留 Metadata Table 并在以后扩展它很重要。

非常感谢您的帮助。

试试这个

  • 抓取除空行以外的所有行
  • 获取列表中项目列的唯一值
  • 抓取空行
  • 用列表创建行并展开它
  • 将两张桌子放回原处。
    let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    AllButNull=Table.SelectRows( Source, each ([Project Code] <> null)),
    UniqueProjects=List.Distinct(AllButNull[Project Code]),
    OnlyNull = Table.SelectRows(#"Added Custom", each ([Project Code] = null)),
    #"Replaced Value" = Table.ReplaceValue(OnlyNull,null,   UniqueProjects,Replacer.ReplaceValue,{"Project Code"}),
    #"Expanded Project Code" = Table.ExpandListColumn(#"Replaced Value" , "Project Code"),
    combined = AllButNull & #"Expanded Project Code" 
    in  combined
    

    或者,抓取最后一行而不是空行:

  • 抓取除最后一行以外的所有行
  • 获取列表中项目列的唯一值
  • 抓住最后一行
  • 用列表创建行并展开它
  • 将两张桌子放回原处。
    let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    AllButLast=Table.RemoveLastN(Source ,1),
    UniqueProjects=List.Distinct(AllButLast[Project Code]),
    OnlyBottomRow = Table.LastN(#"Added Custom", 1),
    #"Replaced Value" = Table.ReplaceValue(OnlyBottomRow,null,   UniqueProjects,Replacer.ReplaceValue,{"Project Code"}),
    #"Expanded Project Code" = Table.ExpandListColumn(#"Replaced Value", "Project Code"),
    combined = AllButLast & #"Expanded Project Code" 
    in combined