Power BI:如何将文件夹批量Excel(多sheet页)文件导入?

devtools/2024/9/23 18:07:54/
故事背景:

业务同事想用Power BI分析近两年市场费用。

数据源全部是Excel文件,并且以每月一个Excel文件的方式,统一存放到同一文件夹下面。

重点,每张Excel文件会有多张sheet页,用区分每家分公司的费用信息。

目前,同事直接以每次导入一个Excel文件的方式导入数据,效率极低。所以来找我询问是否有文件夹批量导入Excel的方案?

解决方案:

Power BI的功能十分强大,当然支持文件夹批量导入Excel文件。

其实这里的难点除了批量导入文件夹,还有一点需要大家注意,就是每个Excel文件有多张sheet。

举例:

我在本地一文件夹下面,创建了3个Excel文件,采用的是相同的模板,每个Excel有两张sheet页。

样例内容请看截图:

(Sheet页 Sales Sheet1与 Sales Sheet2格式相同)

操作步骤:
1, 打开Power BI Desktop选择获取数据。

点击【Home】 -> 【Get data】 -> 【All】 -> 【Folder】 -> 【Connect】;

2, 在弹出框中,找到要导入文件夹数据源地址。

点击【Browse For Folder】 -> 选择要导入的文件夹地址 -> 【Ok】;

3, 在弹出框中,可看到导入三张Sales表,文件格式为.xlsx。
选择【Transform Data】进入Power Query数据编辑页面;

4, 在Power Query数据编辑页面中,根据【Folder Path】的路径展示信息,你会发现文件夹下面每个Excel的多张sheet页都被合并在一起,存储在【Content】列中的‘Binary’中。

一般情况,很多有经验的同学会点击【Content】列头的双下箭头获取文件内容。 但是在当前的案例中,这样操作是有问题,原因此操作仅能获取一个Excel中的某一sheet页的数据信息。

那我们怎么正确处理呢?

这时我们就需要借助Power BI自带的M函数来获取多个sheet页的内容。

5,新增一个列,然后通过使用Power BI自带的M函数Excel.Workbook,将文件夹中所有Excel文件的所有sheet页引入新增列中。

点击【Add Column】新增列 -> 【Custom Column】 -> 【New Column Name】定义列名 -> 输入M函数语句=Excel.Workbook([Content],true) -> 【OK】;

6,点击新增列‘左右双箭头’,勾选新增列内容,最后OK确认。

7,展开新增列内容后,
  • 可以通过【Name】列查看数据属于哪个Excel文件,
  • 可以通过【Custome.Name】或【Custome.Item】看查看数据属于Excel中的哪个Sheet页。

最后我们点击【Custome.Data】的‘左右双箭头’,勾选sheet页所需的内容,最后OK确认。即可将每个Excel文件的每张sheet页内容展示出来。

8,我们可以发现我们需要的每张Sheet页的内容都已经展现出来,最后再把不用的列删除,null值过滤掉,保留需要的信息即可。

今天分享到此结束,记得每天花5分钟来学习Power BI的小技巧,提升你的数据处理效率。

想要了解更多Power BI的小技巧,记得关注我哦!


http://www.ppmy.cn/devtools/22812.html

相关文章

UDP数据报套接字编程

UDP数据报套接字编程 DatagramSocket API DatagramSocket,是UDP Socket,用于发送和收 UDP 数据报。使用这个类,表示一个 socket 对象。一个 socket 对象只能跟一台主机进行通信。在操作系统中,把这个 socket 对象当成一个文件来…

SpringMVC基础篇(四)

文章目录 1.视图1.基本介绍1.视图介绍2.为什么需要自定义视图 2.自定义视图实例1.思路分析2.代码实例1.view.jsp2.接口3.配置自定义视图解析器springDispatcherServlet-servlet.xml4.自定义视图MyView.java5.view_result.jsp6.结果展示 3.自定义视图执行流程4.自定义视图执行流…

CSS基础:4类组合选择器以及5个注意事项

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web 开发工具合…

Matlab实现CNN-BiLSTM模型,对一维时序信号进行分类

1、利用Matlab2021b训练CNN-BiLSTM模型,对采集的一维时序信号进行分类二分类或多分类 2、CNN-BiLSTM时序信号多分类执行结果截图 训练进度: 网络分析: 指标变化趋势: 代码下载方式(代码含数据集与模型构建&#xff0…

MATLAB初学者入门(23)—— 旅行商问题(TSP)优化

旅行商问题(TSP, Traveling Salesman Problem)是一个经典的优化问题,要求找到一个最短的路线,使得旅行商从一个城市出发,经过所有城市一次后,回到原出发点。这是一个NP难问题,在数学优化和计算机…

2024 JAVA Tinypng压缩图片,超级简单!!!

一、打开官网,注册账号,获取秘钥(每个月500张免费) 1.打开官网,注册账号 TinyPNG – Compress WebP, PNG and JPEG images intelligently 2.登录后,点击账号名字,找到如图所示 3.找到API&…

idea的插件,反编译整个jar包

idea的插件,反编译整个jar包 1.安装插件1.1找到插件1.2 搜索插件 2.反编译整个jar包2.1 复制jar包到工件目录下:2.2 选中jar包,点出右键 3.不用插件,手动查看某一个java类3.1 选中jar包,点出右键 1.安装插件 1.1找到插…

【计算机网络】成功解决 ARP项添加失败:请求的操作需要提升

最近在用Wireshark做实验时候,需要清空本机ARP表和DNS缓存,所以在cmd窗口输入以下命令, 结果发生了错误:ARP项添加失败:请求的操作需要提升 一开始我还以为是操作的命令升级了,但是后面发现其实只是给的权…