Spotfire® Web 客户端用户指南

向文本区域或图表项目添加脚本操作

作为 Spotfire Analyst 用户(同时也是脚本作者),您可以使用已安装的客户端定义自己的脚本,并将这些脚本添加到文本区域中的操作控件,或者将其作为某些图表项目的单击操作。通过使用操作 mod 中包含的脚本,分析人员不必亲自创建脚本,他们可以添加由受信任的签名者开发的共享脚本。您可以使用这些脚本将简单的操作或工具纳入分析中,而无需将完整的 AddIns 部署到服务器。脚本对 Spotfire API 具有完全访问权限。

关于此任务

有关操作 mod 的更多信息,请参见开发 mod

出于安全原因,使用脚本有一些限制。有关更多信息,请参见脚本和数据函数的使用。脚本作者还应该确保将受信任脚本保存到库中,以便其他用户可以从他们的工作中受益。为了更容易进行共享,可以将脚本包含在签名的操作 mod 中。有关详细信息,请参见管理信任

有关在 Spotfire 中使用脚本的更多示例,另请参见 Community 中的在 Spotfire 中编写 IronPython 脚本

在 HTML 模式下,还可以通过编辑文本区域的 HTML 使用 JavaScript 添加一些功能。有关详细信息,请参见JavaScript 示例脚本

提示:Community 中,在文本区域编写自定义 JavaScript 代码的最佳做法一文简要介绍了如何在 Spotfire 中的文本区域使用 JavaScript。
注: 必须在已安装的客户端中创建文本区域。

开始之前

必须在分析中加载一些数据(在已安装的客户端中),并且分析必须处于“编辑”模式。

按照向文本区域添加操作添加单击图表项目时执行的操作中的步骤进行操作,并确保在步骤 3 中选择“脚本”

过程

  1. 在“操作控件”或“操作设置”对话框中的“可用脚本”下,单击所需的脚本。如果分析中没有任何可用脚本,您可以从操作 mod 文件 (*.mod)、从库中的操作 mod“添加”现有脚本,也可以添加之前保存在分析文件(本地或库中)中的脚本。如果您具有所需的权限,还可以定义新脚本。有关如何定义新脚本的提示,请参见下面的示例脚本工作流
    注: Spotfire 会将尝试导入的脚本与已存在的脚本进行比较。其脚本主体与现有脚本相同的脚本将无法导入,即便它有不同的名称。
    “注释”字段可包含关于脚本是否受信任的信息。您自己创建的脚本受信任,由“脚本作者”组成员另存为库中的受信任脚本的脚本也受信任。来自操作 mod 的脚本可以是受信任的,也可以是不受信任的,具体取决于您或管理员是否事先信任了 mod 或签名者。

    如果您直接从其他人那里收到包含脚本的分析文件,则该脚本将被列为“不受信任”。这并不意味着脚本一定包含任何不安全的资料,但您应在“编辑脚本”对话框中对此脚本进行检查,以确定是否信任此脚本。单击“编辑脚本”对话框中的“确定”后,该脚本将受信任。如果您确信所有脚本都是安全的,则可以转至“管理信任”并单击“全部信任”

    但是,出于安全原因,不能在 TIBCO Cloud Spotfire Web 客户端环境中使用脚本,除非它们来自受信任的操作 mod。在 Spotfire 内部部署 Web 客户端环境中,如果脚本来自受信任的操作 mod 或由“脚本作者”组成员另存为受信任脚本,则可以执行这些脚本。

  2. 单击“所选脚本的必要输入”字段中的每个参数(如果有),然后指定“所选参数的输入”。如果脚本需要某些类型的输入值,必须在可执行脚本之前指定这些输入值。不同参数类型具有不同输入设置。
    对于值参数,可以选择是直接键入基于文本的值或数字“值”,来将选定的参数与“属性”关联,还是通过“表达式”计算值。其他参数可能需要指定图表、页面或数据表才能使用。
  3. 定义所有脚本参数后,单击“确定”
  4. 如果是向文本区域中添加操作,请在完成后单击“保存”
  5. 如果是向文本区域中添加操作,请单击右上角的“关闭”以退出“编辑文本区域”对话框。

示例脚本工作流

以下是有关如何创建和使用 Spotfire 中一些示例脚本的详细信息。这些步骤还可以用作创建您自己的脚本时应如何操作的说明。另请参见IronPython 示例脚本

创建“更改图表标题”脚本

此示例显示如何添加更改图表标题的脚本。

关于此任务

有关如何访问“操作控件”对话框的信息,请参见向文本区域添加操作

过程

  1. “操作控件”对话框中,单击“添加” > “新建脚本”
  2. “新建脚本”对话框中,键入“脚本名称”“更改图表标题”
  3. “脚本”字段中,键入或粘贴脚本:
    visual.Title = title
  4. 单击“添加”
  5. “添加脚本参数”对话框中,输入 title 作为“名称”,然后在“类型”下选择“字符串”
    标题必须是可由简单的文本值、字符串属性或表达式定义的字符串。
  6. 如果需要,添加可用于测试脚本的调试值
  7. 单击“确定”
    “title”参数被添加到“脚本参数”列表。
  8. 单击“添加”定义第二个参数,在“添加脚本参数”对话框中输入 visual 作为“名称”,然后在“类型”下选择“图表”
    此参数用于说明要更改其标题的图表。
  9. 选择要在测试脚本时使用的调试值图表。
  10. 单击“确定”
    “visual”参数被添加到“脚本参数”列表。
  11. 如果需要,通过单击“运行脚本”可测试脚本。

    选定的图表标题将使用提供的调试值进行更新。单击“新建脚本”对话框中的“撤消”可恢复到旧标题。

  12. 单击“确定”

结果

“更改图表标题”脚本将被添加到“操作控件”对话框中的“可用脚本”列表中,已定义的参数将显示在“所选脚本列表的必要输入”列表中(只要在“可用脚本”列表中选择此脚本)。
提示: 要更改活动图表的标题,请使用以下脚本:
Document.ActiveVisualReference.Title = title

在文本区域中使用“更改图表标题”脚本

当您在操作控件中使用脚本时,可以定义如何为脚本的所有参数提供必要的输入。此示例显示如何在文本区域中的按钮上使用上一个示例中的脚本。

过程

  1. 按照上述步骤说明进行操作,并确保在“操作控件”对话框中选择了“更改图表标题”脚本。
  2. “操作控件”对话框中的“所选脚本的必要输入”下,单击参数 title
  3. “所选参数的输入”下,确定是否使用预定义的“值”、“属性”或“表达式”定义标题。在此示例中,单击“属性”以便能够使用属性控件更改标题。
  4. 单击“选择属性”
  5. “选择属性”对话框的“文档属性”选项卡上,单击“新建”
  6. “新建属性”对话框中,键入合适的“属性名称”,例如 Visualization.title
  7. “数据类型”下拉列表中,选择“字符串”
  8. 键入要作为属性的第一个(默认)值的。例如,My Visualization Title
  9. 单击“确定”关闭所有对话框。
    操作控件将被添加到文本区域。
  10. 编辑完文本区域后单击“保存”,然后关闭“编辑文本区域”对话框。
  11. 通过在文本区域中单击操作控件,可对其进行测试。
    提示: 反过来,可使用文本区域中的属性控件(例如,输入字段)来修改可控制图表标题的属性。有关如何添加属性控件的示例,请参见向文本区域添加属性控件在分析中使用文档、数据表或列属性



创建“更改筛选方案”脚本

此示例显示如何添加更改筛选方案的脚本。

关于此任务

请参见向文本区域添加操作

过程

  1. “操作控件”对话框中,单击“添加” > “新建脚本”
  2. “新建脚本”对话框中,键入“脚本名称”“更改筛选方案”
  3. “脚本”字段中,键入或粘贴脚本:
    from Spotfire.Dxp.Application.Filters import FilterPanel
    
    # Get hold of the filters panel for the current page.
    panels = Document.ActivePageReference.Panels
    # The return value and out parameters are returned as a tuple
    # in IronPython and can be bound with pattern matching.
    (found, filterPanel) = panels.TryGetPanel[FilterPanel]()
    
    # Find the filtering selection named "Filters2"
    # and set it as current.
    for filteringScheme in Document.FilteringSchemes:
       filteringSelection = filteringScheme.FilteringSelectionReference
       if filteringSelection.Name == "Filters2":
           filterPanel.FilteringSchemeReference = filteringScheme

    包含的示例脚本希望找到名为“Filters2”的筛选方案,并将活动页面的筛选方案更改为 Filters2 筛选方案。

  4. 单击“确定”以关闭“新建脚本”对话框。

在文本区域中使用“更改筛选方案”脚本

此示例显示如何在文本区域中的按钮上使用上一个示例中创建的脚本。

过程

  1. 确保已在“操作控件”对话框中选择“更改筛选方案”脚本。
  2. 单击“确定”
    此脚本无需最终用户的输入,但如果分析中没有“Filters2”筛选方案,单击活动控件后没有任何反应。
  3. 编辑完文本区域后单击“保存”,然后关闭“编辑文本区域”对话框。
  4. 通过在文本区域中单击操作控件,可对其进行测试。