У меня есть таблица Excel, в которой конечный пользователь вводит ссылочные номера в столбец «RefNum». Я также создал столбец «RefNum_ SQL» с формулой, которая автоматически форматирует список с запятыми и круглыми скобками для предложения WHERE, в случае, если это упрощает части SQL / M. Мы будем называть эту таблицу таблицей «Ввод»:
RefNum RefNum_Formatted
2123 (2123,
2456 2456,
2789 2789)
Затем у меня будет запрос SQL, который извлекает дополнительные детали, привязанные к этому ссылочному номеру, и загружает их в таблицу другого лист рабочей книги Excel.
SELECT RefNum, LocationID, ShipDate
FROM database.dbo.Products (NOLOCK)
WHERE RefNum IN (2123, 2456, 2789)
Результаты запроса затем загружаются в таблицу на другом листе рабочей книги, которую мы будем называть таблицей «Вывод»:
RefNum LocationID ShipDate
2123 13321 12/3/2019
2456 16654 5/17/2019
2789 19987 8/24/2019
Может код Power Query M перетащить значения в столбце RefNum непосредственно в предложение WHERE запроса SQL, чтобы конечному пользователю не пришлось вручную настраивать запросы в расширенном Редактор по мере изменения списка?
Вот код, который я попытался на основе ресурсов, которые я нашел до сих пор:
let
Source = Sql.Database("server", "database")
RefNum_Formatted = table.Column(Input, RefNum_Formatted)
Output = Value.NativeQuery( Source,
"SELECT RefNum, LocationID, ShipDate
FROM database.dbo.Products (NOLOCK)
WHERE RefNum = @RefNum_Formatted")
in
Output
При попытке запустить вышеупомянутый M код, я получаю следующую ошибку:
DataSource.Error: Microsoft SQL: необходимо объявить скалярную переменную "@RefNum_Formatted".
Я понимаю, что как в настоящее время написано Power Query ожидает, что @RefNum_Formatted будет объявленной переменной в SQL, а не в таблице Excel; однако я не могу понять, как создать соединение со значениями таблицы «Вход», которые можно вставить в запрос, используя M. Можно ли это сделать?
Подобные вопросы задаются в ссылках ниже но я не смог успешно применить ни один из ответов:
Мощный запрос для фильтрации SQL представления на основе списка столбцов Excel
Использование столбцов Excel в SQL Запрос предложения Where
https://techcommunity.microsoft.com/t5/excel/create-dynamic-power-query-sql-by-using-excel-table-column/m-p/211504