You need to enable JavaScript to run this app. 如何在Power BI中仅通过PowerQuery实现COG坐标归属包围盒的判断功能
优惠活动
大模型
产品
解决方案
定价
更多

如何在Power BI中仅通过PowerQuery实现COG坐标归属包围盒的判断功能

实现方案

完全可以在Power BI环境下全链路完成匹配,不需要Excel中转,提供两种常用实现路径:

PowerQuery实现(推荐,性能最优)

适合数据量较大的场景,在数据预处理阶段完成匹配,无需占用报表运算资源:

  1. 确保PowerQuery中已经加载两张表:
    • 物体COG坐标表:每行对应一个物体,包含x/y/z三个坐标字段
    • 包围盒参数表:包含你示例中的包围盒编号/Z low/Z high/Y left/Y right/X front/X aft字段
  2. 进入COG坐标表的PowerQuery编辑界面,点击「添加列」-「自定义列」,输入公式:
= Table.SelectRows(包围盒参数表, (b) => [z] >= b[Z low] and [z] <= b[Z high] and [y] >= b[Y left] and [y] <= b[Y right] and [x] >= b[X aft] and [x] <= b[X front])
  1. 点击自定义列右上角的展开按钮,仅选择提取包围盒编号字段即可,无匹配结果的行默认返回空值,你可根据业务需求自行处理空值。

DAX计算列实现

适合数据量较小、需要动态调整匹配规则的场景:
在COG坐标表中新建计算列,输入如下DAX公式:

归属包围盒编号 = 
CALCULATE(
    MAX(包围盒参数表[包围盒编号]),
    FILTER(
        包围盒参数表,
        COG表[z] >= 包围盒参数表[Z low] &&
        COG表[z] <= 包围盒参数表[Z high] &&
        COG表[y] >= 包围盒参数表[Y left] &&
        COG表[y] <= 包围盒参数表[Y right] &&
        COG表[x] >= 包围盒参数表[X aft] &&
        COG表[x] <= 包围盒参数表[X front]
    )
)

这里用MAX是因为你明确包围盒无重叠,最多只有1个符合条件的编号,不会影响匹配结果,无匹配行返回空值。

注意事项

  • 可根据你的边界判断规则(比如左闭右开)调整公式中的>=/<=符号
  • 后续包围盒参数更新后,直接刷新Power BI数据集即可自动完成重新匹配,无需人工介入

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 00:06:07