历史版本13 :DEF_SUB(分析区域维度-指定维度) 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

[helpvideo]5520[/helpvideo]

DEF_SUB 函数使用「分析区域的维度」-「指定维度」,计算聚合指标。引入了「分析区域的维度」,所以分析区域维度的增减会影响计算结果。

这里可以对比下 DEF_ADD 函数 「分析区域的维度」+「指定维度」,即阻止函数使用分析区域中的一个或多个维度。

语法DEF_SUB(指标, [维度1,维度2,...], [过滤条件1, 过滤条件2,...]) 满足过滤条件并按【分析区域维度-[维度1,维度2]】对指标进行计算
参数1聚合指标

1)指标只允许有一个,且不可为空;

2)指标支持嵌套。即可以是任意函数输出的指标,包括由 DEF 函数输出的计算指标

注:当指标为明细计算指标时,报错提示「分析函数中不支持明细计算指标」

参数2维度

1)函数内指定的维度

2)当只有一个维度参数时,可以不加 [ ]

参数3过滤条件

1)过滤条件可为空,当过滤条件为空时,执行指标的聚合运算没有过滤参与计算

2)过滤条件支持明细级别过滤,支持嵌套指标的过滤(def函数输出的指标),不支持聚合函数作为过滤条件

3)支持设置多个过滤条件,相同层级间的过滤以「且」执行

4)当只有一个过滤条件时,可以不加 [ ]

5)当指定维度为空时,格式为 DEF_SUB(聚合指标,[],[过滤条件1, 过滤条件2,...])

注:DEF_SUB 函数不支持输出为维度字段。

2. 简单示例编辑

假如分析区域拖入了「地区」和「分类」,如下图所示:

DEF_SUB 的维度为「分析区域的维度」-「指定维度」

场景
公式描述
计算每个地区的总销售额DEF_SUB(SUM_AGG(销售额),[分类])

维度栏上有两个维度,但我们只需要使用「地区」维度,所以将「分类」去掉。

  • 指定维度:分类

  • 分析区域维度:地区、分类

  • 最终使用的维度:「地区、分类」-「分类」=「地区」

  • 聚合指标:SUM_AGG(销售额)

获得每个地区小的销售额

3. 实操-加入平均值编辑

我们可以很容易得出 2017 年每个季度各个大区的销售额。那如果如下图我们想加入「每个季度各大区平均销售额」,了解平均值多少的同时,还方便每个大区与平均值进行对比,该如何操做呢?

整理下思路:每个季度各大区的销售额=每个季度的总销售额/大区的个数

34.png

1)创建分析主题,添加产品已内置的示例数据。如下图所示:

35.png

2)制作组件,展示每个季度各大区的销售额是多少。选择图表类型为「自定义图表」,更改「销售日期」的分组为「年季度」。如下图所示:

36.png


3)添加计算字段,计算「每季度各大区的平均销售额」,如下图所示:

38.png

我们已经往分析区域拖入了两个维度「销售日期(季度)」「所属大区

场景
公式描述
每个季度的销售额是多少DEF_SUB(SUM_AGG(销售额),[所属大区])
  • 分析区域维度:销售日期(季度)、所属大区

  • 指定维度:所属大区

对每个季度的销售额求和

求大区的个数DEF(COUNTD_AGG(所属大区))
  • DEF 函数不使用分析区域的维度进行计算

  • 指定维度:无

数一数整张表有多少个大区

每季度大区的平均销售额是多少DEF_SUB(SUM_AGG(销售额),[所属大区])/DEF(COUNTD_AGG(所属大区))每个季度的销售额/大区的个数

4)将「每个季度大区平均销售额」拖入图表,在图表属性那里调整它的展现形式为「线」。如下图所示:

39.png

至此我们便完成了这个分析。