Преобразование языка формул Microsoft Power Query M в SQL - PullRequest
0 голосов
/ 17 октября 2019

Я работаю над проектом по перепрофилированию, где мы переписываем существующий код на Java и Angular 7, я застрял в месте, где мне приходится писать SQL-запросы для набора запросов «Power Query M Language», которыеМне нужно выполнить против 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.

1 Ответ

0 голосов
/ 17 октября 2019

Не совсем полное решение вашей проблемы, но некоторая информация, которая может помочь.

Но вы можете попробовать и получить SQL Query Power Query выполняется.

Если вы выполняете это наPower BI, вы можете просто перейти в окно редактора Power Query Editor и для этого запроса вы можете проверить View native Query для последнего шага. Если он теперь серого цвета, вам повезло. Это покажет вам запрос, который он выполняет, чтобы получить данные со всеми примененными преобразованиями. Это происходит из-за возможностей Power Query Query Folding, где он будет применять преобразования в источнике, если они поддерживаются.

Помните, что какое-то преобразование или даже порядок применения преобразования могут перестать сворачиваться для всехшаги, эти преобразования будут применены локально.

Не уверен, что вы можете получить доступ к этому напрямую в Power Query Excel.

Но вы можете отследить ваш источник ипоймать запрос, который он выполняет.

View Native Query

РЕДАКТИРОВАТЬ:

вы можете настроить запрос, ваш шаг в M должен выглядетькак то так:

Sql.Database("YOURSERVERNAME", "Tailspintoys-us", [Query="select * from Sales"])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...