【问题标题】:Excel Power Query Parameterized IN Clause for SQL用于 SQL 的 Excel Power Query 参数化 IN 子句
【发布时间】:2019-05-14 14:54:41
【问题描述】:

我有一个 Excel 工作簿,它使用 SQL 语句从 ODBC 数据源获取数据,该 SQL 语句在 Where 语句中具有 IN 子句。在 Power Query 编辑器中,我输入了我的 ODBC DSN 和下面的 SQL。我想用 Excel 表中的列中的值替换 IN 子句。我该怎么做。

选择 PYRL_NO、EMP_LST_NM 姓氏、EMP_FIR_NM 名字、STS_CD 状态 ,STS_EFF_DT 状态日期, UNN_CD 联合代码 来自 OFSPROD.AG_EMP_MSTR WHERE PYRL_NO IN ('00008','00016') 按 PYRL_NO 订购

【问题讨论】:

  • 您的后端 DBMS 是什么?从 DSN 名称看,它似乎是 DB2。请标记。 ODBC 只是一个将 Excel 等应用程序连接到数据库等数据源的层。

标签: sql excel odbc parameter-passing powerquery


【解决方案1】:

将您的 excel 表加载到 Power Query 中,如有必要,为值添加前缀/后缀,然后将该列转换为 IN 语句中的字符串。它看起来像这样(我相信这必须在功能栏或高级编辑器中完成,而不是在 ODBC 连接的属性中完成):

"
SELECT PYRL_NO, EMP_LST_NM LastName, EMP_FIR_NM FirstName, STS_CD Status ,STS_EFF_DT StatusDate, UNN_CD UnionCode 
FROM OFSPROD.AG_EMP_MSTR 
WHERE PYRL_NO IN (" & Text.Combine(MyTable[MyColumn], ",") & ") 
ORDER BY PYRL_NO
"

【讨论】:

    猜你喜欢
    • 2010-09-25
    • 2023-03-19
    相关资源
    最近更新 更多