我们的BI团队真的越来越喜欢Excel和Power BI中使用的Power Query ETL tool。函数式语言M/PowerQuery具有很好的实用性,能够在PowerBI的上下文之外使用会很好。
是否有计划将“M”作为独立模块公开,可以像c#或PowerShell一样调用?
答案 0 :(得分:6)
https://ideas.powerbi.com可能是发布此内容的正确位置。我已经在内部传递了这个链接,它可能会在最低限度上得到一些更多的赞成:)
我不知道有任何官方计划让公共独立图书馆调用" M"来自不同的应用程序,但是Power BI Gateway等其他Power BI产品用于运行" M"。
编辑:OP在此创建了这个想法:https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/16969474-make-powerquery-etl-a-scriptable-language-targetin
答案 1 :(得分:1)
现在看来可以通过Power Query SDK来做到这一点。
这启用了PowerQueryNet之类的项目,这些项目已经可以以编程方式执行M个PowerQuery表达式。
尽管您应该牢记PowerQueryNet的魔力是通过使用undocumented APIs and in a commercial setup, may violate the Power BI / Power Query EULA来实现的。所以要谨慎行事。
我目前正在将其放入一个docker容器中,该容器通过REST接收M并以请求的格式(JSON / CSV / XML)返回数据。
如果有的话,所有这些都表明Microsoft满足此请求将非常容易。这也是对可能资金不足的Microsoft软件开发可能是多少,或者Microsoft几乎没有意识到Power BI / Power Query的价值的有趣见解:它使精通业务的业务用户能够最佳地了解自己的数据在计算机上已安装Office应用程序的情况下进行数据转换-向前大量。
答案 2 :(得分:0)
从您自己的 .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 项目都很有用。