百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

FineBI的这几种分组处理方法,让数据更加直观、简单,分析更快

sinye56 2024-10-15 15:45 9 浏览 0 评论

FineBI:工具体验地址!

一、分组汇总基础功能

1.1 版本

FineBI 版本

JAR

功能变动

5.1

-

-

2020-08-04

删除自助数据集自定义分组中的复制到分组功能

5.1.6

2020-09-30

「实时数据」字段汇总方式增加「近似去重计数」的功能

注:支持的数据库版本:CLICKHOUSE、ORACLE(12.1或以上)、SQLSERVER(2019或以上)、PRESTO、REDSHIFT、VERTICA、MAXCOMPUTE。

5.1.10

2021-02-05

分组汇总支持设置「自定义同环比」,且支持按照「年」、「季度」、「月」、「周」设置同环比

5.1.11

2021-04-02

对字段重命名,对前边步骤中该字段的显示名无影响

5.1.17

-

文本字段开始支持字符串拼接,参见 2.3.3 节

1.2 应用场景

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

1.3 功能简介

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

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

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

2. 示例

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

2.1 添加数据表

1)登录数据决策系统,进入「数据准备>业务包」,点击「添加表>自助数据集」,如下图所示:

2)进入自助数据集配置界面,从业务包的数据表中选择需要的字段,右侧预览中即显示选择的字段,如下图所示:

注:此处只能选择已添加并进行数据更新的数据表,未更新的数据表不能用于创建自助数据集。

2.2 添加分组字段

2.2.1 选择分组字段

1)在左侧的操作流程中选择分组汇总,如下图所示:

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

2.2.2 设置分组方式

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

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

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

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

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

2.2.3 分组字段设置支持范围

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

字段类型

支持分组方式

说明

文本字段

  • 相同值为一组
  • 自定义分组
  • 相同值为一组即表示按照文本字段中的相同值分组
  • 自定义分组即表示对文本包含的字段中自行定义分组

数值字段

  • 相同值为一组
  • 区间分组
  • 相同值为一组即按照数值字段的相同值为一组
  • 区间分组包含两种方式:自动和自定义分组。
  • 自动分组系统默认根据最大最小值设置区间间隔,分为 5 组,其中区间间隔的数值也可修改。
  • 自定义分组默认按照自动分组的区间间隔设置分组,区间间隔可以修改。支持添加、修改、删除分组,同时支持对分组自定义命名和将未定义分组的剩余值分组到一个自定义命名的分组,且该项默认开启。

时间字段

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


2.3 添加汇总字段

2.3.1 选择汇总字段

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

2.3.2 设置汇总方式

点击字段「下拉」,对「合同金额」 选择「平均」汇总方式,如下图所示:

2.3.3 汇总字段设置支持范围

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

字段类型

支持分组方式

说明

文本字段

  • 去重计数
  • 记录个数
  • 字符串拼接
  • 近似去重计数 注:仅「实时数据」支持。
  • 去重计数是指将该字段中相同的值只统计一次,即统计不同值的个数,可以理解为count(distinct字段)
  • 记录个数是指记录这个字段一共有多少个,相当于count(*)
  • 字符串拼接是指按分组栏将该字段下的数据值进行字符串的拼接,拼接成一个值。
  • 当计算数据非常大时,传统的精确的去重计数可能算不出来,使用近似的去重计数可以很快计算出结果。

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

数值字段

  • 求和
  • 求平均
  • 求最大值
  • 求最小值
  • 去重计数
  • 近似去重计数 注:仅「实时数据」支持。
  • 记录个数
  • 求方差
  • 求标准差
  • 求中位数 默认为求和
  • 同比/环比

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

时间字段

  • 去重计数
  • 近似去重计数 注:仅「实时数据」支持。
  • 记录个数
  • 最早时间
  • 最晚时间
  • 去重计数是指将该字段中相同的值只统计一次,即统计不同值的个数,可以理解为count(distinct字段)
  • 当计算数据非常大时,传统的精确的去重记录数可能算不出来,使用近似的去重记录数可以很快计算出结果。

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

  • 记录个数是指记录这个字段一共有多少个,相当于count(*)
  • 最早时间和最晚时间指的是分组内的最早、最晚时间。

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

2.4 效果查看

分组汇总设置完毕以后点击右上角的保存按钮并在更新数据后,在业务包中能看到新建的自助数据集,如下图所示:

3. 注意事项

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

二、分组汇总实现去重

1. 概述

1.1 预期效果

商家想将所有消费的用户名单统计出来,但是原始数据中,每个用户可能消费了多次,有多条数据。但我们只需要保留一条就可以了,此时就可以使用「分组汇总」实现去重操作。

1.2 实现思路

分组汇总除了它最基本的功能——分组后对数据进行汇总,用户还可以用它完成简单的去重操作。

2. 操作步骤

2.1 上传数据

1)下载示例数据:订单数据.xlsx

2)将示例数据上传至 FineBI ,如下图所示:

2.2 使用分组汇总去重

1)创建一个自助数据集用户名单,勾选「订单数据」的所有字段,如下图所示:

2)添加分组汇总,将需要的客户信息拖入到「分组栏」中,如下图所示:

