一键解锁业务增长密码:数据中台指标应用同环比分析功能全新上线

0 阅读5分钟

在瞬息万变的商业环境中,每一位业务决策者都在追问:我们的业务是在增长还是萎缩? 过去,分析师们需要手动编写复杂 SQL、反复核对数据,才能得到一份同环比报告。现在,我们的指标平台全新升级,让你零代码、一键获取精准同环比分析,让数据洞察更高效、决策更精准。

一、功能背景:从 “看数” 到 “看懂数” 的必然升级

1. 业务痛点

效率低下:分析师需手动编写多表关联 SQL,计算同环比耗时耗力,一份报告往往需要数小时。

易出错:人工计算易出现日期偏移、公式错误等问题,导致数据失真,误导决策。

场景受限:传统查询仅能返回指标原始值,无法直观体现业务趋势变化,难以满足精细化运营需求。

2. 需求场景

以本次需求为例:

  • 查询粒度:月粒度
  • 时间范围:2026-01 至 2026-03
  • 查询指标:某银行贷款余额
  • 同环比类型:月环比增长值

业务方希望直观看到:2026 年 1-3 月的贷款余额,环比上月分别增长了多少,从而快速评估业务表现。

二、技术方案:基于 SQL 自关联的高效实现

核心思路:表自关联法

我们采用数据自关联的技术方案,将当前周期与对比周期的数据在同一行进行关联计算,完美兼容 Doris、StarRocks、Trino 等主流引擎。

🔍 改造前后 SQL 对比

select 
  res_idx_drps2.drps2 as drps2, 
  res_idx_drps2.pt as pt
from (
      select date_format(t0.order_date, '%Y-%m') as pt, round(coalesce(sum(order_amount), 0), 2) as drps2
      from internal.AI_demo_index_0721.fact_orders_new t0
      where (t0.order_time is not null 
             and ((t0.order_date between date('20260101') and date('20260331'))))
      group by date_format(t0.order_date, '%Y-%m')) res_idx_drps2
order by pt ASC
limit 0,1001 
-- 这里基本还是原始查询sql,只加了一层with as语法方便后续做连接,以及where的条件变更
WITH ori_data_table AS (
  select 
    res_idx_drps2.drps2 as drps2, 
    res_idx_drps2.pt as pt
  from (
    select date_format(t0.order_date, '%Y-%m') as pt,round(coalesce(sum(order_amount), 0), 2) as drps2
    from internal.AI_demo_index_0721.fact_orders_new t0
    where (t0.order_time is not null and
           -- 这里除了会查询原始的查询时间范围,还会根据同环比的配置来查询所需要比较的时间范围的数据
           ((t0.order_date between date('20260101') and date('20260331')) or
            (t0.order_date between date('20251201') and date('20260228'))))
    group by date_format(t0.order_date, '%Y-%m')) res_idx_drps2)
    
-- 这里的查询都是新加新构建的
SELECT 
  -- 同环比的表达式
  (b1.drps2 - b3.drps2) as drps2_month_on_year_grow, 
  -- b1的pt还是原始的查询pt
  b1.pt
FROM ori_data_table b1 
    -- 这里会有1个或多个left join,比如这里是月同比那就是减去一个月
    LEFT JOIN ori_data_table b3 ON b1.pt = date_format(date_add(str_to_date(concat(b3.pt, '-01'), '%Y-%m-%d'), INTERVAL 1 MONTH), '%Y-%m')
    -- 如果同时还查询了季同比,那就需要再left join一个b表,on条件是减去3个月
    -- LEFT JOIN ori_data_table b4 ON b1.pt = date_format(date_add(str_to_date(concat(b4.pt, '-01'), '%Y-%m-%d'), INTERVAL 3 MONTH), '%Y-%m')
-- 需要再限制一下pt的最终范围,因为会存在单独只查询同环比指标,那多余的pt需要过滤掉
WHERE b1.pt between '2026-01' and '2026-03'
-- order by做了自定义排序的适配,其中原值和pt恒定从b1表取值,其余的直接使用as后的字段别名
order by b1.pt ASC,drps2_month_on_year_grow DESC,b1.drps2 ASC
limit 0,1001

📊 技术实现图解

关键技术亮点

  • 多引擎兼容:基于标准 SQL 语法,完美适配 Doris、StarRocks、Trino 等引擎,无需额外改造。
  • 灵活扩展:支持日 / 月 / 季 / 年等多种粒度,以及值 / 增长值 / 增长率等多种同环比类型。
  • 性能优化:通过 CTE 预汇总 + 精准时间过滤,避免全表扫描,保证查询性能。
  • 空值安全:使用 coalesce 处理空值,避免计算错误。

三、业务价值:让数据驱动决策更高效

1. 效率提升:从 “小时级” 到 “秒级”

告别手动 SQL:业务人员无需懂技术,在界面上勾选 “同环比” 类型,即可一键获取结果。

节省人力成本:替代了分析师 2 小时 / 次的手工核算工作,让团队聚焦更有价值的分析。

2. 决策精准:让趋势一目了然

直观洞察:同环比指标直接反映业务变化,例如 “2026 年 1 月贷款余额同比增长 500 万”,比单纯看数字更有指导意义。

风险预警:通过环比波动及时发现业务异常,例如 “本月环比下降 10%”,快速定位问题并干预。

3. 场景全覆盖

经营分析:销售、财务、运营等部门均可快速获取业绩同环比,评估目标完成情况。

指标监控:在看板、报表中直接展示同环比,实现业务数据的实时监控。

汇报材料:一键生成标准化同环比报告,大幅提升汇报效率和专业性。

四、结语

同环比分析是业务监控的 “晴雨表”,它让冰冷的数据变成有温度的洞察。我们希望通过这次功能升级,让每一位业务伙伴都能轻松看懂数据、快速做出决策,共同推动业务高质量增长。