分享

Excel、MySQL、PowerBI、Python来告诉你 数据关联与联合不一样

 东西二王 2023-02-03 发布于重庆
原创2020-06-22 15:29·心梗后余生

阅读提示

本内容为日常频繁使用的数据处理操作,不涉及底层技术问题,烦请爱钻牛角的杠精绕行。

本内容尽量简单直白、步骤详细,适合数据分析入门。特别喜欢技术语言的大佬们,可自行跳过。

在上一篇:Python、PowerBI、Excel、MySQL,都能做?搞清楚数据聚合与分箱

老海简单介绍了数据的分组聚合以及数据分箱操作。有兴趣的可以翻看之前的内容

本期内容介绍数据的多表关联,以及多表联合操作部分,下面我们开始!

数据多表关联

使用Excel时:

  • Excel中一般使用VLOOKUP函数来关联不同的表格,特别注意该函数的使用特点

  • 有时候VLOOKUP函数,会出现奇葩的BUG现象,尤其注意最后一个参数的选择

SQL:

  • MYSQL中通过JOIN的不同方式来进行关联操作,利用关键字段完成表格连接

  • 具体的关联方式可以参考下图,无论是哪种SQL语法,基本的关联方式都是类似的

  • SQL操作时基本逻辑,主要是指定主表,从表,连接方式和连接字段

使用Power BI时:

  • 使用“主页”中的“合并查询”或“将查询合并为新查询”功能

  • 可以选择需要进行关联的表格,以及关联方式

    • 处理完成后,点击右上角的左右箭头标志,点击“展开”

    • 此时,可以展示出关联后的全部字段情况,当然也可以选择聚合起来。

    使用Python时:

    • 我们可以使用pandas中的merge函数

    • 传入4个参数,第一个是连接的主表,第二个是连接从表,第三个连接的key值,第四个是连接的方式,how为left时表示是左连接。此逻辑与SQL是相同的逻辑表达

  • 实现inner join,outer join,right join,pandas中相应的how参数为inner或者不填,outer,right。

  • SQL也是同样直接使用对应的关键字即可。其中inner join 可以缩写为join

  • 数据多表联合

    使用Excel时:

    • Exce的表格联合合并操作,一般直接使用SHITF + CTRL + 箭头键,来选择数据,然后复制 + 粘贴到最后一行完成。人人都会的操作,这里不再演示了

    • 当然也会涉及同一Excel中多个工作表,合并成同一个表格,此时可以考虑使用VBA,参考代码如下:

    sub 合并当前目录下所有工作簿的全部工作表() dim mypath, myname, awbname dim wb as workbook, wbn as string dim g as long dim num as long dim box as string application.screenupdating = false mypath = activeworkbook.path myname = dir(mypath & "\" & "*.xls") awbname = activeworkbook.name num = 0 do while myname <> "" if myname <> awbname then set wb = workbooks.open(mypath & "\" & myname) num = num + 1 with workbooks(1).activesheet .cells(.range("a65536").end(xlup).row + 2, 1) = left(myname, len(myname) - 4) for g = 1 to sheets.count wb.sheets(g).usedrange.copy .cells(.range("a65536").end(xlup).row + 1, 1) next wbn = wbn & chr(13) & wb.name wb.close false end with end if myname = dir loop range("a1").select application.screenupdating = true msgbox "共合并了" & num & "个工作薄下的全部工作表。如下:" & chr(13) & wbn, vbinformation, "提示" end sub

    使用SQL时:

    • UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

    • 其中union相关操作分为union和union all两种。

    • 二者通常用于将两份含有同样字段的数据纵向拼接起来的场景。但前者会进行去重

    • 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。

    • 列必须拥有相似的数据类型。同时每条 SELECT 语句中的列的顺序必须相同

    使用Power BI时:

    • 在“主页”中选择“追加查询”或“将查询追加为新查询”的功能

    • 选择追加表格的数量,可以追加更多的表格,按照行的顺序进行合并操作

    • 追加的表格可以是字段相同的,也可以是字段不同的情况

    使用Python时:

    • 在pandas中一般使用.concat方法来进行数据联合操作,通过参数axis还可以通过合并联合的方式,比如默认为0时,是按照行的方向,当设置为1时,是按照列的方向进行。

    本系列文章:

    第一篇:Excel、SQL、PowerBI、Python,谁更强大?数据工具终极对比 上篇

    第二篇:数据查询与筛选:Excel、SQL、PowerBI、Python,比比谁更快

    第三篇:数据更新删除与排序:横向对比 Python、PowerBI、Excel、MySQL

    第四篇:Python、PowerBI、Excel、MySQL,都能做?搞清楚数据聚合与分箱

    写在最后

    OK,限于篇幅和时间,本篇内容先到这里了,这是本系列的第五篇,还剩最后1篇

    欢迎关注后续内容,涉及存储与导出等操作。

    本系列文章内容较长,总结了经常使用的操作提示

    可以随手收藏下来,相信总有需要的时候!

    觉得不错,别忘了点赞、转发一下,哈~

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多