繁体   English   中英

树状图表达式中属性的语法 - spotfire 分析员 10.8

[英]syntax for properties in treemap expressions - spotfire analyst 10.8

我正在尝试使用用户输入创建一个树状图,用于层次结构中的列选择。 我有三个(下拉)文档属性,称为 treemap1、treemap2 和 treemap3,每个属性的值都是带有列名的字符串。 我正在努力处理层次轴的表达式。 如果我用...

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

...可视化效果很好。 然而,我想为第二个和第三个控件添加一个“无”选项,但是当我这样做时,一旦将其中一个设置为“无”,可视化就不会呈现并给出错误“在 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) 我可以在分类轴上以这种方式使用 case 语句吗 2) 如果是这样,需要更改什么才能让 Spotfire 接受它?

提前致谢...

最好的办法是添加 3 个按钮,每个按钮都与一个以可视化为参数的 Ironpython 脚本相关联(我们称之为vis )。

from Spotfire.Dxp.Application.Visuals import Treemap

vis.As[Treemap]().HierarchyAxis.Expression = "<${treemap1} NEST ${treemap2} NEST ${treemap3}>"

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


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

from Spotfire.Dxp.Application.Visuals import Treemap

vis.As[Treemap]().HierarchyAxis.Expression = e

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM