将列与空值PowerSQL合并

时间:2017-07-26 13:09:56

标签: merge null powerbi m

我有:

Name  Value
A     null
B     null
null  5
null  10

我需要:

Name  Value
A     5
B     10

非常感谢您提供解决方案。

1 个答案:

答案 0 :(得分:0)

我曾问similar question,@ MarcelBeug提供了非常有用的回复;反过来,我使用它作为我为你的特定表格回答你的基础。

这要求您使用Power Query(Power BI&#39的查询编辑器)。

根据您的情况,我......

  1. 添加了一个名为" Group"的列,其中包含" Group"在每一行中
  2. 然后我使用" Group By"在新的Group列上,对Name和Value列使用sum聚合
  3. enter image description here enter image description here

    1. 然后我编辑了在步骤2中生成的代码...将List.Sum的出现更改为List.RemoveNulls
    2. 然后我添加了一个列,其中包含来自步骤3
    3. 的两个列表中的嵌入表

      enter image description here

      1. 然后我删除了除Tabled列以外的所有列
      2. 然后我扩展了Tabled列,它给了我这个:
      3. enter image description here

        这是M代码:

        let
        Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Value", Int64.Type}}),
        #"Added Custom" = Table.AddColumn(#"Changed Type", "Group", each "Group"),
        #"Grouped Rows" = Table.Group(#"Added Custom", {"Group"}, {{"NameList", each List.RemoveNulls([Name]), type text}, {"ValueList", each List.RemoveNulls([Value]), type number}}),
        #"Added Custom.1" = Table.AddColumn(#"Grouped Rows", "Tabled", each Table.FromColumns({[NameList],[ValueList]},{"Name","Value"})),
        #"Removed Other Columns" = Table.SelectColumns(#"Added Custom.1",{"Tabled"}),
        #"Expanded Tabled" = Table.ExpandTableColumn(#"Removed Other Columns", "Tabled", {"Name", "Value"}, {"Name", "Value"})
        in
        #"Expanded Tabled"