我有一个Excel工作簿,它使用SQL语句从ODBC数据源获取数据,该SQL语句在Where语句中具有IN子句。在Power Query Editor中,我在下面输入了ODBC DSN和SQL。我想将IN子句替换为Excel表中一列的值。我该怎么做。
选择PYRL_NO,EMP_LST_NM姓,EMP_FIR_NM姓,STS_CD状态
,STS_EFF_DT StatusDate,UNN_CD联合代码
来自OFSPROD.AG_EMP_MSTR
PYRL_NO IN('00008','00016')
订购PYRL_NO
答案 0 :(得分:0)
将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
"