数据准备可能是任何类型的严肃数据分析中最重要的步骤。虽然在一篇文章中试图涵盖如此广泛的知识领域是荒谬的,但我们已经准备了一份快速清单,你可以在准备分析数据时进行检查。希望这有助于你优化分析过程的数据准备工作,并确保涵盖所有重要步骤和基础。
什么是数据准备流程?
根据Aberdeen Group的报告,数据准备“是指旨在提高数据的质量,可用性,可访问性或可移植性的任何活动......数据准备的最终目标是为人员和分析系统提供清洁和可消耗的数据。转换为可操作的见解。“这可以包括一系列流程,但我们将专注于数据集成,数据分析,数据清理和数据治理。
在开始之前:定义业务问题
我们之前已经写过了在需求获取期间要问的问题,但作为一般指导原则 - 任何类型的数据分析都要从熟悉你要回答的业务问题和你想要衡量的KPI开始。
对业务需求的深刻理解将使你能够在以后将这些需求映射回你想要执行的数据和分析类型,而无法理解业务预期会看到的内容可能会导致很多以后浪费时间和精力 - 所以不要跳过这一步!
一旦掌握了业务期望作为分析的最终产品的内容,你就会想要开始深入研究数据。你要做的第一件事就是找到它。
1.数据在哪里?
第一组问题是指企业数据存储的物理位置。对于小型部署,这可以像一系列电子表格一样简单; 对于较大的数据库,你可能正在查看多个数据库,Hadoop数据湖,云源或数据仓库(了解数据库,数据集市和数据仓库之间的差异)。
你还需要了解你是否具有访问数据所需的权限,以及你将要处理的数据类型或格式。
你想在此阶段提出的问题是:
我的企业使用哪些数据源?
我是否拥有访问数据所需的权限或凭据?
每个数据集的大小是多少,我需要从每个数据集中获取多少数据?
我对每个数据库中的基础表和模式有多熟悉?
我是否需要所有数据进行更细粒度的分析,还是需要一个子集以确保更快的性能?
数据是否需要由于差异而标准化 - 例如,通过将来自SQL数据库的数据与NoSQL源(如MongoDB)相结合?
我是否需要分析来自外部源的数据,这些数据位于企业的数据存储之外?
2.你需要更改数据吗?
通常需要手动转换或操纵数据以进行有效分析。当各种表格或数据集对相同信息使用不同格式,数据不一致或包含重复信息,或者你希望以新方式对数据进行分组时,这可能是相关的。
这是你想要问的问题:
对于每个单独的来源 - 它是否完整?准确?最新?
在目前的状态下,我可以使用数据来回答我的业务问题吗?
如果存在不一致或冗余值,我需要做些什么来清理数据?是手动更改一些值还是需要更系统的方法?
我的工具是否可以连接到原始数据,以便我可以执行数据发现或高分辨率探索?
我能够在原始位置更改数据,还是需要在辅助环境中完成(例如,你没有权限来改变生产数据)?
3.你将如何连接数据?
如果你正在使用许多不同的数据源和表,则需要对数据建模,使仪表板用户能够通过连接不同表中的相关字段来快速接收即席查询的答案。数据模型中各个实体之间的关系将决定你未来分析能够回答的查询类型,以及它的效率。
首先询问:
连接这些字段后会发生什么关系?你会想要避免多对多的关系。
在未来的道路上添加数据源并对模型进行更改有多容易?
我们可以简化关系而不影响性能吗?请注意,这可能取决于你正在使用的数据准备和分析工具。
4.你是否需要进一步整合数据?
对于某些类型的更复杂的分析,你可能希望在现有表格之上创建新表格。这方面的一个例子可以是漏斗分析,你可以在其中获取有关正在进行的多阶段过程的基本信息,并创建各种记录将被分类的桶。
可以帮助你了解自己是否准备好的问题示例包括:
我是否需要为要执行的分析类型创建汇总表?
我是否需要将我正在使用的表中的数据与内部或外部联接联接起来,或者将这些表组合起来创建一个新表?
5.你将如何导入数据?
虽然在某些情况下你可以通过查询生产数据库来创建报告和分析,但大多数BI工具和实现都依赖于在辅助环境中创建数据的合并,这将作为你的分析数据库。你想问的问题包括:
本地或云服务器是否将我的数据移动到拥有足够的软件和硬件来处理我正在处理的数据量?这两者有点依赖,因为合适的软件可以降低硬件成本。
导入数据将如何影响我的生产环境?
6.你如何验证结果?
在你自豪地宣布数据准备工作完成之前,你需要确保最终结果是准确的,并且你在此过程中没有犯任何错误。要验证数据,请提出以下问题:
它在一般水平上是否有意义?
在我的分析环境中进行的计算是否返回与在原始数据上手动执行的相同计算相同的结果?
开始分析!
在完成上面的整个清单后,你将识别数据,转换数据,构建数据模型,将数据移动到分析数据库并验证结果。这可能是几小时,几天或更长时间 - 取决于你正在使用的数据量及其复杂性。
如果一切顺利,你很高兴 - 所以继续开始构建一些仪表板!并阅读我们的手机报表设计指南,以确保你遵循核心原则,这将有助于你用数据讲述清晰易懂的故事。