但是我从网络上看我找不到一个简单的(!)例子来展示如何使用和有一个将在 WHERE 中使用动态参数值的 SQL 查询。
我正在寻找的是最终用户能够更改电子表格(ParameterTable?)列中的值并使用此新值作为参数来刷新数据。
也许一个例子最能说明我所追求的。
我将在 excel 中创建一个包含两列的表格,分别命名为 ParameterName 和 ParameterValue。然后这些将具有值 PARM1 和 1 (抱歉,我似乎无法在此处发布图片)
查询可能是这样的,所以如果 1=1 检索当前日期 (这是 oracle 但对于大多数其他数据库应该是相同的)
SELECT SYSDATE FROM DUAL WHERE 1 = 1;
我应该如何更改以上内容以便它使用 ParamaterName 和 ParameterValue,即最右边的“1”可以动态更改为任何值。如果该值不是“1”,则不会返回任何结果。
提前致谢
最佳答案
我有另一种方法可以将参数传递到 Power Query。我确保它有效。
第一步:在excel中创建一个名为“Infodesk”的表,也可以随意命名。我的表“Infodesk”包含“脚本”列,我将 SQL 脚本放在该列中。
第二步:创建一个空白的Power Query,点击Advance Editor,输入以下代码
let
Source = Sql.Database("192.168.23.81", "dbo.name", [Query= Excel.CurrentWorkbook(){[Name="Infodesk"]}[Content][Script]{0}])
in
Source
然后,运行您的查询。代码 [Script]{0}] 将从第一行获取数据,您可以在列中放置多个脚本,然后更改 {0} >> {1} 或 {2} ...以从其他行获取数据。
为了更改 SQL 脚本中的任何参数,您可以使用 excel 函数 =CONCATENATE() 将多个 excel 单元格组合成一个完整的 SQL。
关于sql - Excel 2013 power query - 带有动态参数的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29322381/