具有 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"
在 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"