【愚公系列】《数据可视化分析与实践》020-数据集(多表关联数据集)

💎【行业认证·权威头衔】
✔ 华为云天团核心成员:特约编辑/云享专家/开发者专家/产品云测专家
✔ 开发者社区全满贯:CSDN博客&商业化双料专家/阿里云签约作者/腾讯云内容共创官/掘金&亚马逊&51CTO顶级博主
✔ 技术生态共建先锋:横跨鸿蒙、云计算、AI等前沿领域的技术布道者
🏆【荣誉殿堂】
🎖 连续三年蝉联"华为云十佳博主"(2022-2024)
🎖 双冠加冕CSDN"年度博客之星TOP2"(2022&2023)
🎖 十余个技术社区年度杰出贡献奖得主
📚【知识宝库】
覆盖全栈技术矩阵:
◾ 编程语言:.NET/Java/Python/Go/Node…
◾ 移动生态:HarmonyOS/iOS/Android/小程序
◾ 前沿领域:物联网/网络安全/大数据/AI/元宇宙
◾ 游戏开发:Unity3D引擎深度解析
🚀前言
前面对数据分析过程中数据来源的问题进行了详尽的探讨。本文将深入分析数据集的功能,介绍单表数据集、多表关联数据集和自定义SQL数据集的构建方法,并阐述数据集管理和定时同步数据的策略,为后续的数据分析或报表制作进行必要的数据准备。读者能够通过关联和处理表格中的数据,自由地组合并形成个性化的数据集合,以满足后续业务分析和图表制作的需求。
在DataEase中,数据集是核心的功能模块,为接下来的数据分析或报表制作进行必要的数据准备。DataEase中有3种数据集:单表数据集、自定义SQL数据集和多表关联数据集。这3种数据集各自适用于不同的使用场景。
在讲解3种数据集之前,先对DataEase中多元化的数据源进行概括性的分类,主要包括:数据库(涵盖OLTP、OLAP型数据库及数据湖)、API数据和本地文件。数据库中的数据是以表的形式存储的;API数据源通过接口获取数据后,数据在DataEase中也会被转化为数据表的形式并存储;同理,本地文件(如Excel文件)的每一个sheet页也会被转换成一张数据表。尽管这些表的命名规则可能略有不同,例如,API数据表以“api_”为前缀,Excel文件则以“excel”为前缀,数据库数据表则维持表原来的名字,但DataEase中最终的存储单位都是数据表。
因此,无论数据源的类型如何,一旦与DataEase连接,其数据最终都将以表的形式进行存储和展示。
🚀一、多表关联数据集
在现实的数据分析场景中,所需的信息往往分散在多个不同的数据表中。多表关联数据集是DataEase中一项强大的功能,它允许您通过直观的可视化界面,将来自多个数据表(甚至跨不同数据源)的数据,按照指定的关联条件(如共同的键值)和关联方式连接在一起,从而形成一个统一的、信息更完整的分析视图。这避免了在数据库中预先创建复杂视图或在应用层进行繁琐的数据整合,实现了自助式的数据融合。
🔎1.关联方式的核心概念
在创建关联时,您需要根据业务逻辑选择合适的关联方式,这决定了最终结果集中将包含哪些数据记录。DataEase主要支持三种标准的SQL关联方式:
-
左连接
- 关键词:
LEFT JOIN - 行为描述:以左表为基准表。结果集会包含左表中的所有记录。对于左表中的每条记录,系统会尝试在右表中寻找关联字段匹配的记录。
- 如果找到匹配,则会将右表中对应记录的字段值合并进来。
- 如果未找到匹配,则结果集中右表的所有字段值将显示为
NULL(空值)。
- 适用场景:当您需要分析左表的全部数据,并希望了解其中有多少在右表中有对应信息时。例如,分析所有客户(左表)及其订单情况(右表),没有订单的客户其订单信息字段为NULL。
- 关键词:
-
右连接
- 关键词:
RIGHT JOIN - 行为描述:与左连接相反,以右表为基准表。结果集会包含右表中的所有记录。对于右表中的每条记录,系统会尝试在左表中寻找关联字段匹配的记录。
- 如果找到匹配,则合并左表的字段值。
- 如果未找到匹配,则左表的所有字段值将显示为
NULL。
- 适用场景:与左连接场景相反,使用相对较少。
- 关键词:
-
内连接
- 关键词:
INNER JOIN - 行为描述:结果集仅包含那些在左表和右表中都存在关联字段匹配的记录。任何一方缺少匹配的记录都不会出现在最终结果中。
- 适用场景:当您只关心两个表之间存在明确关联的数据时。例如,只分析已发货的订单及其对应的商品详情,未发货的订单或没有对应订单的商品都不会被包含。
- 关键词:
核心区别记忆:
- 左连接:左表全要,右表匹配不上则补空。
- 右连接:右表全要,左表匹配不上则补空。
- 内连接:只要双方都有的匹配记录。
🔎2.实战:创建跨数据源的多表关联数据集
本节将演示一个高级且实用的场景:跨数据源关联。我们将基于以下三个表创建一个统一的关联数据集:
- 来源A(Excel数据源):
零食数据数据源中的excel_商品明细_d96203a22a表(假设为商品基础信息,如分类、供应商)。 - 来源B(MySQL数据源):
Demo数据源中的demo_snack_sale_details表(销售明细,包含销售流水、商品ID、数量等)。 - 来源C(MySQL数据源):
Demo数据源中的demo_snack_product_price表(商品价格表,包含商品ID、价格、生效日期等)。
目标:创建一个数据集,能够查看每一笔销售明细对应的商品基础信息和其价格。
🦋步骤一:进入数据集创建界面
- 登录DataEase,导航至 【数据准备】 → 【数据集】。
- 点击 【新建数据集】 按钮(图7-12中的“+”图标),进入数据集编辑器。
图7-12 点击新建数据集按钮
🦋步骤二:添加第一张表并建立首次关联
- 在左侧数据源面板,选择
Demo(MySQL)数据源。 - 将其下的
demo_snack_sale_details表拖拽到右侧的画布中(见图7-13)。这将成为我们关联的起点(初始左表)。
图7-13 拖拽第一个表(demo_snack_sale_details)至画布
- 将该表放入画布后,系统通常会提示或自动进入关联关系编辑状态。我们首先将其与同一数据源下的
demo_snack_product_price表关联。 - 在关联关系编辑页面(见图7-14):
- 选择关联表和字段:在右侧或弹出的界面中,选择
demo_snack_product_price表。 - 勾选所需字段:从两张表中勾选后续分析需要的字段(如销售表里的
销售ID、商品ID、销售数量,价格表里的单价、生效日期)。 - 设置关联方式:选择 【左连接】。这意味着我们要保留所有销售记录,即使某些销售记录在价格表中没有找到对应价格(可能价格未维护),其价格字段将为NULL。
- 设置关联条件:指定两张表通过哪个字段进行匹配。例如,选择
demo_snack_sale_details.商品ID关联demo_snack_product_price.商品ID。您还可以设置多个关联条件(如增加日期条件)。 - 确认:点击 【确认】 或 【保存】 按钮,完成第一次关联。
- 选择关联表和字段:在右侧或弹出的界面中,选择
图7-14 设置第一个关联关系(左连接)
🦋步骤三:跨数据源添加并关联第三张表
- 现在,我们需要关联来自另一个数据源(Excel)的表。在左侧数据源面板,切换选择到
零食数据(Excel)数据源。 - 将其下的
excel_商品明细_d96203a22a表拖拽到画布中已有的关联结果上(见图7-15)。系统会再次弹出关联关系编辑页面。
图7-15 拖拽第二个数据源的表(excel_商品明细)进行关联
- 在新的关联编辑页面(见图7-15):
- 勾选所需字段:从Excel表中勾选商品基础信息字段,如
商品名称、商品分类、生产商。 - 设置关联方式:选择 【内连接】。这是因为我们只关心那些在销售明细和价格表中都存在,并且有完整商品基础信息的记录。如果某个商品在Excel表中没有记录(如新品未录入),则整条销售记录都不会出现在最终数据集里。
- 设置关联条件:指定关联字段。例如,将已关联结果中的
商品ID与 Excel表中的商品编号字段进行关联。 - 确认:点击 【确认】 保存此次关联。
- 勾选所需字段:从Excel表中勾选商品基础信息字段,如
🦋步骤四:完成关联与预览
- 完成所有关联配置后,画布上会清晰地展示出三个表之间的连接关系(见图7-16),并用连线图标示出关联类型(左连接或内连接)。
- 点击画布上方的 【刷新数据】 按钮。DataEase会执行底层的数据关联查询,并在下方区域预览最终合并后的数据集(见图7-17)。请仔细检查:
- 字段是否齐全(来自三个表)。
- 数据是否按预期关联(例如,通过
商品ID查看一行销售数据是否匹配了正确的价格和商品名称)。 - 由于使用了左连接和内连接,注意观察是否有数据因不匹配而缺失(NULL或整行消失)。
图7-16 画布中展示的完整多表关联关系图
图7-17 关联后的数据预览
🦋步骤五:保存数据集
- 确认数据无误后,点击右上角的 【保存并返回】 按钮。
- 在弹出的保存对话框中(见图7-18),输入数据集名称,如 “关联数据集-销售明细与商品信息”,选择文件夹,点击 【确认】。
图7-18 保存多表关联数据集
🦋步骤六:查看最终数据集
- 保存成功后,进入该数据集的数据预览页面(见图7-19)。现在,您拥有了一个包含销售、价格、商品描述等完整信息的数据集,可以直接用于创建丰富的可视化图表,如按商品分类分析销售额、分析各生产商的销量排名等。
图7-19 最终关联数据集的预览页面
总结与最佳实践
通过创建多表关联数据集,您掌握了DataEase中整合碎片化数据的核心能力。关键点在于:
- 理解业务逻辑:明确表之间的关系(一对一、一对多)和您想要的分析视角,这决定了选择左连接、右连接还是内连接。
- 跨数据源能力:DataEase可以关联不同物理位置、不同类型(如MySQL + Excel + API)的数据源,这极大地提升了数据准备的灵活性。
- 可视化配置:整个过程无需编写SQL,通过拖拽和点选即可完成复杂关联,降低了技术门槛。
- 预览验证:关联后务必刷新并预览数据,确保关联条件和字段选择正确,这是保证后续分析准确性的关键。
此功能将分散的数据孤岛连接成有意义的分析主题,是构建企业级数据模型和深度分析报告的基础。
- 点赞
- 收藏
- 关注作者








评论(0)