SSRS(雪花):按字符串选择/过滤列,其中包含逗号

问题描述 投票:0回答:1

我正在查询的表中的列的值为“183160,WELD”,“87491,WELD”,“874910,WELD”,“87491N,WELD”。

在 Snowflake 中,我从这个案例陈述开始:

When ProcedureCode In('183160,WELD', '87491,WELD', '874910,WELD', '87491N,WELD') Then 'CHL' 

虽然它在 Snowflake 中运行良好,但当我在 SSRS for Snowflake 中使用它时,它出错了。 [请参阅本文下面的 SSRS 错误消息。

相信ProcedureCode值中存在逗号这一事实存在问题,因此我将SQL切换为:

When (Left(cspc.procedureCode, 6) In ('183160', '874910', '87491N') And Right (cspc.procedureCode, 4) = 'WELD') Then 'CHL'
When (Left(cspc.procedureCode, 5) = '87491' And Right (cspc.procedureCode, 4) = 'WELD')) Then 'CHL'

这在 Snowflake 中也运行良好,但在 SSRS 中给了我类似的错误:

错误[22023] SQL编译错误: 无法转换参数 '((SUBSTR(SYS_VW.PROCEDURECODE_7, 1, 6)) IN ('183160', '874910', '87491N')) AND ((RIGHT(SYS_VW.PROCEDURECODE_7, 4)) = '焊接') 将类型 [BOOLEAN] 转换为预期类型 [VARCHAR (16777216)]

我最初想对 4 个值中的逗号使用转义字符,但我不知道如何做到这一点。

我注意到 SSRS 消息已将我的 Left() 函数“解释”为 SUBSTR() 函数,但不知道这是否意味着我需要将 LEFT() 更改为 SUBSTR()?

我也不确定错误消息中的“type [BOOLEAN]”指的是什么。

如果有任何有关如何解决此问题的帮助/指示,我将不胜感激。

reporting-services snowflake-cloud-data-platform
1个回答
0
投票

@NickW:这是@Talay - 在新的配置文件下操作,因为我被锁定在以前的配置文件之外并且无法恢复访问。我明白你在说什么,但不明白这是怎么发生的。您对我如何解决该问题有什么建议吗?由于我的 nre 个人资料的声誉为 0,因此我无法对您的回答发表评论。

© www.soinside.com 2019 - 2024. All rights reserved.