Spotfire® 用户指南

自定义查询中的参数

在数据连接的自定义查询中,如果您希望查询可根据一个或多个变量的值检索不同的结果,则可以将查询设置为使用参数。例如,您可以将参数映射到文本区域中的某个属性控件。

使用语法 ?parametername 引用参数,其中 parametername 是为参数选择的名称。需在“自定义查询”对话框的“参数”选项卡上为参数定义数据类型。

示例
SELECT Col1, Col2 FROM Table WHERE Col1 > ?Param1
注: 您不能使用参数控制要从哪个数据库表中选择数据。例如,不能编写下面这样的自定义查询:
SELECT * FROM ?parametername

原因是参数不能存储表标识符。字符串和表标识符在 SQL 查询中的处理方式通常不同。

向自定义查询添加参数

要在自定义查询中使用参数,您必须在查询中调用该参数,并在“自定义查询”对话框中配置该参数。

开始之前

  • 要了解有关创建和编写自定义查询的更多信息,请参见自定义查询

过程

  1. 要创建自定义查询,请按照在数据连接中添加自定义查询中的步骤操作。
  2. “自定义查询”对话框中,编写您的查询。如果希望调用查询中的参数,请在参数名称的前面为其指定一个问号。
    例如:
    SELECT Col1, Col2 FROM Table WHERE Col1 > ?Param1
  3. “参数”选项卡上,添加并指定查询中的所有参数。要添加参数,请单击“新建”
  4. “新建参数”对话框中,输入参数的信息:名称、Spotfire 数据类型,以及外部数据源中的数据类型。
  5. 要保存更改并关闭“自定义查询”对话框,请单击“确定”

结合参数使用自定义查询

数据类型和参数

在许多情况下,多个数据库数据类型将映射到一个 Spotfire 数据类型。例如,Microsoft SQL Server 的数据类型 varcharnvarchartextntext 等将全部映射到 Spotfire 数据类型 String。在这些情况下,当您声明参数类型时,还可以指定外部系统中的数据类型。也就是说,可以有一个 Spotfire 数据类型为 String 的参数,但在外部系统中该参数的数据类型为 nvarchar。尽管 Spotfire 无法自动映射参数的外部类型,但手动指定外部类型可以使查询更有效。如果 Spotfire 类型和外部类型之间有一对一映射,则将禁用外部类型下拉列表。

个性化参数

假如您和分析的最终用户都登录到 Spotfire Server,您也可以将一个或多个预先定义的参数(current_usercurrent_groupscurrent_user_domain)用于个性化查询,可以通过选择“使用参数进行个性化查询(用户和组)”复选框来启用这些参数。这些参数的工作方式与从 Information Designer 使用它们时的工作方式相同,请参见个性化信息链接下的相关描述。

选中该复选框后,可以在自定义查询中使用个性化查询参数。这些参数类型在 Spotfire 中始终为 String,且外部类型为默认值,例如,在 Microsoft SQL Server 中为 NVARCHAR