有什么方法可以在 Excel 或 PowerBI 之外调用 PowerQuery/M 吗?
Is there any way to invoke PowerQuery/M outside of Excel or PowerBI?
我们的 BI 团队越来越喜欢 Power Query ETL tool used within Excel and Power BI. The functional language M/PowerQuery 具有强大的实用性,能够在 PowerBI 上下文之外使用它会很好。
是否有或计划将 "M" 作为独立模块公开,可从 c# 或 PowerShell 之类的形式调用?
https://ideas.powerbi.com 可能是 post 的正确位置。我已经在内部通过了 link,它可能至少会得到更多的支持:)
我不知道有任何官方计划有一个 public 独立库来从不同的应用程序调用 "M",但这就是其他 Power BI 产品,如 Power BI Gateway用于 运行 "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 的魔力是通过使用 undocumented APIs and in a commercial setup, may violate the Power BI / Power Query EULA 实现的。所以谨慎行事。
我目前正在努力将它放入一个 docker 容器中,该容器通过 REST 接收 M 和 returns 请求格式的数据 (JSON/CSV/XML)。
如果有的话,所有这些都表明微软满足这一要求是多么容易。这也是对 Microsoft 软件开发资金不足的有趣见解,或者 Microsoft 对 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 机器上的服务器来安装它(安装依赖性检查),而且 PowerQuery 功能不如 PowerBI、SSAS 表格中的功能完整;例如,您不能将 PDF 用作数据源。我发现此模式对各种 Excel Doc ETL 项目很有用。
我们的 BI 团队越来越喜欢 Power Query ETL tool used within Excel and Power BI. The functional language M/PowerQuery 具有强大的实用性,能够在 PowerBI 上下文之外使用它会很好。
是否有或计划将 "M" 作为独立模块公开,可从 c# 或 PowerShell 之类的形式调用?
https://ideas.powerbi.com 可能是 post 的正确位置。我已经在内部通过了 link,它可能至少会得到更多的支持:)
我不知道有任何官方计划有一个 public 独立库来从不同的应用程序调用 "M",但这就是其他 Power BI 产品,如 Power BI Gateway用于 运行 "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 的魔力是通过使用 undocumented APIs and in a commercial setup, may violate the Power BI / Power Query EULA 实现的。所以谨慎行事。
我目前正在努力将它放入一个 docker 容器中,该容器通过 REST 接收 M 和 returns 请求格式的数据 (JSON/CSV/XML)。
如果有的话,所有这些都表明微软满足这一要求是多么容易。这也是对 Microsoft 软件开发资金不足的有趣见解,或者 Microsoft 对 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 机器上的服务器来安装它(安装依赖性检查),而且 PowerQuery 功能不如 PowerBI、SSAS 表格中的功能完整;例如,您不能将 PDF 用作数据源。我发现此模式对各种 Excel Doc ETL 项目很有用。