【问题标题】:Spotfire: Calculated Column to find if a different event in same column occurs within 1 hourSpotfire:计算列以查找同一列中是否在 1 小时内发生不同事件
【发布时间】:2020-07-13 07:11:54
【问题描述】:

我要创建的计算列是下表中最右侧的列:

言下之意: 如果 B 事件发生在指定城市,C 事件是否在 B 事件发生后一小时内发生,是真还是假。

我用 Over 函数尝试了几种不同的方法,但都没有运气。我正在努力研究如何在同一列中引用不同的事件,然后计算它们之间的日期时间差..

谢谢!

【问题讨论】:

    标签: calculated-columns spotfire


    【解决方案1】:

    您可以尝试分阶段进行并定义中间列。 试试这个,假设 C 是事件的最大标签。

    你没有发布数据,所以我生成了一些看起来相似的东西。

    ([event]="B") 和 (Max([event]) OVER (Intersect([city],AllNext([date])))="C") 和 ( DateDiff("hh",[date],ValueforMax([event],[date]) OVER (Intersect([city],AllNext([date]))))

    【讨论】:

    • 这太完美了,非常感谢!如果 C 不是最大值,您知道我将如何完成这项工作吗?我想在这里学习,尝试做你提供的东西会让我永远。谢谢!我想达到这个水平哈哈
    • 另外,使用您提供的解决方案,它为每一行记录一个 TRUE 或 FALSE,有没有办法只报告 B 事件?也许在结束方法时使用一个案例?
    • 如果 C 不是最大值,您可以进入数据集的列属性,找到 [event] 列,选项卡排序顺序并配置自定义排序顺序,以便新值在最后为了。为了在事件不是 B 的情况下删除结果,您不能在原始定义周围加上一个案例,因为它将不再查看 C 事件。当'B'然后[originalflag]否则NULL结束时,我将创建第二个计算列,如CASE [event]。 [originalflag] 是我之前发布的解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-18
    • 2017-02-01
    • 1970-01-01
    • 2018-09-03
    • 2016-12-10
    • 1970-01-01
    • 2021-05-02
    相关资源
    最近更新 更多