TIBCO Spotfire使用技巧:Spotfire OVER 函数的示例介绍

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函数的自定义表达式的几个示例。

TIBCO Spotfire使用技巧:Spotfire OVER 函数的示例介绍_第1张图片

如果您还没有太理解Over函数,请参考如下使用OVER函数的示例文章:

  • 超出计算列中的函数
  • 使用相交函数超出计算列中的函数

关于这些表达的一些注释:

  • 确保X轴设置为分类比例。无论何时在可视化自定义表达式中使用OVER函数,等式所指的轴必须是分类(非连续)。如果它是连续的,您将收到错误消息“找不到轴:'X'。有三种方法可将日期轴设置为分类比例:

选项1:使用其中一个内置日期层次结构(或层次结构列)。例如,日期:年份>>月份,如下面的屏幕截图所示:

TIBCO Spotfire使用技巧:Spotfire OVER 函数的示例介绍_第2张图片

选项2:右键单击轴并选择“分类比例”

TIBCO Spotfire使用技巧:Spotfire OVER 函数的示例介绍_第3张图片

选项3:从“可视化属性”中,选择“X轴”(如果使用条形图,则为“类别轴”),“设置”,然后在“轴模式”下选择“分类”

TIBCO Spotfire使用技巧:Spotfire OVER 函数的示例介绍_第4张图片

  • 其中一些表达式(例如使用“PreviousPeriods”的表达式)假设原始数据已经按月汇总 - 如果您的数据处于不同的时间范围,请注意您可能需要稍微调整这些表达式
  • 方括号 [] 中包含的任何内容都指Spotfire中的列名。如果复制并粘贴这些表达式,只需将括号中的列名替换为数据中的列。
  • 由于所有数据集都不同,您可能需要调整表达式以处理数据。

OVER自定义表达式中的函数示例 

示例1 - 图表上所有值的平均值

Avg([OIL]) OVER All([Axis.X])

TIBCO Spotfire使用技巧:Spotfire OVER 函数的示例介绍_第5张图片

示例2 - 本年度的总体情况

将日期轴设置为年>>月。日期层次结构,年份和月份中有2个级别。年份是月份的Parent(),因此年平均产量将是:

Avg([OIL]) OVER Parent([Axis.X])

TIBCO Spotfire使用技巧:Spotfire OVER 函数的示例介绍_第6张图片

 

示例3 - 图表上所有行的平均值 - 方法1

从数据中选择一行到Line By,然后选择Color By :(列名称)。此可视化需要Y轴上的2个系列:

Sum([OIL])

Avg([OIL]) OVER All([Axis.Line])

TIBCO Spotfire使用技巧:Spotfire OVER 函数的示例介绍_第7张图片

示例4 - 图表上所有行的平均值 - 方法2

这与示例3类似,但允许您以不同方式为每条线着色。在Color By轴上选择2列,其中一列是:(列名称)。此图表的唯一问题是您最终会出现重复的平均线。它不会影响图形,只会影响图例中的颜色(您必须将多个系列设置为相同的颜色)。

Avg([OIL]) OVER All([Axis.Color])

TIBCO Spotfire使用技巧:Spotfire OVER 函数的示例介绍_第8张图片

示例5 - 累积总和或运行总计

Sum([OIL]) OVER AllPrevious([Axis.X])

TIBCO Spotfire使用技巧:Spotfire OVER 函数的示例介绍_第9张图片

示例6 - 当前年度或年初至今总计的累计金额

Sum([OIL]) OVER Intersect(AllPrevious([Axis.X]), NavigatePeriod([Axis.X], "Year", 0, 0))

TIBCO Spotfire使用技巧:Spotfire OVER 函数的示例介绍_第10张图片

示例7 - 滚动平均值或移动平均值

3个月移动平均值(过去3个时间段的平均值)。只需调整LastPeriods中的数字即可更改您平均的句点数:

Avg([OIL]) OVER LastPeriods(3, [Axis.X])

TIBCO Spotfire使用技巧:Spotfire OVER 函数的示例介绍_第11张图片

示例8 - 当月与上个月的差异

将X轴设置为日期:年>>月。前面指的是X轴上的前1个周期,因此如果当前月份是6月,则下面的表达式将从6月减去5月。这也适用于其他日期层次结构,例如Year >> Quarter。

Sum([OIL]) - Sum([OIL]) OVER Previous([Axis.X])

TIBCO Spotfire使用技巧:Spotfire OVER 函数的示例介绍_第12张图片

示例9 - 当前月份与上一年度同一月份之间的差异

将X轴设置为日期:年>>月。ParallelPeriod指的是Parent节点上的1个前一个句点,它是Year,因为Year是Month的Parent。这也适用于其他日期层次结构,例如Year >> Quarter。

Sum([OIL]) - Sum([OIL]) OVER ParallelPeriod([Axis.X])

TIBCO Spotfire使用技巧:Spotfire OVER 函数的示例介绍_第13张图片

示例10 - 变化率或上个月的变化百分比

要手动计算百分比变化,我们使用以下等式:%Change =(y2-y1)/ y1。重新排列我们得到的等式:%Change = y2 / y1 - 1。将y1和y2替换为Spotfire函数,表达式变为:

(Sum([OIL]) / Sum([OIL]) OVER Previous([Axis.X])) - 1

TIBCO Spotfire使用技巧:Spotfire OVER 函数的示例介绍_第14张图片

 

如需要联系TIBCO原厂采购,各位可以访问如下链接

https://www.tibco.com/company/locations

中国北京Main Office Phone

+86 10 8341 3723

你可能感兴趣的:(TIBCO,Spotfire技巧篇)