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

如何在Excel数据透视表/Power Pivot中添加帕累托80/20占比字段

实现Power Pivot中贡献80%收入的SKU统计(动态适配层级)

核心思路

用DAX度量值实现帕累托(80/20法则)分析,依赖上下文筛选自动适配行区域的不同层级(类别、子类别等),无需手动调整公式。


步骤1:确认/创建基础度量值

如果还没有基础统计度量,先创建这两个:

  • SKU计数:SKU计数 = DISTINCTCOUNT('你的数据表'[SKU])
  • 收入求和:收入求和 = SUM('你的数据表'[Revenue])

步骤2:创建累计收入占比的中间度量

用于计算单个SKU在当前分组下的累计收入占比:

累计收入占比 = 
VAR 当前SKU收入 = [收入求和]
VAR 分组总收入 = CALCULATE([收入求和], ALLSELECTED('你的数据表'[SKU]))
VAR 按收入排序的SKU = 
    ADDCOLUMNS(
        ALLSELECTED('你的数据表'[SKU]),
        "@SKU收入", CALCULATE([收入求和]),
        "@累计占比", 
            DIVIDE(
                SUMX(FILTER(ALLSELECTED('你的数据表'[SKU]), CALCULATE([收入求和]) >= CALCULATE([收入求和], CURRENTROW())) , [收入求和]),
                分组总收入
            )
    )
RETURN
    MAXX(FILTER(按收入排序的SKU, [@SKU收入] = 当前SKU收入), [@累计占比])

步骤3:统计贡献80%收入的SKU数量

自动适配当前行层级(类别/子类别)的统计度量:

贡献80%收入的SKU数量 = 
VAR 分组总收入 = CALCULATE([收入求和], ALLSELECTED('你的数据表'[SKU]))
VAR 按收入排序的SKU = 
    ADDCOLUMNS(
        ALLSELECTED('你的数据表'[SKU]),
        "@SKU收入", CALCULATE([收入求和]),
        "@累计占比", 
            DIVIDE(
                SUMX(FILTER(ALLSELECTED('你的数据表'[SKU]), CALCULATE([收入求和]) >= CALCULATE([收入求和], CURRENTROW())) , [收入求和]),
                分组总收入
            )
    )
VAR 前80%收入SKU集合 = FILTER(按收入排序的SKU, [@累计占比] <= 0.8)
RETURN
    COUNTROWS(前80%收入SKU集合)

步骤4:统计贡献80%收入的SKU占比

基于数量计算当前分组内的占比:

贡献80%收入的SKU占比 = 
DIVIDE(
    [贡献80%收入的SKU数量],
    [SKU计数],
    0
)

使用方法

  1. 将上述度量值添加到Power Pivot模型
  2. 在数据透视表列区域添加贡献80%收入的SKU数量和贡献80%收入的SKU占比
  3. 切换行区域层级(如从类别切换到子类别)时,度量值会自动适配当前分组上下文,重新计算对应层级的80%收入SKU统计

关键细节

  • ALLSELECTED('你的数据表'[SKU]) 确保只统计当前行层级内的SKU,不会跨分组计算
  • 按SKU收入从高到低排序后累加占比,直到累计值达到80%
  • DIVIDE函数避免除以0的错误,提升公式健壮性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 00:42:35