加入 PowerBI自己学 知识星球:下载源文件,边学边练;遇到问题,还可以提问交流。
Excel数据源是PowerBI的常用数据源,经常遇到一个Excel文件中有多个相同表头Sheet,比如分月的销量、分班级的统计信息,加载到PowerBI的时候,需要把它们从上到下追加成一个表。
通常的方法会是获取数据的时候把这些Sheet全选加载,然后使用追加查询功能把这些Sheet追加成一个新的表。问题来了,如果后面数据源有更新(比如多了一个月的销量),又多了一个Sheet怎么办?这就需要将这个新增的Sheet再导入一次,修改原先的追加查询,把这个新增的Sheet添加进去。这种方法有些复杂,也不符合自动化的要求。
解决方案
在PowerQuery中,一个Excel文件含有多个Sheet,这个Excel会被看作是一个文件夹。借助这一特点,可以轻松实现一次性加载Excel中多个表头相同的Sheet,同时合并这些Sheet的数据。
操作步骤
STEP 1 点击菜单栏主页下的获取数据,选择Excel工作簿,在对话框中的文件名称上点击鼠标右键,选择转换数据。
STEP 2 进入PowerQuery后,在文件种类Kind上筛选“Sheet”。有些时候,为了筛选出需要的Sheet,可能需要配合其他列的筛选,比如名称列筛选关键字,或者隐藏属性筛选“FALSE”去掉隐藏的Sheet。提示:这个数据源表内不要放其他不相关的Sheet,以免筛选条件不严谨带进来无效数据。
STEP 3 选中Data列(如果Sheet名称也有用,可以按住Ctrl键连Name一起选中),点击鼠标右键,选择删除其他列。
STEP 4 在Data列点击列标题右侧的展开按钮,点击确定。
STEP 5 点击表的左上角的表格按钮,选择将第一行用作标题。
STEP 6 在任何一列上点击列标题上的筛选按钮,选择文本筛选,让它的值不等于这一列的标题名称,用来把其他Sheet的表头去掉。
STEP 7 点击列标题左侧的类型图标,按需修改每一列字段类型。
最后,点击关闭并应用,显示刷新成功。