【问题标题】:SSRS passing IN clause to RedshiftSSRS 将 IN 子句传递给 Redshift
【发布时间】:2021-03-05 12:26:33
【问题描述】:

我有一个类似于以下内容的查询,我正在尝试使用 SSRS 将其传递给 Redshift。 例子:

从 SSRS 到 Redshift 都可以正常工作。 从 MYTABLE 中选择 COLUMN1、COLUMN2,其中 COLUMN1 = ?

这仅返回一个与我在 SSRS 参数中输入的值相关的值。我需要的是以下内容,我正在努力寻找使用 Redshift 完成此操作的示例。

从 MYTABLE WHERE COLUMN1 IN (@parameter) 中选择 COLUMN1、COLUMN2

【问题讨论】:

  • 你试过SELECT COLUMN1, COLUMN2 FROM MYTABLE WHERE COLUMN1 IN (?) 吗?该参数应替换 ?就像它对 EQUALS 所做的那样。

标签: reporting-services amazon-redshift


【解决方案1】:

SSRS 不支持带有 ODBC 连接的 IN 子句中的多值参数。一种解决方法是像这样在WHERE 子句中格式化条件:

position(',' || column || ',' in ?) > 0

并像这样在数据集属性中传入参数值:

="," + Join(Parameters!Parameter.Value, ",") + ","

因此,报告获取选定值的数组,将它们连接成一个逗号分隔的字符串,然后让查询进行字符串搜索以检查匹配项。

【讨论】:

    猜你喜欢
    • 2012-10-18
    • 2020-04-23
    • 1970-01-01
    • 2016-01-12
    • 2012-09-21
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    相关资源
    最近更新 更多