【问题标题】:Spotfire calculate the difference of values in a single column based on date for each groupSpotfire 根据每个组的日期计算单个列中的值的差异
【发布时间】:2021-02-17 13:48:38
【问题描述】:

我需要在 Spotfire 中根据出现次数计算单个列中值的差异。

数据看起来像

ID Value Date
1 7 07/01/2021
1 8 09/01/2021
1 10 10/01/2021
1 15 11/01/2021
1 6 12/01/2021
1 3 15/01/2021
2 10 07/01/2021
2 11 08/01/2021
2 12 09/01/2021

预期的输出是

ID Value Date Flag
1 7 07/01/2021 True
1 8 09/01/2021
1 10 10/01/2021
1 15 11/01/2021
1 6 12/01/2021
1 3 15/01/2021
2 10 07/01/2021 False
2 11 08/01/2021
2 12 09/01/2021

逻辑是

我们需要通过比较每个id的第一次接收和最新接收的值来找到标志。

对于 id 1,第一次收到的值为 7

对于 id 1,最近收到的值为 3

是 7>3 真。

为了便于理解,我对 id 列进行了排序。

提前致谢。

【问题讨论】:

    标签: calculated-columns ranking spotfire


    【解决方案1】:

    您好,我认为您可以分两步完成:

    第一步:

    Concatenate(String([Value])) OVER ([ID])
    

    会说您将此列命名为:测试

    哪个会给你 (7,8,10,15,6,3)

    第二步:

    Integer(left([test],1)) > Integer(right([test],1))
    
    ID Value Date test flag
    1 7 07/01/2021 7, 8, 10, 15, 6, 3 True
    1 8 09/01/2021 7, 8, 10, 15, 6, 3 True
    1 10 10/01/2021 7, 8, 10, 15, 6, 3 True
    1 15 11/01/2021 7, 8, 10, 15, 6, 3 True
    1 6 12/01/2021 7, 8, 10, 15, 6, 3 True
    1 3 15/01/2021 7, 8, 10, 15, 6, 3 True
    2 10 07/01/2021 10, 11, 12 False
    2 11 08/01/2021 10, 11, 12 False
    2 12 09/01/2021 10, 11, 12 False

    【讨论】:

    • 您好,感谢您的建议,id 列默认不排序,我们可以按日期排序后连接,能否请您也包括在内谢谢
    • 嗨,很抱歉这么晚才回答我不确定我是否完全理解您的问题,但如果 ID 相同,您可以尝试使用日期:Max(Concatenate(String([Value])) OVER (Intersect([ID],All([Date])))) OVER (Intersect([ID],All([Date])))
    • 您好,我们需要按接收日期排序,然后连接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    • 2020-12-17
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    • 1970-01-01
    相关资源
    最近更新 更多