spotfire - 在 Spotfire 中,如何使用 IronPython 脚本对汇总表进行网格化

标签 spotfire

我正在尝试使用脚本“网格”汇总表。 TrellisVisualization 不适用于 SummaryTable 类。使用 GUI,我可以通过将特定列分配给“列属性”下的“分类”属性来构建汇总表。但是,在使用 IronPython 脚本时,我没有看到 SummaryTable 对象有任何名为 Categorization 的属性。因此,我尝试将列分配给 CategoryAxis,如下所示:

    mySummaryTable.CategoryAxis = "<[myColumn]>"

但这会引发错误:

    AttributeError: 'SummaryTable' object has no attribute 'CategoryAxis'

我还尝试使用 Axis 或 CategoricalAxisBase 等作为属性,但这些选项不起作用。如果有人对此有更多想法,请告诉我。谢谢。 研发

最佳答案

这里的关键问题是,Summary Table 类下的 CategoryAxis 属性是该视觉对象的 GroupByAxis 类的 GET。您可以通过使用 print 命令并获取有关该对象的信息来查看这一点:

print mySummaryTable.CategoryAxis

我的 Spotfire 示例中的结果:
<Spotfire.Dxp.Application.Visuals.GroupByAxis object at 0x000000000000002C [Spotfire.Dxp.Application.Visuals.GroupByAxis]>

不过你们实际上已经很接近了。为了设置 CategoryAxis,您需要设置 CategoryAxis 的 Expression 属性,如下所示:

from Spotfire.Dxp.Application.Visuals import SummaryTable

mySummaryTable = myVisual.As[SummaryTable]()
mySummaryTable.CategoryAxis.Expression = "<[COLUMN]>"

如果您需要将实际的列名称传递给其中而不是硬编码,我会连接表达式语法并将表达式设置为等于该变量:

myColumnExp = "<[" + myColumnName + "]>"
mySummaryTable.CategoryAxis.Expression = myColumnExp

如果您需要对此进行任何澄清,请告诉我。我的 Spotfire 版本是 v6.5.2.26,我的 API 信息来自 https://docs.tibco.com/pub/doc_remote/spotfire/6.5.0/api/Index.aspx

关于spotfire - 在 Spotfire 中,如何使用 IronPython 脚本对汇总表进行网格化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29402463/

相关文章:

scripting - Spotfire:根据另一个表中的标记添加具有值的列

apache - 无法访问 Spotfire 服务器 - 没有 Web 界面(只能使用 SSH)

javascript - 有没有办法通过单击按钮从 Spotfire 发送电子邮件?

javascript - 单击/选择时 Spotfire 按钮会改变颜色

filtering - 需要 IronPython 代码在 Spotfire 中输出过滤方案

Spotfire如何获取列中的最后一个值?

python - Spotfire:使用 IronPython 更改计算列中的公式

ironpython - Spotfire IronPython 设置文档属性

width - Spotfire 表可视化列宽

datatable - Spotfire - 如何对数据表列中唯一的未过滤值进行属性控制