如何用BI工具对数据进行预处理?数据分析的这项技巧你必须掌握。

news2025/4/4 14:02:14

在当今数字化时代,数据不仅是企业决策的基础,也是创新和发展的关键推动力。在面对庞大而复杂的数据集时,如何进行高效的预处理成为了数据分析领域中至关重要的一步。

ea03357571b301d9438b0023e95a386d.jpeg

在进行数据处理和分析的日常工作中,业务普遍使用Excel和SQL这两个经典的工具。然而,使用这两个工具进行数据处理,在实际的过程中可能遇到的一些问题:

 

Excel:

  • 限制于数据规模: Excel在处理大规模数据时可能会变得缓慢且占用大量内存,导致性能下降。这对于处理数百万行的数据集可能是一个挑战。
  • 手动操作误差: Excel通常需要手动进行数据清理和转换,这增加了人为出错的可能性。公式和数据操作的复制粘贴可能导致错误的结果,特别是在复杂的数据处理任务中。
  • 版本控制问题: 在团队协作中,如果多个人同时编辑Excel文件,容易导致版本冲突,使得数据处理流程难以管理和跟踪。
  • 有限的自动化能力: Excel的自动化功能相对有限,特别是在处理大型、复杂的数据集时,自动化处理和重复利用的能力相对较弱。

 

SQL:

  • 复杂的语法: SQL语法相对复杂,对于初学者来说,学习和理解SQL可能需要一些时间。写复杂的查询语句可能容易出现错误,而调试这些错误可能会耗费时间。
  • 处理字符串操作相对繁琐: 在SQL中,对字符串的处理相对繁琐,尤其是涉及到文本分割、合并和模糊匹配等操作时,可能需要编写复杂的代码。
  • 性能问题: 对于大规模数据集,一些查询可能会导致性能问题,需要优化查询语句或者使用索引来提高效率。
  • 难以处理非结构化数据: SQL更适用于关系型数据库,对于非结构化或半结构化数据的处理相对困难,需要在SQL外引入其他工具。

 

随着数据规模和复杂性的不断增加,以及对实时决策的需求日益迫切,业界逐渐转向更为高效、灵活的BI(商业智能)工具。对比于Excel和SQL在处理大规模、复杂数据时所面临的诸多挑战,BI工具以其强大的自动化和直观性,为用户提供了更为高效和便捷的数据处理解决方案。在这篇文章中,我们就将深入讲解使用BI工具进行数据预处理的关键技巧,希望能为已经引入BI工具的企业员工提供数据分析的帮助与思路!

示例中提到的数据分析模板分享给大家——
https://s.fanruan.com/427eu

零基础快速上手,还能根据需求进行个性化修改哦 


第一步:学会如何调整并简化数据结构

1、调整数据结构

在进行数据分析之前,往往需要对数据结构进行特定的处理,以便更有效地进行后续分析工作。原始数据通常并非直接符合我们分析的需求,因此必须进行一些行列转换的操作,以便调整数据的格式和结构,使其适应分析的要求。

 

在FineBI里,我们通过数据编辑内封装的功能“拆分行列”和“行列转换,迅速、灵活地实现对数据的调整和重组,从而达到快速获得所需分析结果的目的。通过“拆分行列”功能,我们能够将原始数据按照指定的规则进行拆分,从而分离出所需的信息。而“行列转换”则允许我们在数据集中对行与列进行灵活的转换,以满足不同的分析需求。

 

原数据结构:字段内容混杂,不利于开展分析

0168ef8ed310231bfa91f795548e62f8.jpeg

 

处理后数据结构:拆分行列并转换后,字段结构简单清晰

5e8cf68e2ed888efe1cdabaa5ebd2205.jpeg

 

 

2、处理重复行数据

在实际的业务分析过程中,数据质量问题常常成为业务顺利进行分析的最主要障碍。其中,最为常见和棘手的问题之一就是重复行的存在。在处理这些重复行时,我们通常会面临两种主要情况,每一种都需要特定的处理方式。

 

首先,是那种删除任意一行都不会对分析结果产生实质性影响的情况,比如数据中存在类似“A、A、A”的重复行,而只需保留其中的一个“A”即可。针对这种情况,FineBI内封装了“删除重复行”功能,能够在业务分析中快速而便捷地实现这一操作。通过这个功能,我们能够轻松地剔除冗余的数据,以确保数据集的干净整洁,有利于后续准确的业务分析。

 

