Power BI新建列时DAX能否对比小表所有行计算坐标最短距离
DAX 实现代码
直接在large_table中新增如下计算列即可,小表仅20条数据,迭代计算的性能开销极低,哪怕大表是百万级以上的实时表也能正常运行:
min_distance = MINX ( small_table, SQRT ( (large_table[eastlarge] - small_table[eastsmall]) ^ 2 + (large_table[northlarge] - small_table[northsmall]) ^ 2 ) )
逻辑说明
- 计算列会在大表的每一行触发一次计算,遍历小表全量20条固定点位记录
- 对每个小表点位,通过你要求的勾股定理公式计算两点欧氏距离
- 最终返回所有距离的最小值,存入当前行的
min_distance字段
注意事项
该计算仅适用于easting/northing这类平面投影坐标(单位通常为米),如果后续你替换为经纬度坐标,需要改用哈弗辛公式计算球面距离,当前公式不适用。
内容的提问来源于stack exchange,提问作者Gareth Nicholas
相关产品推荐
相关产品推荐

