解决Spotfire筛选行有时不自动更新的问题

在Spotfire中,当使用筛选行转换并基于输入框属性(min,max)设置条件后,新表可能不会自动更新。原因是筛选条件变化未影响原表数据。解决方案包括:1)在原表添加计算列,反映min和max的变动,以实现自动刷新;2)将更新方式设为手动,并使用刷新按钮进行更新。
摘要由CSDN通过智能技术生成

问题描述

Spotfire中的筛选行转换可以对数据进行筛选后生成新表,但有时筛选条件变更时,新表的数据不会自动更新,例如,原表为以下数据:

ID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

建立两个输入框属性:max & min,然后筛选行条件设置为:

([ID]>=DocumentProperty("min")) and ([ID]<=DocumentProperty("max"))

假设min 和 max输入9和15,可以生成如下新表:

ID
9
10
11
12
13
14
15

但当min和max的值改变时,新表不会自动发生变化,甚至增加一个刷新按钮(IronPython脚本:table.Refresh(),table为输入参数,选择对应数据表),结果仍然不变。

 原因分析:

经过测试,发现筛选行生成新表刷新方式默认为自动刷新,且激活刷新的条件为原表数据发生变化,但本案例中,min和max值发生变化时,原表数据并没有发生变化,因此新表也不会自动更新

 解决方案

方法1. 原表中添加计算列,将min和max值的变化映射到表中,例如可以将筛选行条件直接计算得到valid列(注意属性的引用方式和筛选行不同),再用这一列的值进行筛选(也可以不用,维持原来的筛选行条件,效果不变),可实现自动刷新

方法2. 将更新方式改为手动(取消选中自动更新复选框),再用刷新按钮刷新,可以实现手动刷新

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值