java - Microsoft Power Query M 公式语言到 sql 查询转换
问题描述
我正在开发一个重新平台化项目,我们正在用 java 和 angular 7 重写现有代码,我被困在一个地方,我必须为我需要的一组“Power Query M Language”查询编写 SQL 查询针对 SQL Server 执行。M 语言查询之一是,我们有比这个大得多的查询,还有很多
Source = Sql.Database("server,port", "DBNAME"),
dbo_tbl_ProgramConfiguration = Source{[Schema="SCHEMA",Item="TABLE"]}[Data],
#"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(<TABLE>, {{"Roles", Splitter.SplitTextByDelimiter(";", QuoteStyle.None), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Roles"),
#"Trimmed Text" = Table.TransformColumns(#"Split Column by Delimiter",{{"Roles", Text.Trim, type text}}),
#"Renamed Columns" = Table.RenameColumns(#"Trimmed Text",{{"Roles", "Role"}}),
#"Removed Other Columns - Keep Title, RolesId, NewColumn.Role" = Table.SelectColumns(#"Renamed Columns",{"Program", "Role"}),
#"Merged Queries" = Table.NestedJoin(#"Removed Other Columns - Keep Title, RolesId, NewColumn.Role",{"Role"},Roles,{"Role"},"Roles",JoinKind.Inner),
#"Expanded Roles" = Table.ExpandTableColumn(#"Merged Queries", "Roles", {"Id"}, {"RolesId"}),
#"Reordered Columns" = Table.ReorderColumns(#"Expanded Roles",{"Program", "Role", "RolesId"})
in
#"Reordered Columns"
所以我一直在寻找任何转换工具或 Java/JDBC 中的任何功能,这些 M 语言查询可以转换为 SQL 或直接针对 SQL Server 执行。
解决方案
不完全是您问题的完整解决方案,但一些信息可能会有所帮助。
但是您可以尝试让 SQL Query Power Query 正在执行。
如果您在 Power BI 上运行此程序,则只需转到 Power Query 编辑器窗口,对于该查询,您可以检查最后一步的查看本机查询。如果它现在是灰色的,那么你很幸运。这将向您显示它运行的查询以获取应用了所有转换的数据。这是由于 Power Query 查询折叠功能而发生的,如果支持,它将在源中应用转换。
请注意,某些转换甚至应用转换的顺序可能会停止所有步骤的折叠,这些转换将在本地应用。
不确定您是否可以直接在 Excel 的 Power Query 中访问它。
但是您可以对源进行跟踪并捕获它运行的查询。
编辑:
您可以自定义查询,您在 M 中的步骤应如下所示:
Sql.Database("YOURSERVERNAME", "Tailspintoys-us", [Query="select * from Sales"])
推荐阅读
- android-recyclerview - 在 notifyDataSetChanged() 之后调用 RecyclerView.Adapter onCreateViewHolder()
- vba - 如何为宏创建切换按钮
- python - Pandas 根据列的函数选择行
- python - 张量板有两个一维图而不是一个二维图的问题
- node.js - 使用 Node js 将 Angular 应用程序作为 docker 镜像运行
- javascript - 在测验中创建一个像视频游戏一样的生命系统
- javascript - 在 Google Chrome 控制台中,如何查看标签的修改位置和方式?
- javascript - 如何在 JavaScript 中检测 iOS 模拟器
- excel - 如何使用单元格内容作为 Excel VBA 中范围公式的输入?
- python - 在熊猫中连接并保存多对CSV