2016-06-14 238 views
-1

因此,我正在处理两个查询,一个来自Oracle数据库和另一个SQL Server数据库。我试图通过Power Query使用PowerBI作为两者之间的交叉。由于Oracle数据库的大小,我在运行时遇到了问题,所以我的想法是使用一个查询作为另一个查询的子句/子查询来限制结果的数量。如何在Power Query中使用M进行子查询/ Power BI

基于MSFT的M语言的逻辑,我假设有一种方法来做另一个子查询,但我还没弄明白。有没有人有任何想法如何做到这一点?

+2

是否有真正的问题埋在那里? –

+0

使它更像一个问题。 – user2659035

回答

0

我会尝试使用合并命令。我更像是一个UI用户,所以我会点击Merge按钮。这会产生一个PQL语句Table.Join

https://msdn.microsoft.com/en-us/library/mt260788.aspx

设置加入一种将限制输出匹配的行。

我说你的建议查询设计的尝试可能会减慢你的查询,而不是改善它。我希望PQ针对2台服务器运行这两个查询并下载其所有数据,然后尝试加入内存。

1

我学会做的是创建一个连接到两个卧底数据集,但不加载它们。然后您可以合并它们,但不要使用默认的Table.NestedJoin()

后,PQ生成此,将其更改为:

= Table.Join(dbo_SCADocument,{"VisitID"},VISIT_KEY,{"VisitID"})

也删除尾随名称。原因是,它保持查询折叠活着。由于某种原因,Table.NestedJoin()杀死了查询折叠。请注意,如果除联接以外的其他两个来源中有相似的字段,它将会失败。

它也带来了一切从这两个来源,但很容易改变。此外,您还需要关闭功能防火墙,因为这不允许您将潜在敏感数据与不敏感数据结合在一起。这是设置您的隐私级别忽略所有。