跳转至

创建基础指标

1.应用场景

基础指标是全部指标的基石,派生指标与复合指标都依赖基础指标的定义。基础指标是对一个业务过程的统计,我们常见的基础指标有:

指标名称 指标定义 指标内容
订单总额 Sum([订单表/订单金额]) 基于订单表统计订单金额的总和。
毛利润 Sum( [订单表/订单金额] - [商品表/商品成本] ) 基于订单表和其关联的商品表,为每笔订单减去其商品成本价,计算出商品的毛利润。
下单用户数 CountDistinct( [订单表/用户ID] ) 基于订单表上的用户ID进行去重计数统计。

2.功能简介

在指标平台中,可以基于一个数据集进行基础指标的定义,定义好的基础指标可以被用于定义派生指标和复合指标。

基础指标的定义包括指标计算逻辑的定义以及指标属性的定义。其中计算逻辑主要由数据集、统计方式、指标日期标识、半累加指标设置组成。

image.png

3.功能介绍

操作步骤

功能入口

在 指标定义 -> 新建指标,在弹窗中选择 基础指标

ximage.png

设置指标定义

设置数据集

选择有使用权限的数据集,使用该数据集的数据内容创建基础指标。

image.png

重要

该数据集中需要至少包含一个日期/日期时间类型的字段,用于绑定指标日期标识。你可以在数据集定义中调整字段的数据类型。

设置统计方式

设置基础指标的统计内容,基于选择的数据集,选择需要聚合的内容以及筛选,使用筛选后的数据进行聚合。

image.png

配置项 详细说明
聚合内容 * 使用字段:使用当前数据集的字段以及聚合方式,作为指标的聚合内容 image.png 选择需要统计聚合的字段以及聚合方式,指标平台支持以下聚合方式: * 求和:Sum * 计数:Count * 去重计数:CountDistinct * 平均值:Avg * 最大值:Max * 最小值:Min --- * 使用表达式:使用自定义公式的聚合结果,作为指标的聚合内容 image.png 使用自定义表达式计算字段的聚合结果,如: * 使用当前数据集的字段以及其关联数据集的字段编写聚合表达式 sql Sum([订单表/订单金额] - [商品表/商品成本]) * 使用判断函数处理字段的聚合 sql Sum(If([订单表/订单状态])="有效",[订单金额],0)
筛选 * 常规:使用字段进行筛选,指标会基于筛选后的数据内容计算 image.png 对于不同的字段类型,支持不同的筛选匹配规则: * 文本 * 等于、不等于:支持选择多个值,多值为或关系 * 包含、不包含:值中包含指定的文本 * 以/不以...开头/结尾:值的开头或结尾满足条件 * 数值(整数、小数) * 等于、不等于:匹配指定的数值 * 大于、小于、大于等于、小于等于、介于、超出范围:匹配满足区间的数值范围 * 时间(日期、时间日期) * 指定时间:匹配单个日期值 * 时间范围:匹配满足时间范围的日期,包含选择的最大最小日期 * 超出范围:匹配不满足指定时间范围的日期,不包含选择的最大最小日期 * 早于、晚于:匹配早于或晚于指定日期的日期,不包含选中的日期 --- * 自定义表达式:使用筛选表达式,进行字段的筛选,指标会基于筛选后的数据内容计算 image.png 支持使用 AND、OR 将多个匹配条件组合进行筛选 * 保留最近7日的订单数据 sql [订单表/订单日期] >= Dateadd(Today(),-6,"DAY") AND [订单表/订单日期] <= Today() * 保留已支付或三方渠道未支付的订单数据 sql [订单表/订单状态]="已支付" OR ([订单表/订单状态]="未支付" AND In([支付渠道/渠道],"支付宝","微信","银联支付"))
设置指标日期标识

指标日期标识用于在查询指标值时,会自动将该字段作为日期分组进行聚合。

image.png

重要

在指标平台中支持多个指标一起分析,比如可以在一次查询中返回 日期下单量访问量;对于下单量指标,使用[订单表/下单时间]进行统计;对于访问量指标,使用[访问表/访问时间]进行统计。

指标平台内置了维度指标日期,在查询时选择指标日期作为分析维度,即可实现在一次查询中查询多个指标,并根据指标所配置的日期标识,替换为相应的字段。

设置半累加指标

若当前数据集为快照类数据集(一个业务过程存在多行数据),当我们统计时若只希望保留其中的单条数据进行计算,那么便需要开启半累加指标功能。

