1. 概述
DEF 函数使用 [指定维度],计算聚合指标值。
不会引用「分析区域」中已拖入的维度,所以分析区域中增删维度不影响函数的计算结果。
语法 | def(聚合指标, [维度1,维度2,...], [过滤条件1, 过滤条件2,...]) | 满足过滤条件,并按函数中指定的「维度」对指标进行计算 |
---|---|---|
参数1 | 聚合指标 | 1)聚合只允许有一个,且不可为空; 2)指标支持嵌套,即可以是任意函数输出的指标。 注:当指标为明细计算指标时,报错提示「分析函数中不支持明细计算指标」 |
参数2 | 指定维度 | 1)需要执行计算的维度 2)维度参数可为空,维度参数为空时,计算指标整表聚合 3)当只有一个维度参数时,可以不加 [ ] |
参数3 | 过滤条件 | 1)过滤条件可为空;当过滤条件为空时,执行指标的聚合运算没有过滤参与计算 2)过滤条件支持明细级别过滤,支持嵌套指标的过滤(def函数输出的指标),不支持聚合函数作为过滤条件 3)支持设置多个过滤条件,相同层级间的过滤以「且」执行 4)当只有一个过滤条件时,可以不加 [ ] 5)当指定维度为空时,格式为 DEF(聚合指标,[],[过滤条件1, 过滤条件2,...]) |
2. 简单示例
先用几个小示例,了解下函数的写法和作用:
场景 | 公式 | 描述 |
---|---|---|
想知道每个客户在平台下了多少单 | def(countd_agg(订单编号),[身份证号]) |
数一数每个身份证号对应多少个不同的订单编号 |
想知道平台总的销售额 | def(sum_agg(销售额)) |
由于没有指定维度,所以该公式求总销售额 |
想知道每个省份的销售额 | def(sum_agg(销售额),[省份]) |
计算每个省份的销售总额 |
想知道每个省份下不同产品的销售额 | def(sum_agg(销售额),[省份,产品]) |
计算每个省份下每个产品的销售额 |
想知道2013年份的每个省份的销售额 | def(sum_agg(销售额),[省份],[年份=2013]) |
计算 2013 年,每个省份的销售总额 |
最后的四个公式拖入图表后,结果如下图所示:
3. 实操-计算转化率
3.1 对比同一节点的转化率
是不是已经有些熟悉 DEF 函数的写法啦,下面我们来实操一下。
已知第一步获取了 39521 个客户线索,想知道之后的每一步相对于第一步分别留存了多少,该如何呢?
我们可以简单整理下思路,使用「每一节点的客户数」/「集客节点的客户数」,即可求得结果。
1)获取示例数据
示例数据:汽车行业销售漏斗.xlsx
将下载下来的示例数据上传至主题,如下图所示:
2)获取「每一节点的客户数」,添加计算条件,使用 DEF 函数,如下图所示:
场景 | 公式 | 描述 |
---|---|---|
获取每一节点的客户数 | DEF(SUM_AGG(客户数),[关键节点]) |
计算每个节点的客户总数 |
3)获取第一个节点「集客节点的客户数」,添加计算字段,使用 DEF 函数,如下图所示:
场景 | 公式 | 描述 |
---|---|---|
想获取集客节点的客户数 | DEF(SUM_AGG(客户数),[],[关键节点="主动集客线索"]) |
计算主动集客线索的客户数 |
4)计算转化率。即 每个节点的客户数/集客节点的客户 ,即可求得转化率。如下图所示:
5)将字段拖入到分析区域,转化率的数值格式选择百分比,如下图所示:
如此便可求得每一步相对于第一步的留存率,到最后一步交车,只有 0.27% 的客户留存下来了。
3.2 对比上一节点的转化率
详情请参见文档:与上一节点的转化率计算
4. 更多业务场景
DEF 函数如何在业务中使用呢,它能帮助我们实现什么场景,可参见以下文档。
用户购买频次分析 |
同期群分析 |
跨行计算-计算增长率 |
目标达成情况分解 |
用户消费周期 |
月盈利天数统计 |
对月累计值求年同比 |
销售额对比分析 |
不同地区经营状况对比 |