我在使用" in"时遇到问题本机查询中的运算符,其中in参数是通过钻取excel列表检索的列表:
let
var = Number.ToText(fnFuncao("externalcode")),
Coluna= Excel.CurrentWorkbook(){[Name="Pendente"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Coluna,{{"PARAMETER", Int64.Type}, {"INTERACTION_ID", Int64.Type}, {"INTERACTION_ITEM", Int64.Type}}),
INTERACTION_ID = #"Changed Type"[INTERACTION_ID][0],
Source = Oracle.Database("somp", [Query="select * from ish.ticket where interaction_id in (" & INTERACTION_ID & ") "])
in
Source
Error:
Expression.Error: We cannot apply operator & to types Text and List.
Details:
Operator=&
Left=select * from ish.ticket where interaction_id in (
Right=List
有什么方法可以解决这个问题吗? 谢谢!
答案 0 :(得分:3)
我不知道为什么INTERACTION_ID被视为列表。这两项更改应该可以解决您的问题:
#"Changed Type"[INTERACTION_ID]{0},
"select * from ish.ticket where interaction_id in (" & Number.ToText(INTERACTION_ID) & ")"
第一个更改使用列表访问运算符{}而不是记录访问运算符[]。第二个更改将INTERACTION_ID转换为Text值,以便可以使用&添加到其他Text值。