TIBCO SPOTFIRE 7.5—如何使用复选框值设置文档属性

TIBCO SPOTFIRE 7.5—如何使用复选框值设置文档属性,spotfire,Spotfire,在TIBCO SPOTFIRE 7.5中,我在设置文档属性时遇到了一个问题,即在复选框中选择了值:我必须在2个复选框过滤器之间使用“或”子句(它始终在“和”中工作),因此我想设置2个文档属性,并在限制表达式中使用它们 有人能帮我吗 Tnx我将在这里列出两种可能的答案,它们的复杂性不同。使用哪种解决方案取决于您的需求对您可以使用的UI控件的强烈程度 选项1-使用属性控件 向文本区域添加两个属性控件,以设置将用于限制数据的文档属性。每个属性控件都将设置为从数据中的列中选择值,例如电影示例数据: 使

在TIBCO SPOTFIRE 7.5中,我在设置文档属性时遇到了一个问题,即在复选框中选择了值:我必须在2个复选框过滤器之间使用“或”子句(它始终在“和”中工作),因此我想设置2个文档属性,并在限制表达式中使用它们

有人能帮我吗


Tnx

我将在这里列出两种可能的答案,它们的复杂性不同。使用哪种解决方案取决于您的需求对您可以使用的UI控件的强烈程度

选项1-使用属性控件 向文本区域添加两个属性控件,以设置将用于限制数据的文档属性。每个属性控件都将设置为从数据中的列中选择值,例如电影示例数据:

使用上面的两个属性控件,向可视化添加数据限制表达式(可视化属性->数据->使用表达式限制数据)。如下设置表达式:

[Actor] = "${Actor}" OR [Actress] = "${Actress}"
这里我使用列[Actor]来匹配文档属性Actor的值,或者使用列[Actor]来匹配文档属性Actor的值

选项2-使用JavaScript 如果你真的需要用户界面成为一个复选框,那么就没有Spotfire控件来处理这个问题。如果您需要允许用户做出的选择是静态的,那么这个选项相当简单。如果需要基于数据的选项,则需要更多的工作

让我们从静态案例开始。在文本区域中,添加一个输入字段,然后将html修改为类似以下内容:

<label><input type="checkbox" value="check1"> Checkbox1</label><br>
<label><input type="checkbox" value="check2"> Checkbox2</label><br>
<label><input type="checkbox" value="check3"> Checkbox3</label><br>

<div id='mySpotfireControl' style='display:none'>
  <SpotfireControl id="344f7da2bc5d4baca88c7e76cb7d429b" />
</div>
$("input[type='checkbox']").change(function(){
  var jsValue = $(this).val();
  $('#mySpotfireControl input').val(jsValue).blur()
})
这将把值从复选框移到Spotfire文档属性中。从这里,您可以添加一个与使用上述解决方案1时相同的限制表达式


如果需要生成可用的复选框集,则需要动态生成文本区域的html。您可以编写一个IronPython脚本来检查当前数据,并为文本区域创建html。这个IronPython脚本需要以某种方式被调用,如果您希望它完全自动,您可以从打开分析时运行的数据函数中触发它。

文档属性的名称以及要过滤它们的相应列是什么?您在哪里尝试筛选这些(交叉表、条形图等)?谢谢,但这样我必须使用列表框而不是复选框。我的客户端要求使用复选框…@GraziaPalmisano-我已经添加了一个说明,说明如何在一些javascript的帮助下使用复选框。我希望这对你有用。如果您需要我详细说明某一点,请告诉我。