其次,还存在另一种情况,即需要有选择地保留特定的一行数据。例如,在系统中同一个客户可能有两行不同的数据记录,而在进行分析时,我们可能需要有针对性地选择保留最新录入的一条数据。在这种“A、B、C”中只需取A的场景下,我们首先通过对数据表进行排序,确保最新的数据位于数据表的顶部,再利用“删除重复行”的逻辑,只保留最上方的一行数据,从而达到筛选并保留特定行的目的。这一流程既简洁又有效,为业务分析提供了灵活而可控的数据清洗手段。而表头下拉菜单对字段内容进行统计的功能,也让检查重复行变得更加简单。

 

17c9a4562922c2ed52af13f13ce93fdc.jpeg

功能封装,选择去重字段快速去重

e5d2c4d849acc4555224c427247e0216.jpeg

 

 

3、对null值的处理

在各种业务场景中,处理null值是一种不可避免的挑战,而不同的业务场景往往需要采用截然不同的处理策略。

当面临大规模数据集时,如果null值的出现相对较少,而这些空值并不会对总和或平均值等计算产生显著波动,那么我们通常可以直接忽略这些null值。这种处理方式在数据量庞大的情况下能够有效减少对计算结果的影响。

另一方面,对于那些在处理中希望将null值视为脏数据,从而整行剔除的情况,我们可以借助表头的快捷过滤功能迅速排除这些空值。这种方法通过使用表头的筛选工具,能够方便地将包含null值的整行数据剔除,从而确保数据的整洁性和准确性。

 

08a83d4f3cb014f5cd9a81ff36d87bc7.jpeg

 

以上都是简单的场景处理,而在实际业务中,可能会遇到null值存在业务含义的情况。

例如示例中的数据,这位同学英语成绩为空的原因可能是他本身就因病没参加考试,此时既不能放着不管,也不能直接删去他的这一行数据。

对于这种情况,我们要做的是针对某一类特殊情况打上对应的标签,以便在后续的分析中,有选择地过滤。在FineBI中,可以用“新增公式列”或者更方便的“条件标签列”来实现。

 

e0961f4cb723b8790053492a3cd3858f.jpeg

对存在空值成绩的同学打上缺考标签

 

第二步:学会如何对多张表进行合并分析

多表合并分析是指在数据分析过程中,将来自多个不同数据表的信息合并在一起进行综合分析的方法。在实际业务或研究中,数据通常分布在多个表格中,而多表合并分析的目的是为了获取更全面、更综合的信息,从而得出更深刻的结论。

这个过程通常包括以下几个步骤:

  • 数据连接(Joining): 多表合并分析的第一步是通过某种关联关系将多个表格中的数据连接起来。这通常需要通过共享的关键字段(例如,客户ID、产品编号等)来建立连接,以确保正确关联相关数据。
  • 数据合并(Merging): 一旦连接建立,接下来的步骤是将相关表格的数据合并成一个更大的数据集。这可以通过不同的合并方法实现,例如内连接、左连接、右连接或外连接,取决于分析者对数据的需求。
  • 数据分析(Analysis): 合并后的数据集可以用于更深入的分析,例如生成统计指标、建立模型、进行趋势分析等。由于数据来自多个源头,多表合并分析有助于获得更全局的视角,使得分析结果更加全面和有说服力。

 

实际业务中,我们所需要的数据往往来自于多张表。在分析前,另外一个大难题就是,如何合并这些表。我们为刚上手BI的业务人员,归纳了以下两种合并的场景。

我们首先想象合并后表的状态,一种是表格上下扩展,分析的字段并没有增加,但是行数变多了。此时可以使用“上下合并”快速完成表的拼接。

37c2b878f0f601db3447649d45107b6b.jpeg

表格上下扩展,分析的字段并没有增加

 

另一种复杂的情况是合并后的表格是横向扩展的,即分析的字段变多了。

在讨论左右合并前,我们不妨先看看“其他表添加列”

也许你对这个名字摸不着头脑,但是肯定不会对Excel的Vlookup、Sumif感到陌生

没错,这个功能可以将其他表的指标字段进行聚合后合并(Sumif)或是查询对应的维度匹配到这张表中(Vlookup)。

624a3793942290f7c8bb3fa8bb972fe3.jpeg

成绩根据要求求和后作为一个新的字段,依据“姓名”合并到本表中

 

而对SQL老练的玩家来说,left join、right join…..可能更加亲切,此时可以选择BI数据编辑中的“左右合并”功能,与SQL的逻辑一致,且比SQL的操作更加便捷,并不需要代码来实现,有基础的朋友可以很快上手。

 

第三步:学会新增计算及分析指标

在简化数据结构、并将多表进行合并处理后,我们需要停下来,审视一下自己所分析的问题,以及对应这个问题所需要的指标是否已经在表中了。

一般来说,事情可能没有这么顺利,当然这也在常理之中,比如在零售行业的分析中,往往需要我们自己计算毛利率、增长率等指标。

在开始分析前,我们可以将这些计算指标增添到数据表中。怎么做呢?

首先是最令人熟悉的“新增公式列”,这个功能和Excel中写公式一样,只需要输入对应的公式就能产生对应的字段。接着是一些常用计算的封装功能,“新增汇总列”可以帮助我们进行简单的聚合计算。

选择对应的分组以及计算方式,对指标进行计算

“条件标签列”这个功能则解决了众多分析师日常最头疼的IF嵌套问题,不需要写嵌套了七八层的IF公式,只需通过鼠标配置不同的条件,就可以对数据赋予不同的标签(值)。

990a72037180d51a003137fe0dff053d.jpeg

通过添加特定条件筛选数据并赋予对应的标签

 

第四步:学会对数据进行校验

刚接触BI的朋友遇到最大的问题不仅在于不理解BI许多功能的计算逻辑,更在于由此产生的对数据处理结果的不信任。“我这么做,出来的结果是对的吗?”是新手朋友最常问自己的一个问题。为了方便用户进行校验,数据编辑界面也内置了很多便利的功能。

 

1、表头数据校验

选中字段后,可以在左下角快速获得平均值、总和、记录数等数据,我们可以通过对熟悉的数据进行校验,结合经验来判断是否正确。

a7539bbf327447e7ccda53735e3a73c6.jpeg

数学成绩字段校验得出平均分85.92,符合班级历史平均水平

 

2、步骤区关键步骤取消应用

BI可以在处理步骤间插入新的步骤,同时也可以设置某些步骤暂时取消生效。

利用这一点,我们可以通过过滤出部分关键数据,并取消应用一些疑惑的关键步骤来进行试错。就如同刚学数学时习惯性的多次验算一样,虽然对老玩家略显繁琐,但的确是最令新手放心的定心丸。

ccc82e6a030d0d99807c3b8a3ba0b0de.jpeg

通过表头快速过滤出少部分数据进行“抽样检测”

dfeb4d57b54160f17b7491b08e1dd689.jpeg

灵活运用步骤区的小技巧帮助自己快速检查

18f63f1205c243cb9d109273a929a26b.jpeg

 

结语

综上所述,BI工具为数据预处理提供了强大而灵活的平台,通过掌握其中的技巧,我们能够更加高效地应对复杂的数据情境,为业务决策提供更有力的支持。在这个数据驱动的时代,深谙数据预处理之道,将成为每位数据分析专业人士必须具备的重要技能。不仅能够提升分析效率,更能够确保我们从数据中挖掘出准确、深刻的见解,为业务的成功铺平道路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1509603.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

异步编程和asyncio

介绍异步编程的重要性和在Python中的应用,特别是在I/O密集型任务和网络编程场景下。 目录 理解异步编程 异步编程基本概念 任务与Future 异步编程的工作原理 事件循环 协程(Coroutines) 异步与同步代码的结合 深入asyncio模块 事件循…

day61 数据库约束 jdbc

回顾 1 SQL语句的分类 2创建表的语法 create table 表名( 列名 数据类型 not null, 列名 数据类型 ); 3 删除表 drop table 表名; 数据完整性分类 1实体完整性 (表中每条记录唯一) 2域完整性 3引用完整性 数据完整性约束 实体完整性约束 主键约束 表…

使用 mysqldump 迁移 MySQL 表 OceanBase

使用 mysqldump 迁移 MySQL 表 OceanBase 一、什么是mysqldump二、使用mysqldump导出MySQL数据三、将数据导入到OceanBase四、注意 一、什么是mysqldump mysqldump 是 MySQL 数据库管理系统中的一个工具,用于将数据库中的数据导出为文本文件。它可以将整个数据库、…

spring boot 访问 static public 目录下的静态资源报404解决办法

1.前提是你没有修改spring boot 默认拦截路径,跟默认访问资源的目录。 在idea 设置中 把 compiler 下的 Buid project automatically 勾选上

多场成像,快速提高机器视觉检测能力--51camera

多阵列CMOS传感器与芯片级涂层二向色滤光片相结合,可在单次扫描中同时捕获明场、暗场和背光图像。 多场成像是一种新的成像技术,它可以在不同的光照条件下同时捕获多幅图像。再加上时间延迟积分(TDI),这种新兴的成像技术可以克服许多限制的传…

关于VScode中使用yapf,更改settings.json文件中的column_limit没有作用的解决方法。

目录 一、yapf一行中最大字符限制修改 二、忽略flake8对一行中最大字符限制警告 写在前面,不知道啥情况,按照常见的方式更改settings.json文件不起作用,如这些大佬的文章VSCode配置yapf python格式化 配置一行的长度 、vscode中使用yapf自动格…

思科网络中如何配置扩展ACL协议

