在Power BI的Power Query环境中实现类似Excel COUNTIFS功能求助
Power BI实现按Name+Company的计数(类似Excel COUNTIFS)
方法一:Power Query 实现步骤
要保留Surname字段同时得到正确计数,需分两步操作:分组统计+合并回原表:
- 复制原表(避免修改原始数据),在复制的表上执行:
- 切换到转换选项卡,点击分组依据
- 选择高级模式,添加两个分组列:
- 第一组:列选
Name,操作选分组依据 - 第二组:列选
Company,操作选分组依据
- 第一组:列选
- 添加新列,名称设为
Count,操作选行计数,点击确定后得到每个Name+Company组合的计数值
- 返回原表,点击合并查询 → 合并查询作为新列:
- 选择原表作为左表,分组后的表作为右表
- 匹配列同时选中
Name和Company - 合并类型选择左外部,点击确定
- 展开合并后的列,仅勾选
Count字段,完成后原表每一行都会带上对应Name在当前Company下的出现次数,且保留Surname字段。
方法二:DAX 计算列修正
原代码错误在于使用SELECTEDVALUE(适用于度量值的筛选上下文场景),计算列需引用当前行上下文值,正确代码二选一:
方案A(用EARLIER)
CountName = CALCULATE( COUNTA(TableName[Name]), FILTER( TableName, TableName[Name] = EARLIER(TableName[Name]) && TableName[Company] = EARLIER(TableName[Company]) ) )
方案B(用@引用当前行)
CountName = COUNTROWS( FILTER( TableName, TableName[Name] = TableName[Name]@ && TableName[Company] = TableName[Company]@ ) )
将上述代码中的TableName替换为你的实际表名,添加为计算列后即可得到正确的计数结果。
内容的提问来源于stack exchange,提问作者Error 1004
相关产品推荐
相关产品推荐

