簡體   English   中英

在excel中的odbc電源查詢中使用sql字符串作為sql語句

[英]Using sql string as sql statement in odbc power query in excel

我希望使用一個字符串,該字符串從我的單元格中接收一些參數並將其用作我的 sql 語句,如下所示:

" select * from table where " & data_from_cells & " group by ...;"

將其存儲為 sqlstring

let
mystring = sqlstring,
myQuery = Odbc.Query("driver={Oracle in etc etc etc", mystring)

我遇到了這個錯誤

Formula.Firewall: Query '...' (step 'myQuery') references other queries or steps, so it may not directly access a data source. Please rebuild this data combination.

現在顯然我不能將外部查詢和另一個查詢結合起來——但我只將 Excel 中傳遞的參數用於我的 sql 字符串? 我希望也使用WITH關鍵字來使用參數進行嵌套查詢,但它甚至不允許我將 excel 中的值與 sql 語句結合起來..

需要明確的是, data_from_cells被轉換並格式化為字符串。

當執行其他操作的其他查詢調用執行其他操作的查詢時,有時您會遇到防火牆問題。

解決這個問題的方法是在一個查詢中完成所有事情。

在不以可怕的代碼結束的情況下解決這個問題的方法是將您調用的查詢返回結果更改返回結果函數

對於 sqlstring:

() => " select * from table where " & data_from_cells & " group by ...;" // returns a function that gets the query string when called

那么你的“myQuery”查詢可以是

let
mystring = sqlstring(), //note the parentheses!
myQuery = Odbc.Query("driver={Oracle in etc etc etc", mystring)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM