首页 > 解决方案 > 按需提供详细信息的 Spotfire 脚本

问题描述

IronPython 脚本用于处理由 4 个数据表中的任何一个生成的 2 个按需详细信息图: 我有一个散点图,我为此编写了一个脚本。该脚本允许最终用户显示来自任何一个的散点图8个选项..这个散点图总是来自一个数据表......它有两个关于需求图的更多细节,即折线图和条形图。这些折线图和条形图的数据表取决于用户从散点图下拉脚本中选择的内容。

我很困惑如何在脚本中添加数据表部分,因为目前,我的脚本具有以下结构:

如果用户从下拉列表中选择 A,则散点图 x 轴应该是这个散点图 y 轴应该是那个

else if 如果用户从下拉列表中选择 B:.. ..

我不确定如何将数据表部分从需求图的详细信息中放入,因为如果用户选择 A,则折线图/条形图来自数据表 A,如果用户选择 B,则折线图条形图来自 B 数据桌子..

标签: spotfire

解决方案


我相信您缺少此脚本,尽管您需要为每个可视化复制第 7-9 行;制作一个脚本参数(在本例中名为“tablePlot”)来识别有问题的可视化。从 DropDownList 返回的值应该是数据表的确切名称;如果不是,您将不得不执行额外的逻辑(即,case/if 语句)将变量“tblName”切换为正确的值。

from Spotfire.Dxp.Application.Visuals import *

myDocument=Application.Document

tblName = Document.Properties["DropDownListPropertyName"]

dt=tablePlot.As[VisualContent]()
newtbl = Document.Data.Tables.Item[tblName]
dt.Data.DataTableReference=newtbl

您说您已经整理好了轴,但作为对其他用户的更一般说明,如果您的列在每个数据表中都相同,或者如果您使用单独的属性来标识类别轴等,这个将是它的结束。如果没有,您将收到一条警报,告诉您旧的列名不存在,因此您也必须设置它们。


推荐阅读