You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI中基于两列计算无维护城市占比的Measure需求

Power BI 计算无维护城市占比的Measure创建方案

原始数据

locationMaint_1Maint_2
City1Yesn/a
City2YesYes
City3No
City4YesNo

需求说明

忽略n/a与空值,统计Maint_1和Maint_2列中标记为No的数量作为分子,有效记录(仅Yes/No)总数作为分母,最终计算占比,示例结果为2/6=33.33%。

DAX Measure 公式

无维护占比 = 
VAR ValidRecords = 
    COUNTROWS(
        FILTER(
            UNION(
                SELECTCOLUMNS('UPS表', "维护状态", 'UPS表'[Maint_1]),
                SELECTCOLUMNS('UPS表', "维护状态", 'UPS表'[Maint_2])
            ),
            [维护状态] IN {"Yes", "No"} && NOT ISBLANK([维护状态]) && [维护状态] <> "n/a"
        )
    )
VAR NoMaintenanceCount = 
    COUNTROWS(
        FILTER(
            UNION(
                SELECTCOLUMNS('UPS表', "维护状态", 'UPS表'[Maint_1]),
                SELECTCOLUMNS('UPS表', "维护状态", 'UPS表'[Maint_2])
            ),
            [维护状态] = "No" && NOT ISBLANK([维护状态]) && [维护状态] <> "n/a"
        )
    )
RETURN
    DIVIDE(NoMaintenanceCount, ValidRecords, 0)

公式解释

  1. ValidRecords(分母):
    • 用UNION把Maint_1和Maint_2合并成单列数据
    • 通过FILTER筛选出值为Yes/No、非空且不等于n/a的有效记录,再用COUNTROWS统计总数
  2. NoMaintenanceCount(分子):
    • 合并两列数据后,筛选出值为No的有效记录并统计数量
  3. RETURN部分:
    • 用DIVIDE函数计算占比,第三个参数0用于处理分母为0的情况,避免报错

格式设置

创建Measure后,在Power BI中将其格式设置为百分比并保留两位小数,即可得到示例中的33.33%结果。

内容的提问来源于stack exchange,提问作者cghanta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 14:12:07