![](/img/trans.png)
[英]SQL Query Filter to locate DUPLICATES in a column based on Values in 2 other columns
[英]Power Query to Filter a SQL view based on an Excel column list
有没有一种方法可以使用Power Query根据excel表列中的值列表过滤SQL视图?
我有一个SQL视图,该视图返回大量数据(数百万条记录或属性)。 用户希望基于属性ID的excel表列进行过滤。 我知道我可以基于视图和Power查询中的excel列之间的属性ID进行合并联接。 但是合并似乎首先带来了数百万条记录,然后在联接中对其进行了过滤。 这需要很长时间。 用户希望每天动态更改propertyID列表并运行查询。
本质上,我想在Excel Power查询中创建SQL中的内容
SELECT * FROM SQLViewName
WHERE PropertyID IN (Select Column from ExcelTable)
您应该能够使用List.Contains
函数执行此操作。
如果我的ExcelTable
是
ID
---
436
437
438
439
然后添加这样的过滤器就可以解决问题:
Table.SelectRows(SQLViewName, each List.Contains(ExcelTable[ID], [PropertyID]))
当我尝试此操作并在最后应用的步骤中执行“查看本机查询”时,它会将Excel表折叠为WHERE
子句,其中ExcelTable
值作为文字,如下所示:
select [_].[PropertyID],
[_].[OtherColumns]
from [dbo].[SQLViewName] as [_]
where [_].[PropertyID] in (436, 437, 438, 439)
这使我可以在短短几秒钟内加载数百万行的表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.