我有一列,其中每个值重复两次。每个值都有自己的份额(输入数据)。我需要计算每个子组的第一列中第一次出现的值和第二次出现的平均值之间的平均份额(子组通过名称的第一部分来区分:例如输入 car 1, car 1, car 2、汽车 2、自行车 1、自行车 1、自行车 2、自行车 2 等(单词 + 数字)。为此,我创建了一个出现索引。来自带有索引的新表和带有周和份额的旧表的数据,我得到一些奇怪的东西:第一列中的每个值现在重复不是两次,而是四次我该如何解决这个问题? 还值得注意的是,我需要的不是整个列的平均值,而是该列的每个子组的平均值。
我按照此处的建议创建了一个出现索引:link 右键单击,分组依据,保留名称,使用操作所有行 将窗口中的代码从
更改为= Table.Group(#"Changed Type", {"Group ID"}, {{"Count", every , type table ....
到 = Table.Group(#"更改类型", {"组ID"}, {{"Count", every Table.AddIndexColumn(_, "Index", 0, 1, Int64.Type), type table}})
您可以在 PQ 中尝试此操作来创建索引列和新名称列
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Share", type number}}),
Custom1 = Table.Group(#"Changed Type", {"Name"}, {{"Count", each Table.AddIndexColumn(_, "Index", 1, 1, Int64.Type), type table}}),
#"Expanded Count" = Table.ExpandTableColumn(Custom1, "Count", {"Share", "Index"}, {"Share", "Index"}),
#"Added Custom" = Table.AddColumn(#"Expanded Count", "Name2", each Text.Remove([Name],{"0".."9"}))
in
#"Added Custom"
然后就可以在PP中创建计算列了
=CALCULATE(AVERAGE([Share]),ALLEXCEPT(Table1_1,Table1_1[Name2],Table1_1[Index]))