百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

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

ccwgpt 2024-12-05 12:06 180 浏览 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. 注意事项

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

相关推荐

RACI矩阵:项目管理中的角色与责任分配利器

作者:赵小燕RACI矩阵RACI矩阵是项目管理中的一种重要工具,旨在明确团队在各个任务中的角色和职责。通过将每个角色划分为负责人、最终责任人、咨询人和知情人四种类型,RACI矩阵确保每个人都清楚自己...

在弱矩阵组织中,如何做好项目管理工作?「慕哲制图」

慕哲出品必属精品系列在弱矩阵组织中,如何做好项目管理工作?【慕哲制图】-------------------------------慕哲制图系列0:一图掌握项目、项目集、项目组合、P2、商业分析和NP...

Scrum模式:每日站会(Daily Scrum)

定义每日站会(DailyScrum)是一个Scrum团队在进行Sprint期间的日常会议。这个会议的主要目的是为了应对Sprint计划中的不断变化,确保团队能够有效应对挑战并达成Sprint目标。为...

大家都在谈论的敏捷开发&Scrum,到底是什么?

敏捷开发作为一种开发模式,近年来深受研发团队欢迎,与瀑布式开发相比,敏捷开发更轻量,灵活性更高,在当下多变环境下,越来越多团队选择敏捷开发。什么是敏捷?敏捷是一种在不确定和变化的环境中,通过创造和响应...

敏捷与Scrum是什么?(scrum敏捷开发是什么)

敏捷是一种思维模式和哲学,它描述了敏捷宣言中的一系列原则。另一方面,Scrum是一个框架,规定了实现这种思维方式的角色,事件,工件和规则/指南。换句话说,敏捷是思维方式,Scrum是规定实施敏捷哲学的...

敏捷项目管理与敏捷:Scrum流程图一览

敏捷开发中的Scrum流程通常可以用一个简单的流程图来表示,以便更清晰地展示Scrum框架的各个阶段和活动。以下是一个常见的Scrum流程图示例:这个流程图涵盖了Scrum框架的主要阶段和活动,其中包...

一张图掌握项目生命周期模型及Scrum框架

Mockito 的最佳实践(mock方法)

记得以前面试的时候,面试官问我,平常开发过程中自己会不会测试?我回答当然会呀,自己写的代码怎么不测呢。现在想想我好像误会他的意思了,他应该是想问我关于单元测试,集成测试以及背后相关的知识,然而当时说到...

EffectiveJava-5-枚举和注解(java枚举的作用与好处)

用enum代替int常量1.int枚举:引入枚举前,一般是声明一组具名的int常量,每个常量代表一个类型成员,这种方法叫做int枚举模式。int枚举模式是类型不安全的,例如下面两组常量:性别和动物种...

Maven 干货 全篇共:28232 字。预计阅读时间:110 分钟。建议收藏!

Maven简介Maven这个词可以翻译为“知识的积累”,也可以翻译为“专家”或“内行”。Maven是一个跨平台的项目管理工具。主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。仔...

Java单元测试框架PowerMock学习(java单元测试是什么意思)

前言高德的技术大佬在谈论方法论时说到:“复杂的问题要简单化,简单的问题要深入化。”这句话让我感触颇深,这何尝不是一套编写代码的方法——把一个复杂逻辑拆分为许多简单逻辑,然后把每一个简单逻辑进行深入实现...

Spring框架基础知识-第六节内容(Spring高级话题)

Spring高级话题SpringAware基本概念Spring的依赖注入的最大亮点是你所有的Bean对Spring容器的存在是没有意识的。但是在实际的项目中,你的Bean必须要意识到Spring容器...

Java单元测试浅析(JUnit+Mockito)

作者:京东物流秦彪1.什么是单元测试(1)单元测试环节:测试过程按照阶段划分分为:单元测试、集成测试、系统测试、验收测试等。相关含义如下:1)单元测试:针对计算机程序模块进行输出正确性检验工作...

揭秘Java代码背后的质检双侠:JUnit与Mockito!

你有没有发现,现在我们用的手机App、逛的网站,甚至各种智能设备,功能越来越复杂,但用起来却越来越顺畅,很少遇到那种崩溃、卡顿的闹心事儿?这背后可不是程序员一拍脑袋写完代码就完事儿了!他们需要一套严谨...

单元测试框架哪家强?Junit来帮忙!

大家好,在前面的文章中,给大家介绍了以注解和XML的方式分别实现IOC和依赖注入。并且我们定义了一个测试类,通过测试类来获取到了容器中的Bean,具体的测试类定义如下:@Testpublicvoid...

取消回复欢迎 发表评论: