Power Query/PowerBI中实现条件范围关联的方法问询
基于数值范围实现两个数据集的关联需求
数据集详情
数据集1(foo)
| id | val |
|---|---|
| a | 3 |
| b | 7 |
| c | 13 |
数据集2(bar)
| descr | beginval | endval |
|---|---|---|
| x | 2 | 5 |
| y | 8 | 14 |
| z | 17 | 20 |
SQL实现示例
在SQL中,可通过以下语句实现范围关联:
select bar.descr , bar.beginval , bar.endval , foo.id from bar left outer join foo on foo.val between bar.beginval and bar.endval
执行结果如下:
| descr | beginval | endval | id |
|---|---|---|---|
| x | 2 | 5 | a |
| y | 8 | 14 | c |
| z | 17 | 20 | (null) |
Power BI中的实现疑问
由于两个数据集来源不同(并非都是SQL数据库),无法直接用SQL完成关联。发现Power BI仅支持单列对等关联,无法直接实现范围关联,请问能否通过DAX或Query Editor操作实现该需求?
实际场景补充
实际场景中,数据集2来自电子表格,数据集1来自数据集市。尝试用Power Query Editor的M语言关联时,会强制切换到Import模式,处理2000万行数据时Power BI直接无响应,不得不终止进程,最终数据量可能达到数亿行。
现提出以下问题:
- 能否通过DAX实现关联,同时保持数据集市部分处于Direct Query模式?
- 该方案是否仍会导致过高的计算资源消耗?(注:当前在IBM Cognos Analytics中实现该需求仅需等待约18分钟,且无需上传400GB数据集至报表服务器)
- 除Power Automate外,Power BI生态系统中还有哪些工具可以解决这个问题?
内容的提问来源于stack exchange,提问作者dougp
相关产品推荐
相关产品推荐

