Power Query - 如何创建相对路径

我们在前面介绍过,可以使用Power Query导入其他Excel文件中的数据。具体过程见下面的动图:

这个方法可以极大的方便我们建立自动化处理过程。但是这个方法有一个比较大的问题:

这个源文件使用的是绝对路径!

如果你查看这个Power Query查询的函数,就会发现:

这里引用的文件路径是写死的。

如果你用这种方法在你的机器上做好了一个查询,把这个文件作为模板发给同事,除非在他的机器上恰好有跟这个目录一摸一样的目录,否则,这个查询就会在刷新的时候报错。

这时,你可以采用本文下面的方法把这个绝对路径修改为相对路径

01

制作相对路径

首先,新建一个工作表,根据你的习惯起一个名字,比如,就叫做“Config”:

在Config工作表中,找一个单元格,比如B2,输入公式:

=LEFT(CELL("filename",$A$1),FIND("[",CELL("filename",$A$1),1)-1)

这个公式返回了这个工作表所在的路径。

下一步,定义名称。

我们为这个单元格B2定义一个名称:Path:

关于名称,可以参加文章关于Excel中的名称(Name),你需要知道的都在这里了

现在,回到刚才的查询中,

点击高级编辑器,

在len后面,源=...前面,添加一句代码:

Filepath = Excel.CurrentWorkbook(){[Name="Filepath"]}[Content]{0}[Column1],
这句代码实际上定义了文件路径

然后将下面的“源=”代码修改为:

源 = Excel.Workbook(File.Contents(Filepath & "可乐产品销售数据.xlsx"), null, true),

大功告成!

在本文介绍的技巧中,我们使用了“高级编辑器”。这样我们可以初步了解PowerQuery的那些功能,实际上就是用这样的“代码”写成的。在我们的Power Query中级课程中,将为大家全面介绍Power Query M代码的使用。

(0)

相关推荐