历史版本39 :分组汇总 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineBI 版本
功能变动
6.0 -
6.0.3分组汇总增加「汇总条件」,详情见本文第 2.4 节

1.2 应用场景

例如用户需要将产品名称相同的数据合并在一起并计算对应的汇款金额,示例效果如下所示:

1596011262169860.png

1.3 功能简介

分组汇总是指对原始数据根据条件将相同的数据先合并到一组,然后按照分组后的数据进行汇总计算。

BI 中通过设置分组字段和汇总字段实现。

分组汇总,在编辑界面顶部和右侧都有入口。如下图所示:

2022-08-06_21-47-39.png

1.4 年周粒度的周计算逻辑说明

年周粒度的周计算逻辑采用 iso标准的周逻辑 ,每周开始的第一天为周日,每年包含 52 或 53 周,每年的第一周必须包含 1 月 4 日。从而保证每周都有 7 天的数据,更符合业务场景。  周开始的时间可参考 常规参数 的 2.9 节修改。

2. 示例编辑

本例展示每个季度长期合同与短期合同对应合同金额平均值。

2.1 添加数据表

1)添加「公共数据>功能数据>销售DEMO>合同事实表」进入数据编辑界面;

2)点击「字段设置」,取消勾选「合同ID、客户ID、是否已发货」,如下图所示:

2022-08-06_21-44-26.gif

2.2 添加分组字段

2.2.1 选择分组字段

1)在操作流程中选择「分组汇总」;

2)进入分组汇总配置界面,拖入字段「合同签约时间」和「合同类型」进行分组汇总。如下图所示:

2022-08-06_22-10-43.png

2.2.2 设置分组方式

1)点击字段「下拉」,对「合同签约时间」 选择「年季度」分组方式,如下图所示:

1656036588523141.jpg

2)点击字段「下拉」,对「合同类型」 选择「自定义」分组方式,如下图所示:

2022-06-24_10-10-09.jpg

弹出设置框,点击「添加分组」,修改组名为「长期订单」,如下图所示:

2022-06-24_10-11-40.jpg

选择「长期协议订单」和「长期协议」,点击「移动到」,将其移动至「长期订单」分组下,如下图所示:

2022-06-24_10-12-32.jpg

勾选未分组的值分到,输入分组名为「短期订单」,点击「确定」,则分组成功,如下图所示:

2022-06-24_10-13-58.jpg

2.3 添加汇总字段

2.3.1 选择汇总字段

将「合同金额」字段拖入汇总栏,如下图所示:

1659796057536507.jpg

2.3.2 设置汇总方式

点击字段「下拉」,对「购买数量」 选择「平均」汇总方式,如下图所示:

2022-09-08_19-15-21.png

2.4 添加汇总条件

FineBI6.0.3 支持对分组汇总的数据添加「汇总条件」。在分组汇总前,明细过滤出符合条件的数据。

例如,希望得到已交货订单的分组汇总情况。则,继续点击汇总字段「合同金额>下拉>汇总条件」。如下图所示:

2022-09-08_19-15-21.png

进入「汇总条件」可以对数据添加汇总条件。如下图所示:

注:关于如何添加汇总条件,可以参考文档 过滤 中过滤条件的添加逻辑。

2022-09-08_19-21-39.png

2.5 效果查看

分组汇总设置完毕以后点击右上角的「保存并更新」数据预览效果如下图所示:

2022-09-08_19-26-58.png

3. 分组汇总说明编辑

3.1 分组字段设置支持范围

分组字段支持添加「文本字段」、「数值字段」、「时间字段」,默认不填入字段,均支持重命名、删除字段操作。


字段类型
支持分组方式说明
文本字段
  • 相同值为一组

  • 自定义分组

  • 相同值为一组即表示按照文本字段中的相同值分组

  • 自定义分组即表示对文本包含的字段中自行定义分组

