TIBCO Spotfire中的Over函数功能相当强大,很多业务场景中想要获得的计算方法和结果都能通过Over函数获得!这是Larry哥对Over函数的便签印象,要想玩溜Spotfire成为Spotfire人中高手,Over函数是必须掌握的!
本文是一篇非常棒的Over函数介绍文章:https://www.datafuel.co/2016/06/28/spotfire-over-function-examples-within-custom-expressions-of-visualizations/
此博客文章演示了使用OVER函数的自定义表达式的几个示例。
如果您还没有太理解Over函数,请参考如下使用OVER函数的示例文章:
关于这些表达的一些注释:
选项1:使用其中一个内置日期层次结构(或层次结构列)。例如,日期:年份>>月份,如下面的屏幕截图所示:
选项2:右键单击轴并选择“分类比例”
选项3:从“可视化属性”中,选择“X轴”(如果使用条形图,则为“类别轴”),“设置”,然后在“轴模式”下选择“分类”
OVER自定义表达式中的函数示例
示例1 - 图表上所有值的平均值
Avg([OIL]) OVER All([Axis.X])
示例2 - 本年度的总体情况
将日期轴设置为年>>月。日期层次结构,年份和月份中有2个级别。年份是月份的Parent(),因此年平均产量将是:
Avg([OIL]) OVER Parent([Axis.X])
示例3 - 图表上所有行的平均值 - 方法1
从数据中选择一行到Line By,然后选择Color By :(列名称)。此可视化需要Y轴上的2个系列:
Sum([OIL])
Avg([OIL]) OVER All([Axis.Line])
示例4 - 图表上所有行的平均值 - 方法2
这与示例3类似,但允许您以不同方式为每条线着色。在Color By轴上选择2列,其中一列是:(列名称)。此图表的唯一问题是您最终会出现重复的平均线。它不会影响图形,只会影响图例中的颜色(您必须将多个系列设置为相同的颜色)。
Avg([OIL]) OVER All([Axis.Color])
示例5 - 累积总和或运行总计
Sum([OIL]) OVER AllPrevious([Axis.X])
示例6 - 当前年度或年初至今总计的累计金额
Sum([OIL]) OVER Intersect(AllPrevious([Axis.X]), NavigatePeriod([Axis.X], "Year", 0, 0))
示例7 - 滚动平均值或移动平均值
3个月移动平均值(过去3个时间段的平均值)。只需调整LastPeriods中的数字即可更改您平均的句点数:
Avg([OIL]) OVER LastPeriods(3, [Axis.X])
示例8 - 当月与上个月的差异
将X轴设置为日期:年>>月。前面指的是X轴上的前1个周期,因此如果当前月份是6月,则下面的表达式将从6月减去5月。这也适用于其他日期层次结构,例如Year >> Quarter。
Sum([OIL]) - Sum([OIL]) OVER Previous([Axis.X])
示例9 - 当前月份与上一年度同一月份之间的差异
将X轴设置为日期:年>>月。ParallelPeriod指的是Parent节点上的1个前一个句点,它是Year,因为Year是Month的Parent。这也适用于其他日期层次结构,例如Year >> Quarter。
Sum([OIL]) - Sum([OIL]) OVER ParallelPeriod([Axis.X])
示例10 - 变化率或上个月的变化百分比
要手动计算百分比变化,我们使用以下等式:%Change =(y2-y1)/ y1。重新排列我们得到的等式:%Change = y2 / y1 - 1。将y1和y2替换为Spotfire函数,表达式变为:
(Sum([OIL]) / Sum([OIL]) OVER Previous([Axis.X])) - 1
如需要联系TIBCO原厂采购,各位可以访问如下链接
https://www.tibco.com/company/locations
中国北京Main Office Phone
+86 10 8341 3723