有没有办法在Excel或PowerBI之外调用PowerQuery/M?

21
我们的商业智能团队非常喜欢在Excel和Power BI中使用的Power Query ETL工具。功能语言M/PowerQuery非常实用,希望能够在PowerBI之外的环境中使用。
是否有计划将"M"作为独立模块暴露出来,可以从c#或PowerShell等语言中调用?

2
您可以将此功能发布到Power BI意见网站:https://ideas.powerbi.com/forums/265200-power-bi-ideas - M.Hassan
1
好主意。https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/16969474-make-powerquery-etl-a-scriptable-language-targetin - dkackman
2
SSIS集成曾经在SQL Server 2016中被短暂地吹捧过(例如下面链接的文章中提到)。但可悲的是,它没有通过审核。我本来会将其用于95%以上的SSIS数据流源。 http://sqlmag.com/blog/what-coming-sql-server-2016-business-intelligence - Mike Honey
在创建 Power BI 自定义连接器时,它不是在 Visual Studio 中运行吗? - Daisha Lynn
3个回答

8

8

现在看来,通过Power Query SDK已经有可能实现。

这使得像PowerQueryNet这样的项目成为可能,它已经可以以编程方式执行M PowerQuery表达式了。

但是请记住,PowerQueryNet的神奇之处是通过使用未记录的APIs,在商业设置中可能违反Power BI/Power Query EULA。所以需要小心行事。

我目前正在努力将此放入Docker容器中,通过REST接收M并以请求的格式返回数据(JSON/CSV/XML)。

无论如何,所有这些都显示出微软可以轻松满足此请求的方式。这还揭示了微软软件开发的资金匮乏,或者微软意识到Power BI/Power Query价值有多少:它使精明的商业用户可以在已安装在他们电脑上的Office应用程序中进行繁重的数据转换——这是一个巨大的进步。


非常有趣! - frhack
谢谢你的见解。 你有继续在Docker容器上工作吗?它现在可用吗? - Pieterjan Spoelders

1
一种在自己的.Net应用程序中获取PowerQuery/M功能的方法是使用SSIS的Powery Query Sourcehttps://learn.microsoft.com/en-us/sql/integration-services/data-flow/power-query-source?view=sql-server-ver15,并与独立的DTS包一起使用。您可以创建一个DTSX(SSIS Pkg),并在数据流任务中使用Power Query数据源进行ETL,然后通过.Net和Managed DTS Runtime以编程方式调用DTS Package。这非常有效。请注意,SSIS Power Query源需要在您希望安装它的计算机上安装SQL Server(安装依赖项检查),而且PowerQuery功能不如PowerBI、SSAS Tabular等完整。例如,您无法使用PDF作为数据源。我发现这种模式对于各种Excel文档ETL项目非常有用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接