跳到主要内容
版本:6.3.0

计算精确到具体时间的同环比

需求背景

BI自带的同环比功能最细只能计算到日粒度,时间宏也只能精确到日,但是很多情况下,用户需要直连数据库统计当天的实时数据,跟昨天或者其他日期的同时段数据做对比,例如,现在是下午3:30,需要统计今天零点到下午3:30的数据,然后跟昨天零点到下午3:30的数据做对比。

前提

  1. 直连数据集。

  2. 数据集里时间字段格式为 datetime(或 timestamp)、

思路

卡片里数值栏的计算结果不能用来进行二次计算,所以需要新建计算字段来分别统计当天和昨天固定时间段的数据,再新建字段计算同环比增长率。

实现方法

以 MySQL 数据库为例。

  1. 新建计算字段,用公式统计今日任务数 (公式有多种写法)
sum(
  case when date([修改时间])=curdate()
  then 1 else 0
  end
)

image.png

  1. 新建计算字段,用公式统计昨日任务数 (0点到昨天的当前时间点)
sum(
case when date([修改时间]) =date_sub(curdate(),interval ‘1’ day) and [修改时间]<=date_sub(now(),interval ‘1’ day) then 1
else 0
end)

image.png

  1. 新建计算字段,计算增长率。

image.png

  1. 把三个新建字段都拖到数值栏。

image.png