簡體   English   中英

將變量傳遞到 Excel Power Query 中的 SQL 查詢中

[英]Pass a variable into a SQL query in Excel Power Query

長話短說,我有一個 sql 查詢將數據從數據庫中提取到電子表格中。 我希望能夠通過 Power Query 更改查詢中的 Plant 過濾器,我嘗試使用自定義 function 並將其添加到設置變量的查詢中(見下文)

Sql.Database("server", "database", [Query="DECLARE @FilterOnPlant AS varchar(3)#(lf)SET @FilterOnPlant = '" + filterOnPlant + "'#(lf)#(lf)SELECT 

在這樣做時,我不斷收到以下錯誤:

Expression.Error: We cannot apply operator + to types Text and Table.
Details:
    Operator=+
    Left=DECLARE @FilterOnPlant AS varchar(3)
SET @FilterOnPlant = '
    Right=[Table]

我認為這與使用的“+”運算符有關,但找不到替代方案。

我試過使用:

  • '&'
  • '+'
  • '和'

但它們都產生相同的錯誤(“和”除外,該錯誤表明它沒有在有意義的邏輯語句中使用)

欲了解更多信息:

獲得我想要的值的自定義 function 是:

filterOnPlant = Excel.CurrentWorkbook(){[Name="Active_Plant"]}[Content]

目的是從名為“Active_Plant”的單元格中獲取值

編輯:

經過進一步測試后,我發現問題出在變量 filterOnPlant 上,當我將其交換為字符串值時,查詢按預期工作。 如果有人知道我如何獲得 CELL().Value of a named range in power query 將非常有幫助

解決了!

在我的 filterOnPlant function 我缺少{0}[Column1]

原文: filterOnPlant = Excel.CurrentWorkbook(){[Name="Active_Plant"]}[Content]

新(工作): filterOnPlant = Excel.CurrentWorkbook(){[Name="Active_Plant"]}[Content]{0}[Column1]

暫無
暫無

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

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