我有一个每天刷新的点火报告,这个刷新增加了一个工作日(即6/21,下一次刷新将增加6/22,依此类推)。我希望我的过滤器(范围过滤器)始终指向默认的最新日期(即今天它将指向6/21,明天6/22等等)我该如何实现?
答案 0 :(得分:2)
另一种方法是使用计算列为“最大日期”生成过滤器。每次刷新数据时,都会重新计算此计算列。
例如,如果使用此计算创建列:
if([mydateColumn] = Max([mydateColumn]),“是”,“否”)
只需将过滤器设置为“是”,当数据刷新时,仪表板将始终默认显示最新日期。
答案 1 :(得分:1)
我有两种不同的方法:使用属性更改激活Python脚本或按可视化按钮或表达式。
如果您想要编写Python脚本并且不介意用户/您自己单击按钮或已经更改了文档属性,您可以触发它们,那么试试这个:
TABLE是我针对更改的表的参数。但是,您可以遍历表格或在代码中专门调用它。
from Spotfire.Dxp.Application.Filters import RangeFilter
from Spotfire.Dxp.Application.Filters import ValueRange
for scheme in Document.FilteringSchemes:
#get our RadioButtonFilter; Other filter types work as well
filt = scheme.Item[TABLE].Item[TABLE.Columns.Item["DATE_COL"]].As[RangeFilter]()
#filt will be NoneType if that column is a different filter type
if filt is not None:
top = filt.ValueRange.High
#Set the lower and upper bound to the existing upper bound
filt.ValueRange = ValueRange(top,top)
或者,如果您希望在没有任何脚本的情况下单独设置它,则可以使用以下表达式单独过滤每个可视化,并将以下表达式放置在可视化属性的“数据”选项卡下的“按表达式限制”部分中:
[DATE_COL] = Date(DateTimeNow())
Python的优势在于覆盖整个文档(包括新创建的视觉效果),但需要一个按钮来设置它,或者需要使用Javascript来自动化它,这可能会导致您想要使用表达式限制选项。
在我以前的一个答案中,我使用JavaScript来自动点击python脚本按钮:Spotfire Export Automatically。我遇到了一些问题,JS没有在网络播放器中工作,但可能是我们如何在这里设置我们的网络播放器服务器的跨站点问题。虽然可以肯定在桌面版中运行良好。