我不是在Power Query中从头开始编写代码的专家,而是单击它并仅根据我的需求进行调整,并且在使用组功能时陷入困境。只有计算行的选项,我想计算特定列中的非空白单元格。
代码如下所示:
= Table.Group(#"Replaced Value",
{"Company Name", "Policy Number", "Division", "Date"},
{{"Count", each Table.RowCount(_), type number},
{"Sum", each List.Sum([Claim Amount]), type number
}
})
它必须按四个字段(公司名称、保单编号、部门、日期(和索赔返回数和索赔总和对数据进行分组。
我尝试将其更改为使用 Counta 函数:https://msdn.microsoft.com/en-us/query-bi/dax/counta-function-dax 下面的示例:
= Table.Group(#"Replaced Value",
{"Company Name", "Policy Number", "Division", "Date"},
{{"Count", each List.Counta([Claim Amount]), type number},
{"Sum", each List.Sum([Claim Amount]), type number
}
})
以及上述许多其他变体,但没有任何运气。你能帮我,告诉我我在这里做错了什么吗?
编辑:我已经考虑过在分组之前删除空值,但我实际上需要某些组中特定月份有 0 个索赔的信息。
提前感谢您的帮助
假设您的"空白"字段实际上是空的(听起来它们基于您所说的(,您可以使用List.NonNullCount来获取字段中不为空的项目计数。
= Table.Group(#"Replaced Value",
{"Company Name", "Policy Number", "Division", "Date"},
{{"Count", each List.NonNullCount([Claim Amount]), type number}
})
试试这个:
=List.NonNullCount(Record.FieldValues(_))
为什么不只过滤空白然后做组?
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Filtered Rows" = Table.SelectRows(Source, each ([Claim Amount] <> null)),
#"Grouped Rows" = Table.Group(#"Filtered Rows", {"Company Name", "Policy Number", "Division", "Date"}, {{"Count", each Table.RowCount(_), type number}, {"Sum", each List.Sum([Claim Amount]), type number}})
in #"Grouped Rows"