You need to enable JavaScript to run this app. Power BI中如何使用DAX Countax添加列统计颜色数与生成新百分比
优惠活动
大模型
产品
解决方案
定价
更多

Power BI中如何使用DAX Countax添加列统计颜色数与生成新百分比

Power BI 新增目标DAX计算列的实现方案

1. 新增 # colors 列(按产品统计颜色总数量)

进入数据视图,在表结构栏点击「新建列」,输入以下DAX代码,将代码中的占位字段替换为你数据模型里的实际列名即可:

# colors = 
CALCULATE(
    DISTINCTCOUNT('你的数据表名'[颜色字段名]),
    ALLEXCEPT('你的数据表名', '你的数据表名'[唯一产品标识列名])
)
  • 逻辑说明:通过ALLEXCEPT锁定当前行所属的产品维度范围,统计该产品下所有不重复的颜色数量。受业务规则限制每个产品最多对应2种颜色,最终输出结果只会是1或2,完全匹配展示要求。

2. 新增 New % 列(按规则匹配对应百分比值)

同样通过「新建列」入口添加以下DAX代码:

New % = 
VAR CurrentProductColorCount = CALCULATE(
    DISTINCTCOUNT('你的数据表名'[颜色字段名]),
    ALLEXCEPT('你的数据表名', '你的数据表名'[唯一产品标识列名])
)
VAR BlueValueOfCurrentProduct = CALCULATE(
    SELECTEDVALUE('你的数据表名'[百分比字段名]),
    '你的数据表名'[颜色字段名] = "蓝色", // 替换为数据中蓝色的实际匹配文本
    ALLEXCEPT('你的数据表名', '你的数据表名'[唯一产品标识列名])
)
VAR SingleColorValueOfCurrentProduct = CALCULATE(
    SELECTEDVALUE('你的数据表名'[百分比字段名]),
    ALLEXCEPT('你的数据表名', '你的数据表名'[唯一产品标识列名])
)
RETURN
IF(CurrentProductColorCount = 2, BlueValueOfCurrentProduct, SingleColorValueOfCurrentProduct)
  • 注意事项:
    • 代码内所有占位的表名、字段名、颜色匹配文本(如数据中蓝色标识为"Blue"需要同步替换)要和实际模型保持一致,否则会出现匹配错误
    • SELECTEDVALUE会自动判断筛选范围内的返回值唯一性,适配单产品最多2条记录的业务场景,不会触发多值返回的报错
    • 同一产品下的所有行记录,New %列的展示值保持统一,和目标表的展示逻辑完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.06 23:06:03