具有 M 的 Power Query 自定义列计算具有空值的 %

Power Query custom column with M calculating % with null values

在 power 查询中,我如何使用 M 创建自定义列“% column”,其中我的引用列 A、B 和 C 中有时会有空值。

没有空值,很简单。我可以写 =([A]+[B]+[C])/3.

但是,我可以做些什么来打折空值?第 2 行需要 [A]+[B]/2,第 3 行需要 [B]+[C]/2。

非常感谢

重复您的查询。右键单击 ID 列 ... 逆透视其他列 逆透视自动删除空项

右击ID,分组依据,对值列操作平均值。文件 .. 关闭并加载 ... 仅连接 ... 以保存该查询

转到您的原始查询。主页 .. 合并查询 ... 选择顶部的当前查询,底部的另一个查询并单击它们中的 ID 列,使用左外连接。使用新列顶部的箭头展开平均列

您可以在单个查询中完成,并在家中进行一些手动代码编辑...高级...如下例所示

let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"A", Int64.Type}, {"B", Int64.Type}, {"C", Int64.Type}}),

// create average
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"ID"}, "Attribute", "Value"),
#"Grouped Rows" = Table.Group(#"Unpivoted Other Columns", {"ID"}, {{"Average", each List.Average([Value]), type number}}),

// merge back to original data
#"Merged Queries" = Table.NestedJoin(#"Changed Type",{"ID"},#"Grouped Rows",{"ID"},"GR",JoinKind.LeftOuter),
#"Expanded Table2" = Table.ExpandTableColumn(#"Merged Queries", "GR", {"Average"}, {"Average"})
in #"Expanded Table2"