Power BI中如何统计每行所有列的"Y"数量(超100列场景)
统计Power BI每行中"Y"的数量(无需逐个写IF语句)
针对你有100+列、值为"Y"/"N"/"NA"的数据集,推荐两种高效方法,不用为每列写IF语句:
方法1:Power Query批量统计(优先推荐)
这种方法适合大量列的场景,无需手动指定每一列:
- 打开Power Query编辑器(点击界面上的转换数据按钮)
- 选中不需要参与统计的列(比如主键、ID列等),右键选择将其他列作为值
- 在弹出的设置窗口中:
- 聚合方式选择计数
- 点击高级选项,选择自定义,输入规则:
each _ = "Y"
- 点击确定后,自动生成新列,就是每行所有列中"Y"的总数
如果要统计"N"的数量,重复上述步骤,把规则改成each _ = "N"即可。
也可以直接用M语言添加自定义列,公式如下(记得替换掉不需要排除的列名):
Y总数 = List.Count(List.Select(Record.ToList(Record.RemoveFields(_, {"主键列1", "主键列2"})), each _ = "Y"))
公式解释:把当前行转为列表→排除不需要统计的列→筛选出"Y"→统计数量。
方法2:DAX计算列(适合固定列集合)
如果列集合固定,也可以用DAX实现。以下是示例公式(需要列出所有目标列,若列太多不推荐):
Y总数 = VAR RowData = SELECTCOLUMNS( {1}, "列1", '你的表'[列1], "列2", '你的表'[列2], -- 继续添加所有需要统计的列 ) RETURN SUMX(RowData, IF([Value] = "Y", 1, 0))
内容的提问来源于stack exchange,提问作者Natalie
相关产品推荐
相关产品推荐

