【问题标题】:Fill down on non-blank values using PowerQuery使用 Power Query 填写非空白值
【发布时间】:2022-06-14 23:52:31
【问题描述】:

我正在尝试找出清理此数据集的方法。我确信有一个聪明的方法可以做到这一点,但我无法理解它。

我尝试过使用 Fill Down 功能,但为此我需要找到一种方法来排除我想要保留的日期下的那些数据值。

这是我的数据

My Data in one column   What i want in two columns

APA  -->   22           null              null
Je 06/01/2022           APA  -->   22     Je 06/01/2022
Ve 07/01/2022           APA  -->   22     Ve 07/01/2022
Lu 07/02/2022           APA  -->   22     Lu 07/02/2022
Ma 08/02/2022           APA  -->   22     Ma 08/02/2022
null                    null              null
AR  -->   6             null              null
Ma 04/01/2022           AR  -->   6       Ma 04/01/2022
Ve 21/01/2022           AR  -->   6       Ve 21/01/2022
Sa 22/01/2022           AR  -->   6       Sa 22/01/2022
Me 23/02/2022           AR  -->   6       Me 23/02/2022
Lu 21/03/2022           AR  -->   6       Lu 21/03/2022
Ma 22/03/2022           AR  -->   6       Ma 22/03/2022
null                    null              null
AS  -->   545           null              null
Sa 01/01/2022           AS  -->   545     Sa 01/01/2022
Sa 01/01/2022           AS  -->   545     Sa 01/01/2022
Sa 01/01/2022           AS  -->   545     Sa 01/01/2022
Di 02/01/2022           AS  -->   545     Di 02/01/2022

任何帮助表示赞赏!

【问题讨论】:

    标签: powerquery


    【解决方案1】:

    试试这个

    添加列,使用公式自定义列

    = if Text.Contains([Column1],"->") then [Column1] else null
    

    添加列,自定义列,带公式

    = if not Text.Contains([Column1],"->") then [Column1] else null
    

    然后填写第一个附加列

    在第一列上创建一个过滤器

    each [Column1]=null or not Text.Contains([Column1], "->"
    

    然后在两个新列上,转换,替换值..替换错误......并且不输入任何内容以获得空值

    删除多余的列

    let Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each if Text.Contains([Column1],"->") then [Column1] else null),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each if not Text.Contains([Column1],"->") then [Column1] else null),
    #"Filled Down" = Table.FillDown(#"Added Custom1",{"Custom"}),
    #"Filtered Rows" = Table.SelectRows(#"Filled Down", each [Column1]=null or not Text.Contains([Column1], "->")),
    #"Replaced Errors" = Table.ReplaceErrorValues(#"Filtered Rows", {{"Custom", ""}, {"Custom.1", ""}}),
    #"Removed Columns" = Table.RemoveColumns(#"Replaced Errors",{"Column1"})
    in #"Removed Columns"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-15
      • 2021-08-20
      • 1970-01-01
      • 2013-05-01
      • 1970-01-01
      • 2023-02-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多