sql - Excel 2013 power query - 带有动态参数的 SQL 查询

标签 sql dynamic parameters where-clause powerquery

但是我从网络上看我找不到一个简单的(!)例子来展示如何使用和有一个将在 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/

相关文章:

sql - 使用 sysschedules 类似事件表 SQL Server

php - 2 COUNT 个查询乘以结果

c++ - 在 C++ 中,您可以在子类中扩展具有不同参数值的参数化基类吗?

parameters - 在 Jenkins/Hudson 中当前打开的工作的显示名称

sql - 对AS400上的多成员文件进行SQL查询

sql - 优化多列 LIKE SQL 查询的一些最佳实践是什么?

使用 DynamicObject 的 Linq

c - 使用 realloc 扩展结构数组

PHP - 无法将图像名称添加到数据库表

php - 基本参数题