MS Power Query:跨工作簿和xlam共享查询?

在Power Query中,是否可以在一个工作簿中构build查询并从另一个工作簿访问? 特别是,我可以在某种types的图书馆中build立一整套查询吗? 我正在考虑一个.xlam文件,然后有多个.xlsx文件加载.xlam并使用查询

真的想远离复制和粘贴查询定义从一个工作簿到另一个。 即使是中型项目也不可维护。

我读过这篇文章 ,非常感谢@ dfresh22函数,用于自动复制查询。 但那还不是。

我试图在工作簿中创build一个查询,将其保存为.xlam,并从第二个工作簿引用xlam。 但是我找不到任何方法来访问查询。

我正在运行Excel 2013。

我只是想着这个错误的方式?

一种方法是将查询存储在某个文件中,使用File.Contents访问该文件,然后对该文件的内容使用Expression.Evaluate,如本博文中所述。 这一步看起来像这样:

Expression.Evaluate(Text.FromBinary(File.Contents(file_path_to_file_with_queries)), #shared)

#shared是一个特殊的值,它返回所有查询和库函数的logging。

这种方法有一些问题:

  • 某些types的静态分析(例如用于在当前文件中查找数据源的静态分析)不适用于从文件加载的查询
  • 文件内容可能会改变,这可能会破坏您的查询或连接到您不知道的来源。
  • 该工作簿不太便于携带,因为这些查询不随之而来。 无论你与谁共享你的工作簿,都必须能够访问你的查询文本文件。

你也可以在github上存储查询和函数。 看到这里的例子: https : //github.com/tycho01/pquery (文件名为Load.m)