数值字段
  • 相同值为一组

  • 区间分组

  • 相同值为一组即按照数值字段的相同值为一组

  • 区间分组包含两种方式:自动和自定义分组。

  • 自动分组系统默认根据最大最小值设置区间间隔,分为 5 组,其中区间间隔的数值也可修改。

  • 自定义分组默认按照自动分组的区间间隔设置分组,区间间隔可以修改。支持添加、修改、删除分组,同时支持对分组自定义命名和将未定义分组的剩余值分组到一个自定义命名的分组,且该项默认开启。

时间字段支持 17 种分组类型,包括年月日、年份、季度、月份、星期、日、周数、时、分、秒、年季度、年月、年周数、年月日时、年月日时分、年月日时分秒


3.2 汇总字段设置支持范围

汇总字段支持添加「文本字段」、「数值字段」、「时间字段」,默认不填入字段,均支持重命名、删除字段操作。

字段类型支持分组方式
说明
文本字段
  • 去重计数

  • 记录个数

  • 字符串拼接

  • 近似去重计数 注:仅「实时数据」支持。


  • 去重计数是指将该字段中相同的值只统计一次,即统计不同值的个数,可以理解为count(distinct字段)

  • 记录个数是指记录这个字段一共有多少个,相当于count(*)

  • 字符串拼接是指按分组栏将该字段下的数据值进行字符串的拼接,拼接成一个值。

  • 当计算数据非常大时,传统的精确的去重计数可能算不出来,使用近似的去重计数可以很快计算出结果。

注:计算结果精确度取决于数据库类型和数据量,理论上数据量越小与去重计数结果差别越小。

数值字段
  • 求和

  • 求平均

  • 求最大值

  • 求最小值

  • 去重计数

  • 近似去重计数 注:仅「实时数据」支持。

  • 记录个数

  • 求方差

  • 求标准差

  • 求中位数 默认为求和

  • 同比/环比

其中同期、同比增长值、同比增长率又有年、季度、月、周的时间周期选项。(同比、环比的详细使用请参考同比/环比(快速计算) )
时间字段
  • 去重计数

  • 近似去重计数 注:仅「实时数据」支持。

  • 记录个数

  • 最早时间

  • 最晚时间


  • 去重计数是指将该字段中相同的值只统计一次,即统计不同值的个数,可以理解为count(distinct字段)

  • 当计算数据非常大时,传统的精确的去重记录数可能算不出来,使用近似的去重记录数可以很快计算出结果。

注:计算结果精确度取决于数据库类型和数据量,理论上数据量越小与去重计数结果差别越小。

  • 记录个数是指记录这个字段一共有多少个,相当于count(*)

  • 最早时间和最晚时间指的是分组内的最早、最晚时间。

注:「近似去重计数」功能支持的数据库版本:CLICKHOUSE、ORACLE(12.1或以上)、SQLSERVER(2019或以上)、PRESTO、REDSHIFT、VERTICA、MAXCOMPUTE。当数据库系统为REDSHIFT时,由于REDSHIFT的限制,只能同时对同一个字段做需要排序的聚合操作(如求去重计数、中位数、百分位、近似去重计数),同时对2个或以上的字段做此种聚合操作会发生错误。当数据库系统为VERTICA时,由于VERTICA的限制,只能同时使用(精确)去重计数或近似去重计数中的一个。

4. 注意事项编辑

4.1 数值无穷无法选择区间分组

若选择的分组字段为数值型,且数值大小为无穷时,无法选择区间分组选项,点击区间分组后无反应。如下图所示:

1574663924194291.png

4.2 权限继承提示

当前用户(制作者)受行权限控制时,行权限字段未拖入分组提示为:「因权限继承影响,导致当前数据计算结果异常。 请根据血缘关系,将【XXX】表的【XX】字段加入到分组内」。

如Anna的地区维度表被添加了行权限,地区属于杭州。则Anna使用该表进行分组汇总时,需要拖入地区字段,否则会出现提示,如下图所示:

2022-09-13_13-43-59.png