vb6 数据自动生成excel文件_PowerBI 全自动合并多个 Excel 文件,支持“大数据”

71bac0599bd306aff522d6571388d558.png

作为自助分析人员,常常面临的场景有:

【场景A】想要数,却痛苦场景

  • 可以使用前端系统操作或导出数据

  • 无权限直接从后端数据库读数

【场景B】不想要数,还得痛苦场景

  • 系统定期导出数据给你

  • 你要不要都得要

【场景C】要数,分发收集场景

  • 用同一个模板,如 Excel

  • 分发给不同的部门或区域填数后收集汇总

这里就出现一个很重要的问题,如何从多个同一规律下的文件中读取数据并合并。

这个内容已经在我的《PBI基础》中讲解得非常透彻。本文再拿出其中的合并数据话题书面化。

文件夹结构

首先,所有待合并的文件都应该放置在同一个文件夹下,例如:

bf964d8e71da2e2d46915dc3ea6580e1.png

我们要做的事情就是不断向其中增加文件即可。

威力有多大

来看看整个 Excel 所有文件的大小是多少:

605382f648c5fe695b88d8789e506b56.png

可以看到以上内容合计:183MB。

而最终的 Power BI 文件有多大呢,来看看:

d8d892b3f65abee07ef05f3e64f10d77.png

可以看到以上内容合计:60MB。

实际上,普通数据在 Excel 里已经是压缩存放,例如:

726638701b0e1136accdf1c00100dce9.png

一个 25 M 的 Excel 文件其实是从 200 M 压缩而得到的。

从这个角度来看,PowerBI 不但合并了数据,还进行了更加强力的压缩。

本文所述的文件整体数据量达到:300W行。这显然是 Excel 处理不了的量级。

PowerBI 模板函数

准确讲,这是 PowerBI 的 PowerQuery 模板函数,意思是,提供一个通用的功能来对数据进行处理,他的原理是这样的:

29936703cc91686602f7aacb47bbc3a2.png

依然所有的文件的结构都是一样的,那么对文件的处理就可以先做一个模板,所有的文件都按照一个模板来处理即可,这个过程在 PowerBI 中甚至是可以自动完成的,如下:

9e2f9ea0e416be5d312590530708ffad.png

如果可以确保所有文件的格式都是一样的,那么就可以直接转换,如下:

7245fa92e617ee936057d47380dbd7cc.png

PowerBI的思路正是:

1e1212d3c8260e1f8eaa156794c30610.png

让用户先选择一个样本,再次重复:请确保每个文件的格式完全一样

虽然我重复了 N 次后再重复了 N 次,而就是有人听不懂,啥叫格式完全一样,这样的同志,一定不理解啥叫全等三角形

常犯的错误包括:

  • 列头名称不同

  • 列头顺序不同

  • Sheet页的名称不同

这些都叫结构不同

所以,你再问我为什么失败,我就问你,你为什么不听话。

点击【确定】即可。

可以看出,PowerBI自动帮助我们生成了一坨结构,如下:

fd143c7f3623f0b0ded08b9f76a0a5af.png

其中,帮助程序查询,就是为了产生一个:模板函数。在这里的名字叫转换文件。从这里可以更容易地看到:

77a109d63dd9dcae8eedd46af025547d.png

每一个文件名称,都对应一个转换好的表。

至此已经OK。

优化 PowerBI 模板函数

由于 Power BI 模板函数,是通过一次转换后,而从转换中提出的,如果你试图修改(准确讲是直接修改)模板函数,则会收到提示:

1d8e91ace8d0a7eee543a5f2ad15251f.png

意思是,不应该修改这个函数,而应该取修改【转换示例文件】的这个结果文件。这样,模板函数就会保持更新。

总结

本文所述案例来自于:

9f8d9a5819dc9cdd6a9ee4cdb6886f30.png

这个模板实现了超越 Excel 无法做到的三点:

  • 数据量级理论无上限,300W数据轻松运行。

  • 表关系更加复杂,比 Excel 处理单表或 VLOOKUP 不再是一个量级。

  • 业务逻辑更加丰富复杂,比 Excel 办公函数来说,完全不是一个Level。

你可以直接在这里学习

45fdb32731c32b7102177359329c85cf.png

诚然,PowerBI 并不支持“大数据”,这里说的大数据是相对的。

关于数据文件的转换和加载,还有一些难题,例如:如果文件都是被透视过的怎么办呢,这就需要逆透视后再合并。

我们将于 2020.05.28 周四 20:40 直播 讲解更多。欢迎您来了解。

f1112487aa74927d1523d620e4b77fc3.png

精彩直播及视频可以到B站二次元

1f2cc835e709c6c0f8a5d8d855500608.png

让数据真正成为你的力量

加私信暗号:data2020

e58eaba70aa3e35463aa463bf90da7db.png

43164200150818472ec51e2ca92d94bc.png

13d2e57603f42906568cfc6c51560227.gif点击【阅读原文】进入【学习中心】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Excel是一款功能强大的电子表格软件,可以进行数据处理、分析和可视化展示。如果需要合并多个数据表,可以使用VB(Visual Basic)编程语言来实现。 首先,我们可以使用VB编写一个宏(macro)来实现数据表的合并。在Excel中,点击“开发工具”选项,在Visual Basic中编写宏。我们可以使用循环的方式,遍历多个数据表,将它们逐一合并到一个新的数据表中。可以通过VB的命令来设置源数据表的范围,并将其复制到目标数据表中。 其次,我们可以使用VB编写一个自定义函数来实现数据表的合并。通过VB的函数,我们可以设置参数来指定要合并数据表,然后将它们逐一合并到一个新的数据表中。这样可以方便地在Excel中使用函数来实现数据表的合并,并且可以根据需要自定义具体的合并方式和规则。 最后,我们可以使用VB编写一个用户界面,通过Excel中的用户界面来实现数据表的合并。通过VB的表单和按钮等控件,可以设计出一个方便用户操作的界面,用户可以在界面中选择要合并数据表,并设置合并的方式和规则,然后通过VB的代码来实现数据表的合并,并在界面中展示合并后的结果。 总之,通过VB编程语言来合并多个数据表,可以实现更加灵活、高效和定制化的数据处理和分析操作,能够满足不同需求下的数据合并操作。ExcelVB的结合,可以为数据处理和分析提供更多可能性和便利性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值