reporting-services - 通过带有用户参数的 SSRS 进行 RedShift 查询:说什么?
问题描述
我正在尝试创建一个查询来获取指定时间范围内的记录,因此BETWEEN
. 但是,我需要从用户可以指定 endDate 和 startDate 参数的交互式报告中执行此操作。
我读过 RedShift 可能不一定支持变量或参数,我可能需要使用临时表,但我的要求是用户可以传入值。我对使用具有预定义值的临时表如何允许将不确定值传递给基本查询感到困惑......
这是我最初的尝试(不要笑)
prepare prep_select_plan(date)
AS select TOP 10 * from table WHERE date BETWEEN $1 AND $2;
EXECUTE prep_select_plan(@startDate);
EXECUTE prep_select_plan(@endDate);
DEALLOCATE prep_select_plan;
是否有另一个平台可以让我创建一个基于 Web 的交互式报告,并且能够让最终用户输入参数值?
更新* 我附加了数据集属性窗口以获取有关如何将值传递给 RedShift 查询的反馈。
解决方案
当使用 ODBC 连接到 RedShift 或 MySQL 等数据库时,您必须对参数使用更通用的语法。?
您只需在查询中使用 a,而不是使用 @ 符号和参数名称。例如,一行如下所示:
EXECUTE prep_select_plan(?);
您可以将哪些报表参数映射到数据集属性的参数选项卡中的查询参数。参数只是按照它们出现的顺序映射,您不能在查询中的多个位置引用相同的名称。它不是用户友好的,但 SSRS 主要设计用于与 SQL Server 一起使用。