使用spotfire的相对日期的日期过滤器和输入框

时间:2017-05-01 15:01:33

标签: python date ironpython spotfire

有人可以帮我创建一些允许我选择相对时间段的东西(最后7天,14天,30天的输入框)以及使用SPOTFIRE中的日期过滤器选择特定日期范围的功能吗?

我有想法,但看起来我需要编写一个python脚本。没有经验。感谢任何帮助。

我可能想做的是:

编写一个在输入框更新时更新的脚本。首先检查脚本以查看值是0还是null(取决于您选择的位置)。如果是,它将删除可视化的数据限制表达式。如果输入框中包含有效值,则需要(a)重置日期过滤器以选择所有值,并(b)将可视化的数据限制表达式设置为[Date] > Max(DateAdd(‘dd’, -${p.NumberOfDays}, [Date]))

2 个答案:

答案 0 :(得分:0)

小心问XY Problems,但在您的情况下,您可以在Limit Data Using Expression框中使用此表达式,以便可视化对象产生影响。

[Date] >= DateAdd('dd', ${p.NumberOfDays} * -1, [Date])
AND
[Date] < DateTimeNow()

注意,如果[Date]是DateTime类型,则需要将其强制转换为日期以消除缺少的部分日期。

[Date] >= DateAdd('dd', ${p.NumberOfDays} * -1, Cast([Date] as Date))
AND
Cast([Date] as Date) <= Cast(DateTimeNow() as Date)

答案 1 :(得分:0)

我使用了这里详述的技术: https://community.tibco.com/questions/calculated-date-filters

我在文本区域创建了一个下拉列表控件,命名属性为NextNDays并设置了Expressions =

接下来的30天:
显示名称=“下30天”
Expression =“If(DateDiff('day',DateTimeNow(),[MY_DATE_FIELD])&lt; 31和[MY_DATE_FIELD]&gt; DateTimeNow(),True)”

接下来的60天:
显示名称=“下一个60天”
Expression =“If(DateDiff('day',DateTimeNow(),[MY_DATE_FIELD])&lt; 61和[MY_DATE_FIELD]&gt; DateTimeNow(),True)”