2015-04-01 88 views
1

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

mySummaryTable.CategoryAxis = "<[myColumn]>" 

但是,这将引发一个错误:

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

我使用Axis或CategoricalAxisBase等,性能也尝试过,但这些选项都没有锻炼。如果有人对此有更多想法,请告诉我。谢谢。 RD

回答

1

这里的关键问题是Summary Table类下面的CategoryAxis属性是GroupByAxis类的此视觉对象的GET。您可以使用打印命令和获取信息的有关对象的看到这一点:

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

相关问题