Snowflake+Power BI Direct Query列表参数报错:无法对文本与列表应用&运算符
解决Power BI Direct Query中数值列表作为IN参数的错误
错误原因:直接将数值列表YEAR拼接进SQL字符串时,&操作符仅支持文本类型拼接,无法直接处理列表类型,因此抛出类型不匹配错误。
修改方案:先将数值列表转换为逗号分隔的文本字符串,再拼接进SQL语句:
- 使用
List.Transform把列表中的每个数值转为文本类型 - 使用
Text.Combine将转换后的文本列表合并为单个逗号分隔的字符串
修改后的完整查询代码:
= Value.NativeQuery( Snowflake.Databases("abcd.east-us-2.ADIC.snowflakecomputing.com","DATABRICKS"){[Name="SUPER"]}[Data], "select * from SUPER.SCHEMA1.INT_HIST WHERE YEAR IN (" & Text.Combine(List.Transform(YEAR, Text.From), ", ") & ")", null, [EnableFolding=true] )
说明:处理后的SQL语句会生成WHERE YEAR IN (2020, 2021, 2022)的格式,符合Snowflake的语法要求,同时保留查询折叠功能。
内容的提问来源于stack exchange,提问作者Nash
相关产品推荐
相关产品推荐