3)保存并更新该自助数据集。

操作后相同的用户只保留一条信息,如此便可以获得一个客户列表了。

三、取最晚时间的数据

1. 概述

1.1 版本

FineBI 版本

5.1

1.2 预期效果

有相同门店ID 的信息,用户只希望保留同一门店最新时间的数据,也就是2020-10-15的数据,如下图所示:

1.3 实现思路

使用 分组汇总 设置汇总依据为「最晚时间」即可。

2. 操作步骤

示例数据:示例数据.xlsx

上传 示例数据至 FineBI 。

2.1 创建自助数据集

创建自助数据集并选择「示例数据」下的所有字段,如下图所示:

2.2 求最晚时间

新增「分组汇总」,将「新增门店ID」「地区」拖入分组,将「时间」拖入汇总栏,设置汇总方式为「最晚时间」,如下图所示:

命名并保存自助数据集。

2.3 效果展示

详情参见本文 1.2 节。

3. 注意事项

若需要在仪表板中计算最晚时间,可参见:日期最大值-仪表板

相关推荐

程序员:JDK的安装与配置(完整版)_jdk的安装方法

对于Java程序员来说,jdk是必不陌生的一个词。但怎么安装配置jdk,对新手来说确实头疼的一件事情。我这里以jdk10为例,详细的说明讲解了jdk的安装和配置,如果有不明白的小伙伴可以评论区留言哦下...

Linux中安装jdk并配置环境变量_linux jdk安装教程及环境变量配置

一、通过连接工具登录到Linux(我这里使用的Centos7.6版本)服务器连接工具有很多我就不一一介绍了今天使用比较常用的XShell工具登录成功如下:二、上传jdk安装包到Linux服务器jdk...

麒麟系统安装JAVA JDK教程_麒麟系统配置jdk

检查检查系统是否自带java在麒麟系统桌面空白处,右键“在终端打开”,打开shell对话框输入:java–version查看是否自带java及版本如图所示,系统自带OpenJDK,要先卸载自带JDK...

学习笔记-Linux JDK - 安装&配置

前提条件#检查是否存在JDKrpm-qa|grepjava#删除现存JDKyum-yremovejava*安装OracleJDK不分系统#进入安装文件目...

Linux新手入门系列:Linux下jdk安装配置

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:L...

测试员必备:Linux下安装JDK 1.8你必须知道的那些事

1.简介在Oracle收购Sun后,Java的一系列产品就被整合到Oracle官网中,打开官网乍眼一看也不知道去哪里下载,还得一个一个的摸索尝试,而且网上大多数都是一些Oracle收购Sun前,或者就...

Linux 下安装JDK17_linux 安装jdk1.8 yum

一、安装环境操作系统:JDK版本:17二、安装步骤第一步:下载安装包下载Linux环境下的jdk1.8,请去官网(https://www.oracle.com/java/technologies/do...

在Ubuntu系统中安装JDK 17并配置环境变量教程

在Ubuntu系统上安装JDK17并配置环境变量是Java开发环境搭建的重要步骤。JDK17是Oracle提供的长期支持版本,广泛用于开发Java应用程序。以下是详细的步骤,帮助你在Ubuntu系...

如何在 Linux 上安装 Java_linux安装java的步骤

在桌面上拥抱Java应用程序,然后在所有桌面上运行它们。--SethKenlon(作者)无论你运行的是哪种操作系统,通常都有几种安装应用程序的方法。有时你可能会在应用程序商店中找到一个应用程序...

Windows和Linux环境下的JDK安装教程

JavaDevelopmentKit(简称JDK),是Java开发的核心工具包,提供了Java应用程序的编译、运行和开发所需的各类工具和类库。它包括了JRE(JavaRuntimeEnviro...

linux安装jdk_linux安装jdk软连接

JDK是啥就不用多介绍了哈,外行的人也不会进来看我的博文。依然记得读大学那会,第一次实验课就是在机房安装jdk,编写HelloWorld程序。时光飞逝啊,一下过了十多年了,挣了不少钱,买了跑车,娶了富...

linux安装jdk,全局配置,不同用户不同jdk

jdk1.8安装包链接:https://pan.baidu.com/s/14qBrh6ZpLK04QS8ogCepwg提取码:09zs上传文件解压tar-zxvfjdk-8u152-linux-...

运维大神教你在linux下安装jdk8_linux安装jdk1.7

1.到官网下载适合自己机器的版本。楼主下载的是jdk-8u66-linux-i586.tar.gzhttp://www.oracle.com/technetwork/java/javase/downl...

window和linux安装JDK1.8_linux 安装jdk1.8.tar

Windows安装JDK1.8的步骤:步骤1:下载JDK打开浏览器,找到JDK下载页面https://d.injdk.cn/download/oraclejdk/8在页面中找到并点击“下载...

最全的linux下安装JavaJDK的教程(图文详解)不会安装你来打我?

默认已经有了linux服务器,且有root账号首先检查一下是否已经安装过java的jdk任意位置输入命令:whichjava像我这个已经安装过了,就会提示在哪个位置,你的肯定是找不到。一般我们在...

取消回复欢迎 发表评论: