自定义查询中的参数
在数据连接的自定义查询中,如果您希望查询可根据一个或多个变量的值检索不同的结果,则可以将查询设置为使用参数。例如,您可以将参数映射到文本区域中的某个属性控件。
使用语法 ?parametername
引用参数,其中 parametername
是为参数选择的名称。需在“自定义查询”对话框的“参数”选项卡上为参数定义数据类型。
SELECT Col1, Col2 FROM Table WHERE Col1 > ?Param1
SELECT * FROM ?parametername
原因是参数不能存储表标识符。字符串和表标识符在 SQL 查询中的处理方式通常不同。
向自定义查询添加参数
结合参数使用自定义查询
数据类型和参数
在许多情况下,多个数据库数据类型将映射到一个 Spotfire 数据类型。例如,Microsoft SQL Server 的数据类型 varchar
、nvarchar
、text
、ntext
等将全部映射到 Spotfire 数据类型 String
。在这些情况下,当您声明参数类型时,还可以指定外部系统中的数据类型。也就是说,可以有一个 Spotfire 数据类型为 String
的参数,但在外部系统中该参数的数据类型为 nvarchar
。尽管 Spotfire 无法自动映射参数的外部类型,但手动指定外部类型可以使查询更有效。如果 Spotfire 类型和外部类型之间有一对一映射,则将禁用外部类型下拉列表。
个性化参数
假如您和分析的最终用户都登录到 Spotfire Server,您也可以将一个或多个预先定义的参数(current_user
、current_groups
和 current_user_domain
)用于个性化查询,可以通过选择“使用参数进行个性化查询(用户和组)”复选框来启用这些参数。这些参数的工作方式与从 Information Designer 使用它们时的工作方式相同,请参见个性化信息链接下的相关描述。
选中该复选框后,可以在自定义查询中使用个性化查询参数。这些参数类型在 Spotfire 中始终为 String
,且外部类型为默认值,例如,在 Microsoft SQL Server 中为 NVARCHAR
。