You need to enable JavaScript to run this app. Power BI中实现Excel INDEX+AGGREGATE函数多尺寸匹配类型方法
优惠活动
大模型
产品
解决方案
定价
更多

Power BI中实现Excel INDEX+AGGREGATE函数多尺寸匹配类型方法

Power BI 实现Excel匹配逻辑的操作步骤

公式逻辑拆解

你原来的Excel公式核心逻辑是:

  • 不区分SIZEA/SIZEB的顺序,筛选data表中两个尺寸同时大于等于当前report行对应尺寸、且SIZEC大于等于当前report行SIZEC的所有行
  • 在筛选结果中取RANK字段的最大值
  • 返回该RANK值对应的第一个TYPE字段值

具体操作

  1. 打开Power BI,切换到数据视图,在右侧字段列表选中report表
  2. 点击顶部菜单栏的「新建列」,在公式编辑栏输入如下DAX代码:
匹配TYPE = 
// 提取当前report行的三个尺寸参数
VAR CurrentSizeA = report[SIZEA]
VAR CurrentSizeB = report[SIZEB]
VAR CurrentSizeC = report[SIZEC]
// 筛选符合尺寸匹配规则的data表行
VAR FilteredData = FILTER(
    ALL(data),
    (data[SIZEA] >= CurrentSizeA && data[SIZEB] >= CurrentSizeB)
    || (data[SIZEA] >= CurrentSizeB && data[SIZEB] >= CurrentSizeA)
    && data[SIZEC] >= CurrentSizeC
)
// 取筛选结果中的最大RANK值
VAR MaxRank = MAXX(FilteredData, data[RANK])
// 返回对应TYPE
RETURN CALCULATE(FIRSTNONBLANK(data[TYPE], 1), FilteredData, data[RANK] = MaxRank)
  1. 按回车确认即可生成计算列,字段名可以按需修改。

注意事项

  • 请确认data表的RANK字段为数值类型,且优先级逻辑和Excel中一致(数值越大优先级越高)
  • 无匹配结果时默认返回空值,可在代码外层包裹IFERROR函数自定义返回默认值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 17:54:03