2016-06-14 175 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()殺死了查詢摺疊。請注意,如果除聯接以外的其他兩個來源中有相似的字段,它將會失敗。

它也帶來了一切從這兩個來源,但很容易改變。此外,您還需要關閉功能防火牆,因爲這不允許您將潛在敏感數據與不敏感數據結合在一起。這是設置您的隱私級別忽略所有。