重要

使用以下类型的数据集定义指标时,需要使用到半累加指标

全量快照数据:常见于库存记录表、存款余额记录表。比如存款余额表,每行记录每个用户的单日存款余额。

增量快照数据:常见于订单拉链表。比如订单明细信息,当订单状态发生变更时,记录变更后的订单数据。

image.png

配置项 详细说明
不可累加维度 选择数据集的字段,指标计算时若同一个窗口分组内包含多个不可累加维度的值,则按照规则保留指定的数据内容。
窗口分组 选择数据集的字段,指标计算时会按照窗口先将数据进行分组,再选择指定的数据
窗口选择 支持最大值、最小值。根据选择保留相应的数据。
设置分析维度

选择该基础指标可以用来分析的维度,可以用于指标的多维分组或筛选。

image.png

重要

基础指标的可用维度,来自于数据集之间的关联关系。以当前基础指标选择的数据集作为中心,可以选择当前数据集以及全部1端数据集上所定义的维度。

设置指标属性

image.png

填写指标的属性信息,该属性内容以及是否必填可以由管理员进行自定义管理。其中内置的系统属性不支持管理员自定义,以下为重要的系统属性:

属性 规范
指标英文名 支持英文字母、数字以及下划线(_),全局唯一 !!! note "指标英文名创建后不支持修改 查询 API 中传入指标英文名查询结果"
指标展示名 支持任意字符,全局唯一
单位 选择指标的单位
业务负责人 指标的业务负责人,可以由管理员关闭该属性
业务口径 指标的业务口径,用来详细描述指标的口径以及业务含义
指标类目 指标的类目,系统提供未分类类目

保存/发布指标

image.png

功能 说明
保存草稿 将当前指标定义保存为草稿。
保存并发布 将当前指标发布,指标发布后其他用户可以查询该指标数据。

案例

image

基于多数据集创建指标(毛利润)

  • 指标名称:毛利润

  • 数据集:订单表

  • 统计方式:Sum([订单表/订单金额]-[产品表/产品成本])

  • 指标日期标识:下单时间

数据查询

维度:指标日期(日)

指标:毛利润

SELECT Datetrunc(订单表.下单时间,"DAY"),Sum(订单表.订单金额-产品表.产品成本) 
FROM 订单表
LEFT JOIN 产品表 ON 订单表.产品ID=产品表.产品ID
GROUP BY Datetrunc(订单表.下单时间,"DAY") 

查询多数据集指标(订单量、退款量)

  • 指标名称:订单量

  • 数据集:订单表

  • 统计方式:Count([订单表/订单ID])

  • 指标日期标识:下单时间

  • 指标名称:退款量

  • 数据集:退款表

  • 统计方式:Count([退款表/订单ID])

  • 指标日期标识:退款时间

数据查询

维度:指标日期(日)

指标:订单量退款量

WITH 订单量 AS(
  SELECT Datetrunc(订单表.下单时间,"DAY") AS 指标日期,Count(订单表.订单ID) AS 订单量
  FROM 订单表
  GROUP BY Datetrunc(订单表.下单时间,"DAY") 
),
WITH 退款量 AS(
  SELECT Datetrunc(退款表.退款时间,"DAY") AS 指标日期,Count(退款表.订单ID) AS 退款量
  FROM 退款表
  GROUP BY Datetrunc(退款表.退款时间,"DAY")  
)
SELECT 订单表.指标日期,订单量.订单量,退款量.退款量
FROM 订单量
FULL JOIN 退款量 ON 订单量.指标日期 = 退款量.指标日期

使用快照类数据集定义半累加指标(期末库存量)

  • 指标名称:期末库存量

  • 数据集:库存表

  • 统计方式:Sum([库存表/库存余量])

  • 指标日期标识:统计时间

  • 半累加指标

  • 不可累加维度:统计时间

  • 窗口选择:最大值

数据查询

维度:指标日期(月)

指标:期末库存量

WITH 期末数据 AS(
  SELECT
  统计时间,
  库存余量,
  RANK() OVER (PARTITION BY Datetrunc(库存表.统计时间,"MONTH") ORDER BY 日期 DESC) AS 日期排序
)
SELECT Datetrunc(期末数据.统计时间,"MONTH"),Sum(期末数据.库存余量) 
FROM 期末数据
WHERE 日期排序 = 1