如何在SSRS查询中使用Snowflake参数

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

如何在 SSRS 查询中使用 Snowflake 参数?我在 SSRS 中尝试了不同的方法,但无法使其工作。

来自 Snowflake sql 日期参数的示例,因为我在 SSRS 报告中定义了开始和结束日期参数。在连接到 Snowflake 的查询文本中。

WHERE MyDate BETWEEN :Start_Date AND :End_Date > Got compile error :Start_Date not set.

将日期参数行为更改为

WHERE MyDate BETWWEN ? AND ? > Got an compile error @Start is not recognized.

实际上,我将代码嵌入到 SSRS 查询中。请指教

reporting-services
2个回答
0
投票

您需要将其用作

MyDate 在 @Start_Date 和 @End_Date 之间


0
投票

如果您发送的是一次性使用,这实际上取决于参数的类型。我通常使用 set 语句和 ?

来完成此操作

示例:

Set vStartDate = ?

Select vStartDate

然后在数据集属性一侧的参数菜单中分配 ?到无论什么 姓名=? 值=@ParameterStartDate

较难的和我要绕圈的都是多值的。对于那些我一直在用表达式设置参数部分

=Join(Parameters!ParamLocation.Value,",")

然后在代码本身中我一直在设置 CTE。它会抛出错误,并且不会为您刷新字段:),但您可以在数据集属性中自动添加字段,或者编写不带参数的查询来获取字段,然后添加它们而不刷新。我只是忽略错误“OK”

WITH LOC_FILTER AS (
    SELECT TO_NUMBER(table2.VALUE) AS LOC_ID
    FROM TABLE(SPLIT_to_table(? ,',')) AS table2
    )   

SELECT top 10 LOC_ID  FROM LOC_FILTER 

我实际上正在寻找一个更好的解决方案,但我见过的唯一的另一个解决方案是将整个查询放入一个表达式中并将其交给雪花,我的问题是大多数我的代码达到了表达式限制并且无法通过:(

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