我正在使用 Power Query 中的“分组依据”功能来平均几列的值。我希望其中一列根据另一列中的条目计算平均值。相当于 Excel 中的 AVERAGEIF() 函数。
相关列是[条件]和[净收盘价]。我还使用 List.FirstN 命令仅获取 20 个最新值。
这是我用来计算整列平均值的方法:
{"Avg Sale Price", each List.Average(List.FirstN([Net Close Price],20)), Currency.Type},
如何编辑此命令,以便它仅对 [条件] 包含“已更新”一词的行的 [净收盘价] 进行平均?
通过将 List.Select 和 Text.Contains 命令嵌入到上面的 List.Average 命令中,我已经接近了,但我不断收到各种错误。看来我没有正确构建代码。
这是我最近一次不成功的尝试:
{"Updated.Avg Sale Price", each List.Average(List.Select([Net Close Price], each _ (Text.Contains([Condition],"Updated")))), Int64.Type}
返回的错误是“我们无法将值 $599,000 转换为函数类型”。我怀疑我的语法全错了。
这是上一步和我当前的代码:
#"Filtered Close Date" = Table.SelectRows(#"Expanded Table Column1", each Date.IsInPreviousNMonths([Close Date], 12)),
#"Grouped Rows" = Table.Group(#"Filtered Close Date", {"County", "Postal Code", "Condition"}, {
{"Avg Sale Price", each List.Average(List.FirstN([Net Close Price],20)), Currency.Type},
{"Updated.Avg Sale Price", each List.Average(List.Select([Net Close Price], each _(Text.Contains([Condition],"Updated")))), Int64.Type}
}),
有人可以帮忙吗?
示例完整代码