将 MDX 代码导入 Power Query 编辑器

Import MDX Code into Power Query Editor

我使用 Sublime Text 3 作为我的文本编辑器。我也喜欢新的 Power Query 工具。

有什么方法可以将文本文件中编写的代码导入到我的 Power Query 编辑器中?

当其他公司在 IDE 中投入更多资金时,我不想再过十年不得不使用内置 IDE(即 Excel 中的 VBA) =19=]、友好度和插件。

Excel 2016 扩展了对象模型以允许创建和更改 Power Query 定义,例如ActiveWorkbook.Queries.Add.

这里有一些链接以获取更多信息:

https://msdn.microsoft.com/EN-US/library/office/mt574990.aspx

https://gallery.technet.microsoft.com/office/VBA-to-automate-Power-956a52d1

因此您可以编写 VBA 或任何其他风格的代码来从文件中读取 M 脚本并将它们写入 Excel Power Query 定义。

目前我有一个小的解决方法,允许在文本编辑器(如 Sublime)中在 Power Query 之外的单独文件中进行开发,然后使用评估查询评估该文件的内容。

只需创建一个空白查询,将以下代码粘贴到替换文件位置的路径中即可!

let
    Source = Text.FromBinary(File.Contents("C:\Users\KilleenJ\ProjectName\TableName.m")),
    EvaluatedExpression = Expression.Evaluate(Source, #shared)    
in
    EvaluatedExpression

限制是,如果您希望其他人能够 运行 部署这些文件,您最终可能希望使用 .xlsx 部署这些文件。准备好部署后,您可以使用 VBA 脚本填充 .xlsx 查询。

这不适用于 PowerBI,因为您没有 VBA 的等效项。

我会将 Mike 的答案标记为正确,但两种方法都可以。

我更喜欢评估方法,因为它允许我在 Sublime Text 中编写,然后在 Power Query 编辑器中点击刷新。

我已经开始研究 Github 上的一些 sublime 片段,这些片段可以使用,直到 MS 在 Power Query 中构建一个文本编辑器,这不会让我想刺伤我的眼球。

理想情况下,我们实际上可以像现在使用 VBA 模块一样导入代码。