You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spotfire:如何计算无视深度回退的连续最大深度

实现不受深度回退影响的历史最大深度计算列

针对你遇到的深度回退时历史最大深度计算失效的问题,以下几种方法可以实现需求中的Continuous (Max) Depth:

方法1:累积MAX窗口函数(通用SQL/BI工具)

如果你的工具支持窗口函数(比如SQL、Tableau、Power BI),直接使用MAX()结合累积窗口范围,就能直接计算每行的历史最大值:

SQL示例:

SELECT 
    PRPRTY,
    Row,
    [Positive Depth],
    MAX([Positive Depth]) OVER (
        PARTITION BY [PRPRTY] 
        ORDER BY [Row] 
        ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
    ) AS [Continuous (Max) Depth]
FROM your_dataset;

Tableau/Power BI计算字段示例:

在Tableau中创建计算字段,设置为表计算,计算依据选择PRPRTY和Row的排序:

MAX([Positive Depth]) OVER (
    PARTITION BY [PRPRTY] 
    ORDER BY [Row] 
    ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
)

逻辑说明:按PRPRTY分组,按行号顺序遍历,计算从第一行到当前行的Positive Depth最大值,无论当前行深度是否回退,都会保留历史峰值。

方法2:迭代比较计算(适合支持迭代的BI工具)

如果窗口函数受限,可以用迭代逻辑,逐行比较当前深度与上一行的历史最大值:

Tableau计算字段示例:

创建计算字段Continuous (Max) Depth:

IF FIRST() = 0 THEN [Positive Depth]
ELSE MAX(LOOKUP([Continuous (Max) Depth], -1), [Positive Depth])
END

将该字段设置为表计算,计算依据选择PRPRTY,排序依据为Row。

逻辑说明:第一行直接取当前深度,后续每行取上一行的历史最大值与当前深度的较大值,确保历史峰值不会被回退覆盖。

方法3:递归CTE(SQL环境)

如果是在支持递归的SQL数据库(如PostgreSQL、SQL Server)中,用递归CTE逐行迭代计算:

WITH recursive depth_cte AS (
    -- 初始行:取每个PRPRTY的第一行
    SELECT 
        PRPRTY,
        Row,
        [Positive Depth],
        [Positive Depth] AS [Continuous (Max) Depth]
    FROM your_dataset
    WHERE Row = 1

    UNION ALL

    -- 递归迭代:逐行比较当前深度与上一行的历史最大值
    SELECT 
        d.PRPRTY,
        d.Row,
        d.[Positive Depth],
        GREATEST(d.[Positive Depth], c.[Continuous (Max) Depth]) AS [Continuous (Max) Depth]
    FROM your_dataset d
    JOIN depth_cte c 
        ON d.PRPRTY = c.PRPRTY 
        AND d.Row = c.Row + 1
)
SELECT * FROM depth_cte ORDER BY PRPRTY, Row;

问题根源说明

你之前使用的Last([Positive Depth])逻辑仅取上一行的深度值,当深度回退时,上一行的深度可能小于历史最大值,导致无法保留峰值。而上述方法都是基于累积最大值或逐行迭代比较的逻辑,能准确追踪历史最大深度,不受回退影响。

内容的提问来源于stack exchange,提问作者AnnonymousAsker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 12:15:15