一、什么是扩展ACL协议?有什么作用及配置方法? (1)扩展ACL(Extended Access Control List)协议是一种网络安全协议,用于在路由器或防火墙上实现对数据包的细粒度访问控制。与标准ACL相比&#…

【Python】牛客网—软件开发-Python专项练习

专栏文章索引:Python 1.(单选)下面哪个是Python中不可变的数据结构? A.set B.list C.tuple D.dict 可变数据类型:列表list[ ]、字典dict{ }、集合set{ }(能查询,也可更改)数据发生改…

对象注入的几种方式

⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:JavaEE 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 注入对象 1. 属性注入2. 构造方法注入3. S…

RabbitMQ详解与常见问题解决方案

文章目录 什么是 RabbitMQ?RabbitMQ 和 AMQP 是什么关系?RabbitMQ 的核心组件有哪些?RabbitMQ 中有哪几种交换机类型?Direct Exchange(直连交换机)Topic Exchange(主题交换机)Headers Exchange(头部交换机)Fanout Exchange(广播交…

(黑马出品_07)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

(黑马出品_07)SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术分布式搜索 今日目标1.数据聚合1.1.聚合的种类1.2.DSL实现聚合1.2.1.Bucket聚合语法1.2.2.聚合结果排序1.2.3.限定聚合范围1.2.4.Metric聚合语法1.2.5.小…

01_04_JavaWEB03_XML、Tomcat、http

XML_Tomcat10_HTTP 参考尚硅谷再总结复习 一 XML XML是EXtensible Markup Language的缩写,翻译过来就是可扩展标记语言。所以很明显,XML和HTML一样都是标记语言,也就是说它们的基本语法都是标签。 可扩展 三个字表面上的意思是XML允许自定义…

云服务器2核4G配置,阿里云和腾讯云哪个便宜?性能更好?

租用2核4G服务器费用多少?2核4G云服务器多少钱一年?1个月费用多少?阿里云2核4G服务器30元3个月、轻量应用服务器2核4G4M带宽165元一年、企业用户2核4G5M带宽199元一年;腾讯云轻量2核4G服务器5M带宽165元一年、252元15个月、540元三…

RNN实战

本主要是利用RNN做多分类任务,在熟悉RNN训练的过程中,我们可以理解 1)超参数 batch_size和pad_size对训练过程的影响。 2)文本处理过程中是如何将文本的文字表示转化为向量表示 3)RNN梯度消失和序列长度的关系 4&#…

企商在线CTO楼炜:论云计算与产业互联网

024年全国两会召开之际,3月4日,全国政协委员、京东集团技术委员会主席曹鹏提交了《发挥产业互联网平台作用 打造实体产业数字化转型直效通道》提案,提出了产业互联网平台在整合供应链、资金、技术、资讯、培训、人才等各类资源的重要作用。云…

python实现生成树

生成树 生成树(Spanning Tree)是一个连通图的生成树是图的极小连通子图,它包含图中的所有顶点,并且只含尽可能少的边。这意味着对于生成树来说,若砍去它的一条边,则会使生成树变成非连通图;若给…

ChatGpt只能看,但无法发送消息的解决办法

这几天发现chatgpt没法发送消息了,我以为是网络问题,又过了几天还是不能发,我以为是梯子的问题,可给我急坏了,于是我用无痕模式发现可以访问额. 但是无痕模式毕竟不是长久之计,于是找到了一个方法 1.首先把电脑缓存全清除了 第一种方法: 快捷键是 : ctrlshiftdel (这会吧浏览…

电脑切屏卡顿,尤其是打游戏时切屏卡顿问题解决方法

博主在打游戏时喜欢切后台但是最近发现切屏尤其慢,异常卡顿,但是是新换的电脑,所以苦恼了半天,上网搜也没有结果,说的都是些配置低,系统文件损坏等问题,所以再检查分辨率时发现问题所在 屏幕分辨…

Visual Studio 2022 配置“Debug|x64”的 Designtime 生成失败。IntelliSense 可能不可用。

今天写代码,无缘无故就给我整个这个错误出来,我一头雾水。 经过我几个小时的奋战,终于解决问题 原因就是这个Q_INTERFACES()宏,我本想使用Q_DECLARE_INTERFACE Q_INTERFACES这两个Qt宏实现不继承QObject也能使用qobjec…

jmeter压测实战

1,设置HTTP请求默认值 2,设置全局变量 3,新建线程组 4,设置私钥 5,每个接口新建一个事务控制器 6,新建Java请求 对于有sign签名的需要将jar包放在apache-jmeter-5.4.1\apache-jmeter-5.4.1\lib\ext目录下,然后引入进来。 除此之外,还需要下载bouncycastle.jar包放在…