电源查询 - 在组功能中计算列中的非空白



我不是在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"

最新更新