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

server/2024/9/18 12:54:04/ 标签: excel, powerbi, microsoft, 数据分析, 数据可视化
故事背景:

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

相关文章

求解素数环问题

注:这里我的代码是以第一位为最大数n为首元素不动的 思路: 首先我们分析问题要以较小规模的样例进行分析,例如n3时 第一步:深入搜索 我们先不管后面怎么样,当前的首要目标是先确定第一个元素的值,可知有…

openEuler-22.03安装 mysql8.0.32

一、下载解压 下载地址: MySQL :: Download MySQL Community Server (Archived Versions) tar -xvf mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar -C /opt/mysql-8.0.32 二、安装 最开始安装一直报错 缺少 libcrypto.so.10库文件,安装openssl可以解决 wget http://…

权利压迫攻击(Grinding Attack)是什么

权利压迫攻击(Grinding Attack) 权利压迫攻击是指恶意节点通过影响出块节点的选举过程,加大自己被选为出块节点的概率。在基于 PoS、PoSpace 的共识协议中,随机性来自于链本身的原始数据。恶意节点在出块时,可以通过尝…

简易TCP客户端和服务器端通信

客户端&#xff1a; #include<iostream> #include <winsock2.h> #include <ws2tcpip.h> #include<stdlib.h> using namespace std; #define BUF_SIZE 1024 int main() { cout << "客户端" << endl; //设置Wins…

ARP欺骗实验

ARP欺骗原理&#xff1a; 攻击者利用ARP工作的漏洞进行ARP欺骗 1.主机A要和主机C网关通信&#xff0c;主机A发出ARP包询问谁是192.168.1.1?请回复192.168.1.2。2.这时主机B在疯狂的向主机A回复&#xff0c;我是192.168.1.1&#xff0c;并把自己的MAC地址发给主机A。3.由于AR…

【c语言实现循环链表】

要在C语言中实现循环链表&#xff0c;你可以按照以下步骤进行&#xff1a; 定义链表节点结构&#xff1a;创建一个表示链表节点的结构体&#xff0c;其中包括一个数据成员用于存储节点的值&#xff0c;以及一个指针成员用于指向下一个节点。 struct Node {int data;struct No…

Innodb底层原理与Mysql日志机制到底怎么个事???

在学完Innodb底层原理与Mysql日志机制&#xff0c;自己进行总结&#xff0c;画了一张脑图&#xff0c;思路清晰许多 希望对大家也能有点帮助

微信小程序播放编码为 video/mp4;codecs=vp8 opus 的视频没有声音

最近在做浏览器录屏功能&#xff0c;主要是录屏加上麦克风生成mp4视频&#xff0c;最终生成的是编码为 video/mp4;codecsvp8 opus 的视频&#xff0c;音频编码因为是 opus 是无法在小程序正常播放的&#xff0c;这样就导致了视频没有声音。后来就在服务端做了一层转换&#xff…

高频SQL 查找拥有有效邮箱的用户

题目信息 表: Teacher ------------------- | Column Name | Type | ------------------- | teacher_id | int | | subject_id | int | | dept_id | int | ------------------- 在 SQL 中&#xff0c;(subject_id, dept_id) 是该表的主键。 该表中的每一行都表示带有…

UI图中的opacity效果和代码效果不一样

有时UI图中使用了opacity属性&#xff0c;这个和前端代码效果不一致&#xff0c;修改方法&#xff1a; 不要用opacity属性&#xff0c;而是使用background:rgba( )的效果接客。

Docker 备忘清单(一)

随着年龄的增长&#xff0c;记性开始退步&#xff0c;所以接下来打算把常用的一些语言命令&#xff0c;收集整理&#xff0c;以作备忘或查找使用。希望对自己或他人有所用途。 入门 1、入门 1.1、安装 curl -sSL https://get.docker.com/ | sh sudo chmod 777 /var/run/doc…

【VS+QT】visual studio 2022配置和搭建QT

一、下载QT 可以去QT官网下载:https://www.qt.io/product/development-tools。 直接安装。 二、安装qt插件 打开visual studio 2022&#xff0c;选择菜单栏中扩展->管理扩展 ,然后直接在vs插件市场搜索Qt Visual Studio Tools就行。 安装的时候根据提示&#xff0c;关闭…

初入文件上传

文件上传&#xff1a;指将本地图片、视频、音频等文件上传到服务器&#xff0c;供其他用户浏览或者下载的过程。 文件上传在项目中应用非常广泛&#xff0c;我们经常发微博、发微信朋友圈都用到了文件上传功能 文件上传前端页面三要素 input标签内的type“file”采用的请求方式…

mysql的基本用法

1.mysql的安装 请大家看我前面的文章 linux 下 mysql 的安装 2.mysql的基本CMD命令 -- 登录 mysql -u root -p 输入安装时的密码 -- 显示有多少数据库 SHOW DATABASES ; -- 显示有多少表 SHOW TABLES ; -- 看表结构 DESC 表名 --执行查询 SELECT * FROM demo ;…

【Docker】常见命令汇总

1 镜像相关 1.1 查看镜像 # 查看镜像列表 docker images# 查看具体的镜像: sudo docker images <镜像名称> docker images centos # 指定具体 tag: sudo docker images centos:<tag> docker images centos:7.8.2003# 查看镜像 ID 列表: --q/--quiet docker ima…

黄金投资新手指南:投资现货黄金怎样开户?

在金融市场中&#xff0c;黄金一直是备受关注的投资品种。近年来&#xff0c;随着全球经济的波动和不确定性增加&#xff0c;越来越多的投资者开始关注现货黄金投资。对于黄金投资新手来说&#xff0c;如何开户进行现货黄金投资是一个非常重要的问题。 让我们明确一下什么是现货…

【Qt】探索Qt框架:跨平台GUI开发的利器

文章目录 1. Qt框架概述1.1. Qt框架的优点1.2. Qt框架支持的系统1.3. Qt开发环境 2. 搭建 Qt 开发环境2.1. Qt SDK 的下载和安装2.2. 新建项目: 3. Qt 框架内容简介总结 在当今软件开发领域&#xff0c;跨平台性和用户界面的友好性是至关重要的。而Qt框架作为一款跨平台的C图形…

庆阳市宁县副县长李晓刚一行调研珈和科技

4月21日&#xff0c;庆阳市宁县副县长李晓刚携庆阳市宁县和盛工业园区主任高俊杰、宁县政务服务中心主任张鹏、武汉大学测绘学院教授、测绘工程系主任袁强强一行莅临珈和科技&#xff0c;受到了珈和科技创始人兼总经理冷伟及公司高管的热情接待。 在交流中&#xff0c;珈和科技…

linux开发板开机启动向日葵

硬件&#xff1a;orangepi 5 pro 操作系统&#xff1a;ubuntu 20.4 lts 安装向日葵 根据我的实测&#xff0c;arm架构的ubuntu系统只能安装向日葵提供的麒麟系统的那个版本&#xff0c;具体安装方式官网下载页面有 允许任意用户连接到 X11 使用root用户登录后打开终端输入一下…

CentOS7编译jsoncpp静态库

1. 官网下载源码 github地址&#xff1a;GitHub - open-source-parsers/jsoncpp at update 2. 编译 Unzip jsoncpp-master.zip Cd jsoncpp-master mkdir -p ./build/debug cd ./build/debug/ cmake -DCMAKE_BUILD_TYPEdebug -DBUILD_SHARED_LIBSOFF -DCMAKE_ARCHIVE_OUTPUT_D…