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

Power BI DAX度量问题:计算销量超1000产品占比

Power BI DAX 度量解决方案

问题核心

你当前的Total sales度量逻辑错误,导致后续占比度量返回空白。Products表每行对应一笔销售记录,COUNT('Products'[PRODUCT NAME])仅统计当前上下文的记录行数,无法正确计算单个产品的总销量,这是所有问题的根源。

正确度量写法

1. 产品总数

产品总数 = DISTINCTCOUNT('Products'[PRODUCT NAME])

直接统计表中不重复的产品名称数量。

2. 各产品销量

各产品销量 = COUNTROWS('Products')

因每行对应一笔销售,统计当前产品的记录行数即为该产品销量;若表中有唯一销售ID列(如SALE ID),用COUNT('Products'[SALE ID])更严谨,可规避产品名称为空的异常情况。

3. 销量超过1000的产品数量

销量超1000产品数 = 
CALCULATE(
    DISTINCTCOUNT('Products'[PRODUCT NAME]),
    FILTER(
        ALL('Products'[PRODUCT NAME]),
        CALCULATE(COUNTROWS('Products')) > 1000
    )
)

通过ALL('Products'[PRODUCT NAME])迭代所有产品,在迭代过程中计算每个产品的总销量,筛选出销量大于1000的产品后统计数量。

4. 销量超1000产品的占比

销量超1000产品占比 = 
DIVIDE(
    [销量超1000产品数],
    [产品总数],
    0
)

用DIVIDE函数处理除数为0的场景,返回0而非错误值,保证结果正常显示。

原度量错误说明

  • Total sales:全局上下文下返回所有销售记录数,而非单个产品的总销量,导致筛选时无法判断产品销量阈值。
  • % products Plus 1000 sales:直接筛选Products表行时,上下文为单条销售记录,[Total Sales]返回值始终为1,无法筛选出销量超1000的产品,因此返回空白。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 00:23:14