树图表达式中属性的语法-spotfire Analysis10.8



我正在尝试创建一个带有用户输入的树映射,用于在层次结构中选择列。我有三个(下拉(文档属性,分别称为treemap1、treemap2和&treemap3,每个值都是带列名的字符串。我很难找到层次轴的表达式。如果我使用。。。

<${treemap1} NEST ${treemap2} NEST ${treemap3}>

可视化效果良好。然而,我想为第二个&第三个控件,但当我这样做时,一旦其中一个设置为"none",可视化就不会呈现,并给出错误"NEST之后表达式无效…"。这是有道理的,因为[column] NEST null NEST null不是有效的表达式。因此,我想添加一个case语句来解决这个问题,检查空值并相应地更改表达式。我试过各种各样的排列方式:

<
case    
when "${treemap2}" ="" and "${treemap3}" ="" then ${treemap1}
when "${treemap2}" ="" then ${treemap1} NEST ${treemap3}
when "${treemap3}" ="" then ${treemap1} NEST ${treemap2}
else ${treemap1} NEST ${treemap2} NEST ${treemap3}
end
>

但它从不允许我保存,总是返回"第4行NEST之后的表达式无效"。我认为这是一个语法问题,但我被卡住了。所以我的问题是:1(我可以在分类轴上这样使用案例陈述吗?2(如果可以,Spotfire需要改变什么才能接受它?

提前感谢。。。

最好添加3个按钮,每个按钮都与一个ironpython脚本相关,该脚本将可视化作为参数(我们称之为vis(。

from Spotfire.Dxp.Application.Visuals import Treemap
vis.As[Treemap]().HierarchyAxis.Expression = "<${treemap1} NEST ${treemap2} NEST ${treemap3}>"

对另外两个执行相同操作,表达式为<${treemap1} NEST ${treemap2}><${treemap1}>


通过将表达式设置为参数(我们称之为e(,您甚至可以为这三个按钮只有一个脚本:

from Spotfire.Dxp.Application.Visuals import Treemap
vis.As[Treemap]().HierarchyAxis.Expression = e