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

Power BI中如何对品牌年份过滤后的城市聚合结果应用PERCENTILE.INC

正确DAX实现方案

问题核心是未先按City完成聚合就直接计算分位数,导致DAX处理的是原始行级数据而非城市级聚合值,最终结果偏离Excel验证值。以下是两种适配不同场景的实现方式:

固定筛选条件(匹配示例场景)

如果需要固定筛选Brand="A"、Year={"2019","2020"},使用这个度量值:

75th Percentile (Fixed Filter) = 
VAR CityLevelTotals = 
    SUMMARIZE(
        -- 先筛选符合条件的数据集
        FILTER(Table1, Table1[Brand] = "A" && Table1[Year] IN {"2019", "2020"}),
        -- 按City分组,计算每个城市的总客户数
        Table1[City],
        "Total_Customers", SUM(Table1[Number_of_Customers])
    )
-- 对聚合后的城市级客户数计算75分位数
RETURN PERCENTILE.INC(CityLevelTotals[Total_Customers], 0.75)

动态筛选(适配切片器交互)

如果需要通过切片器动态选择Brand和Year,直接利用DAX的上下文筛选,无需硬编码条件:

75th Percentile (Dynamic) = 
VAR CityLevelTotals = 
    SUMMARIZE(
        Table1,
        Table1[City],
        "Total_Customers", SUM(Table1[Number_of_Customers])
    )
RETURN PERCENTILE.INC(CityLevelTotals[Total_Customers], 0.75)

逻辑说明

  1. SUMMARIZE函数先按City分组,计算每个城市在当前筛选条件下的总客户数,生成仅包含城市和对应总客户数的临时表;
  2. PERCENTILE.INC基于这个临时表的总客户数字段计算分位数,完全对齐Excel的计算逻辑(Excel也是先聚合城市数据再计算分位数)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 23:05:25