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

news/2024/10/18 16:48:25/
故事背景:

业务同事想用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/news/1447855.html

相关文章

Mini-Gemini Mining the Potential of Multi-modality Vision Language Models

Mini-Gemini: Mining the Potential of Multi-modality Vision Language Models TL; DR:本文构建了一个支持 textimage 多模态输入、textimage 多模态输出的真正的多模态大模型 Mini-Gemini。技术方面主要有三个要点:高效高分辨率的视觉 token 编码&…

算法:找不同

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一、背景介绍 二、解题步骤 总结 提示:以下是本篇文章正文内容,下面案例可供参考 一、背景介绍 给定两个字符串 s 和 t,它们只包…

PHP深入实践:构建RESTful API接口与安全措施

在当今Web服务驱动的时代,RESTful API设计成为了构建高效、可扩展的前后端分离应用程序的核心技术。PHP,作为历史悠久且广泛应用的服务器端脚本语言,凭借其丰富的框架和库支持,成为实现RESTful API的优选工具之一。本文将深入探讨如何使用PHP构建安全、高效的RESTful API,…

面试经典150题——Z 字形变换

面试经典150题 day22 题目来源我的题解方法一 使用StringBuilder数组模拟矩阵方法二 找规律直接构造 题目来源 力扣每日一题;题序:6 我的题解 方法一 使用StringBuilder数组模拟矩阵 如果numRows是1,则直接返回s。 否则,创建nu…

鸿蒙原生应用元服务开发-Web管理位置权限

Web组件提供位置权限管理能力。开发者可以通过onGeolocationShow()接口对某个网站进行位置权限管理。Web组件根据接口响应结果,决定是否赋予前端页面权限。获取设备位置,需要开发者配置ohos.permission.LOCATION权限。 在下面的示例中,用户点…

centos7 openresty lua 自适应webp和缩放图片

目录 背景效果图准备安装cwebp等命令,转换文件格式安装ImageMagick,压缩文件下载Lua API 操控ImageMagick的依赖包 代码参考 背景 缩小图片体积,提升加载速度,节省流量。 效果图 参数格式 : ?image_processformat,…

深度图上色,深度图raw文件转为png,如何读取深度图raw文件?

raw文件,要知道宽、高、通道数、数据类型,就能顺利转化,下面是转化代码: import numpy as np import cv2# 图像的基本信息 width 640 # 图像宽度 height 480 # 图像高度 channels 1 # 图像通道数,例如3表示RGB d…

oracle 归档日志删除策略

未设置归档删除策略时, rman target / delete archivelog all; 可以直接删除归档。 如果设置了归档删除策略,delete archivelog all; 不能删除。如果加上 force 关键字可以删除。 RMAN> configure archivelog deletion policy to backed up 1 …