工作中最常用的一个场景是有个文件夹,按照每天或每周的频次往里面放数据进行存档,文件格式通常为excel、csv、xml格式。然后通过Power BI对文件夹中的数据进行获取,处理形成固定的报表。按照常规的Power Query获取文件夹的方法,我们可以顺利的获取文件夹的数据,但是常常在查询窗口中自动生成至少5个莫名其妙的查询,看起来非常混乱。当获取的文件夹数量多的时候,更是难以管理。本文将分享更好的方法来获取文件夹数据,并且只有1个查询。
1.Power Query常规获取文件夹文件:自动生成5个查询
1.1第一步:连接文件夹
数据》获取数据》来自文件》从文件夹》查找打开要添加的文件夹
也可以新建一个空白查询,输入导入文件夹的通用M函数,只需要更换文件夹地址即可:
=Floder.Files(”文件夹地址”)
通过文件夹获取数据后,基本都是固定抓取生成以下8个字段内容:
- Content:文件二进制内容
- Name:文件名称
- Extention:文件类型
- Data accessed:文件访问日期
- Data modified:文件修改日期
- Data created:文件创建日期
- Attributes:文件属性
- Folder path:文件地址
1.2第二步:展开数据
在【Content】旁边有连个向下的箭头,点击就可以展开所有数据。这种方法可以批量获取文件夹中的数据,唯一的是会自动生成5个莫名其妙的查询,对于管理来说十分不方便。
2. 5个查询简化为1个查询方法
如果想把5个查询简化成1个查询,方法就是在添加完文件夹之后,我们先不要展开数据,添加【1个自定义列】。
添加完自定义列之后在展开数据。
这里面的关键是添加的自定义列要输入抓取excel、csv、xml等格式的M函数。
3.Power Query获取文件夹中的Excel文件:1个查询
3.1添加自定义列
在获取文件夹之后不要急着展开数据,添加【自定义列】
Excel类型文件,输入以下M函数代码,函数里面的【true】默认会把第一行提升为标题,减少后续提升标题操作:
=Excel.Workbook([Content],true)
3.2删除不需要保留的列
3.3展开自定义列抓取的数据
4.Power Query获取文件夹中的CSV文件:1个查询
4.1添加自定义列
在获取文件夹之后不要急着展开数据,添加【自定义列】
CSV格式的文件,添加自定义列,输入以下M函数代码,会默认把第一行提升为标题,减少后续提升标题操作:
=Table.PromoteHeaders(Csv.Document([Content]),[PromoteAllScalars=true])
4.2删除不需要保留的列
4.3展开自定义列抓取的数据
5.Power Query获取文件夹中的Xml格式文件:1个查询
5.1添加自定义列
在获取文件夹之后不要急着展开数据,添加【自定义列】
Xml格式的文件,添加自定义列,输入以下M函数代码,会默认把第一行提升为标题,减少后续提升标题操作:
=Xml.Tables([Content])
5.2删除不需要保留的列
5.3展开自定义列抓取的数据
本文标题:《Power Query03-从文件夹获取excel、csv、xml文件,简化5个查询为1个查询》
本文链接:https://freechao.com/4638.html
发布日期:2022年09月19日 22:04:52
更新日期:2024年03月06日 21:42:33
版权声明:除特殊注明,均为作者原创内容,遵守CC-BY-NC 4.0版权协议,转发请保留原文链接!
免责声明:文中如涉及第三方资源,均来自互联网,仅供学习研究,禁止商业使用,如有侵权,联系我们24小时内删除!