我们的 BI 团队真的越来越喜欢Excel 和 Power BI 中使用的Power Query ETL 工具。函数式语言M/PowerQuery具有很好的实用性,如果能够在 PowerBI 的上下文之外使用,那就太好了。
是否有或是否有计划将“M”公开为独立模块,可调用形式,如 c# 或 PowerShell?
我们的 BI 团队真的越来越喜欢Excel 和 Power BI 中使用的Power Query ETL 工具。函数式语言M/PowerQuery具有很好的实用性,如果能够在 PowerBI 的上下文之外使用,那就太好了。
是否有或是否有计划将“M”公开为独立模块,可调用形式,如 c# 或 PowerShell?
https://ideas.powerbi.com可能是发布此内容的正确位置。我已经在内部传递了链接,它可能至少会得到更多的支持:)
我不知道有任何官方计划有一个公共独立库来从不同的应用程序调用“M”,但这就是Power BI 网关等其他 Power BI 产品用来运行“M”的方法。
编辑:OP在这里创造了这个想法:https ://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/16969474-make-powerquery-etl-a-scriptable-language-targetin
现在看来,这可以通过Power Query SDK实现。
这启用了PowerQueryNet等项目,它们已经可以以编程方式执行 M PowerQuery 表达式。
尽管您应该记住,PowerQueryNet 的魔力是通过使用未记录的 API 在商业设置中实现的,但可能违反 Power BI / Power Query EULA。所以谨慎行事。
我目前正在努力将其放入一个 docker 容器中,该容器通过 REST 接收 M 并以请求的格式(JSON/CSV/XML)返回数据。
如果有的话,所有这些都表明微软很容易满足这一要求。这也是一个有趣的洞察力,了解微软软件开发的资金可能如何不足,或者微软对 Power BI / Power Query 的价值了解得多么少:它使精明的商业用户能够最了解他们的数据,从而使用已安装的 Office 应用程序进行大量的数据转换在他们的计算机上 - 向前迈出了一大步。
从您自己的 .Net 应用程序中获取 PowerQuery/M 功能的一种方法是使用 Powery Query Source for SSIS https://docs.microsoft.com/en-us/sql/integration-services/data-flow/ power-query-source?view=sql-server-ver15带有独立的 DTS 包。您可以创建 DTSX (SSIS Pkg) 并在数据流任务中为您的 ETL 使用 Power Query 数据源,然后通过 .Net 和托管 DTS 运行时以编程方式调用 DTS 包。这很好用。请记住,SSIS Power Query 源需要在您安装它的机器上安装 SQL Server(安装依赖性检查),而且 PowerQuery 功能不如 PowerBI、SSAS 表格中的功能完整;例如,您不能使用 PDF 作为数据源。我发现这种模式对各种 Excel Doc ETL 项目很有用。