计算列,包含一行中许多列的值的总和
Calculated column with the sum of values from many columns in a row
我需要对每行中的所有值求和并将它们显示在计算列中。当我处理很多表中的很多列时,添加类似
的内容
CalculatedColumn = 'public table_name'[column1] + 'public table_name'[column2] + ... + 'public table_name'[column528]
效率真的很低。 有更短的方法吗?
是的,有。您应该 "Unpivot other columns" 然后 "Group By" 使用查询编辑器。
假设这个数据集:
item;col1;col2;col3;col4;col5
apple;1;2;3;4;5
orange;1;2;3;5;8
banana;1;2;4;6;8
加载它,然后打开查询编辑器。
选择"Unpivot Other Columns":
你现在应该看到这个:
在功能区的 "Transform" 选项卡上,选择最左边的 "Group By" 选项。并像这样填写对话框:
您现在应该得到想要的最终结果:
您也可以跳过分组步骤,让您的可视化来处理。
PS。如果你也需要一些非求和列,我建议要么创建一个具有相同来源的重复数据集,要么链接它到原始table有关系,或者合并它所以你得到一个最终的table所有想要的列。
脚注,这是为您生成的 Power Query:
let
Source = Csv.Document(File.Contents("D:\Experiments\PowerBi\denormalized.csv"),[Delimiter=";", Columns=6, Encoding=1252, QuoteStyle=QuoteStyle.None]),
#"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"item", type text}, {"col1", Int64.Type}, {"col2", Int64.Type}, {"col3", Int64.Type}, {"col4", Int64.Type}, {"col5", Int64.Type}}),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"item"}, "Attribute", "Value"),
#"Grouped Rows" = Table.Group(#"Unpivoted Other Columns", {"item"}, {{"SumCol", each List.Sum([Value]), type number}})
in
#"Grouped Rows"
我需要对每行中的所有值求和并将它们显示在计算列中。当我处理很多表中的很多列时,添加类似
的内容CalculatedColumn = 'public table_name'[column1] + 'public table_name'[column2] + ... + 'public table_name'[column528]
效率真的很低。 有更短的方法吗?
是的,有。您应该 "Unpivot other columns" 然后 "Group By" 使用查询编辑器。
假设这个数据集:
item;col1;col2;col3;col4;col5 apple;1;2;3;4;5 orange;1;2;3;5;8 banana;1;2;4;6;8
加载它,然后打开查询编辑器。
选择"Unpivot Other Columns":
你现在应该看到这个:
在功能区的 "Transform" 选项卡上,选择最左边的 "Group By" 选项。并像这样填写对话框:
您现在应该得到想要的最终结果:
您也可以跳过分组步骤,让您的可视化来处理。
PS。如果你也需要一些非求和列,我建议要么创建一个具有相同来源的重复数据集,要么链接它到原始table有关系,或者合并它所以你得到一个最终的table所有想要的列。
脚注,这是为您生成的 Power Query:
let
Source = Csv.Document(File.Contents("D:\Experiments\PowerBi\denormalized.csv"),[Delimiter=";", Columns=6, Encoding=1252, QuoteStyle=QuoteStyle.None]),
#"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"item", type text}, {"col1", Int64.Type}, {"col2", Int64.Type}, {"col3", Int64.Type}, {"col4", Int64.Type}, {"col5", Int64.Type}}),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"item"}, "Attribute", "Value"),
#"Grouped Rows" = Table.Group(#"Unpivoted Other Columns", {"item"}, {{"SumCol", each List.Sum([Value]), type number}})
in
#"Grouped Rows"