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

Azure Databricks中Cycle、Activity与Delay表的SQL时间线关联实现

解决方案:Azure Databricks SQL 跨周期延迟时间线关联问题

问题核心

  • Cycle与Activity通过CYCLE_OID关联,构成完整周期-活动时间线
  • Delay是Activity中延迟活动的子集,但无直接业务关联字段(如ACTIVITY_OID/CYCLE_OID)
  • 现有条件关联仅能匹配单个活动内的延迟,无法覆盖单条延迟跨多个Cycle/Activity的场景

核心解决思路

由于缺乏直接关联键,需通过时间区间重叠规则将Delay关联到所有与其时间范围有交集的Activity,再通过Activity关联对应Cycle,确保跨周期/活动的延迟记录能匹配到所有相关的周期-活动组合。

示例表结构(基于常规场景补充,可根据实际调整)

Cycle表

CYCLE_OIDCYCLE_STARTCYCLE_ENDCYCLE_NAME
C12024-01-012024-01-10周期1
C22024-01-082024-01-18周期2

Activity表

ACTIVITY_OIDCYCLE_OIDACTIVITY_STARTACTIVITY_ENDACTIVITY_NAME
A1C12024-01-012024-01-05活动1
A2C12024-01-062024-01-10活动2
A3C22024-01-082024-01-12活动3
A4C22024-01-132024-01-18活动4

Delay表

DELAY_OIDDELAY_STARTDELAY_ENDDELAY_REASON
D12024-01-092024-01-11物料延迟

目标结果表

CYCLE_OIDCYCLE_STARTCYCLE_ENDACTIVITY_OIDACTIVITY_STARTACTIVITY_ENDDELAY_OIDDELAY_STARTDELAY_ENDDELAY_REASON
C12024-01-012024-01-10A22024-01-062024-01-10D12024-01-092024-01-11物料延迟
C22024-01-082024-01-18A32024-01-082024-01-12D12024-01-092024-01-11物料延迟

兼容Azure Databricks的SQL代码

SELECT
    c.CYCLE_OID,
    c.CYCLE_START,
    c.CYCLE_END,
    a.ACTIVITY_OID,
    a.ACTIVITY_START,
    a.ACTIVITY_END,
    d.DELAY_OID,
    d.DELAY_START,
    d.DELAY_END,
    d.DELAY_REASON,
    -- 可选:计算延迟在当前活动内的实际有效时间段
    GREATEST(d.DELAY_START, a.ACTIVITY_START) AS ACTUAL_DELAY_START,
    LEAST(d.DELAY_END, a.ACTIVITY_END) AS ACTUAL_DELAY_END
FROM
    Cycle c
JOIN
    Activity a ON c.CYCLE_OID = a.CYCLE_OID
LEFT JOIN
    Delay d 
    ON -- 核心规则:判断延迟与活动的时间区间是否重叠
    d.DELAY_START < a.ACTIVITY_END 
    AND d.DELAY_END > a.ACTIVITY_START
-- 若仅需返回含延迟的记录,取消下面注释
-- WHERE d.DELAY_OID IS NOT NULL
ORDER BY
    c.CYCLE_OID, a.ACTIVITY_START;

逻辑说明

  1. 基础关联:先通过CYCLE_OID关联Cycle和Activity,构建完整的周期-活动时间线
  2. 时间重叠匹配:d.DELAY_START < a.ACTIVITY_END AND d.DELAY_END > a.ACTIVITY_START能覆盖所有时间交集场景:
    • 延迟完全包含在单个活动内
    • 延迟跨多个活动/周期(如示例中D1同时匹配A2和A3)
    • 延迟部分覆盖活动的起始/结束阶段
  3. 可选扩展:通过GREATEST/LEAST计算延迟在当前活动内的实际有效时间段,满足精细化统计需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 15:11:15