我正在尝试使用脚本“网格”汇总表。 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/