美文网首页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