美文网首页PowerQueryexcel
Excel函数和PowerQuery参数表格结合应用自动获取文件

Excel函数和PowerQuery参数表格结合应用自动获取文件

作者: PowerQuery | 来源:发表于2016-06-19 20:56 被阅读1879次

我之前写过一篇帖子,提到了利用参数表格来简化PowerQuery操作步骤,让不怎么会用PowerQuery的其他同事通过填写表格来操作刷新PowerQuery查询结果。
该帖子有一个缺陷:就是同事拿到我的PowerQuery模板文件后,还要自己辛辛苦苦去找数据文件的位置并粘贴进来。今天学到一个新的方法:** 利用Excel的Cell()函数结合PowerQuery参数表格来自动获取文件位置。**

一、【示例文件说明】

1.PowerQuery模板文件名字叫《学员班级学习报告》;
2.引用了两个原始文件:《员工培训详情报表.csv》和《个人学习报表-详情导出.csv》
3.参数表格结构如下:

参数表格

二、操作步骤

1.建立一个文件夹,重命名为“学员班级学习报告”,将模板文件放入这个文件夹。
2.在该文件夹下新建一个子文件夹,将其命名为“原始数据”。
3.将业务系统中导出来的原始数据文件放到上一步产生的子文件夹内。【注意】不要对这些原始文件做任何修改,包括重命名,一切保持原汁原味就好;不过如果原始文件的名字类似于“人员导出(1).csv”这样的,还是把括号连同里边的数字去掉为宜,否则模板会出错。
4.打开PowerQuery模板,在参数表格的Value列的单元格内,分别填入

=LEFT(CELL("filename",A1),FIND("[",CELL("filename",A1),1)-1)&"原始数据\员工培训详情报表.csv"
=LEFT(CELL("filename",A1),FIND("[",CELL("filename",A1),1)-1)&"原始数据\个人学习报表-详情导出.csv"
自动获取地址完毕

5.将整个“学员班级学习报告”文件夹发给同事。
6.同事拿到该文件夹后,将“原始数据”子文件夹下面的原始数据文件全部替换为最新的数据。
7.打开PowerQuery模板文件,刷新。

三、结论

比起之前的参数表格来,利用这种方法,同事要做的只是替换原始文件,然后刷新,连文件路径都不用手动填写了。
这个例子也提醒我,Excel和PowerQuery并没有什么高下优劣之分(我自己自从学习了PowerQuery之后就产生一个极其变态的偏见——Excel公式太复杂,PowerQuery好牛逼),工具本身的威力往往取决于使用它的人——将其用在最适合的地方就能发挥最大的威力。

相关文章

网友评论

  • Mr_黄:使用此方法之后无法使用追加查询功能,应该怎么处理呢?提示查询“bp”(步骤“追加的查询”) 将引用其他查询或步骤,因此可能不会直接访问数据源。请重新生成此数据组合
    Mr_黄:已解决,原因是Power query自带的安全系统阻止了操作。要在power query 菜单找到选项和设置->查询选项->隐私级别->始终忽略隐私级别设置即可
  • laddie79:power query 不是可以获取到文件夹下的文件名吗? 可以不用公式了,这种限制还是有点的。名字变了就不好搞了。
    PowerQuery:@日落天涯 完全正确:smile::smile:
    f92ab93733b0:@PowerQuery hi 博主,之前的那个参数表格帖子学到好多。感谢!这个帖子的内容,也是要结合之前参数表格做法,才可以实现动态引用的吧?用Cell()的目的就是实现对源数据路径的自动显示,然后让PQ进行抓取。
    PowerQuery:其实用excel公式获取文件名的目的主要是省去同事去找文件路径的麻烦。而且我也希望同事拿到powerquery模板后,只要按照模板所要求的文件名提供数据文件,就只需要刷新,不做任何别的操作了。
    像您提到的powerquery获取文件夹下的文件名,有个前提是要获取到原始数据文件所在的文件路径,如果把模板文件从我电脑拷到同事电脑,原始数据文件的绝对路径肯定会发生变化。目前我还没找到powerquery如何获取当前文件的绝对路径以及相对路径。
  • d92e2923a236:可以加个QQ好友么?请教powerquery问题。powerquery里有什么函数可以判断数据格式啊?
    PowerQuery:我表示被问倒了。一般powerquery会自动判断数据格式,如果判断错误,您可以自己指定某列的数据格式。建议加QQ群453524740。里边大牛多

本文标题:Excel函数和PowerQuery参数表格结合应用自动获取文件

本文链接:https://www.haomeiwen.com/subject/trwbdttx.html