Используя поставщика данных .Net для postgresql, я хотел бы создать книгу Excel, которая загружает некоторые таблицы из заданной схемы. Схема задается с использованием именованного диапазона в книге Excel, имена таблиц одинаковы для каждой схемы.
Я попробовал следующее:
Определить запрос "из других источников" / "пустой запрос" с именем SchemaIdParam
как
let
rng= Excel.CurrentWorkbook(){[Name="schemaid"]}[Content]
in
rng
(имя "schemaid" определено в рабочей книге.)
Определить запрос "из PostgreSQL db" с именем mytable
как
let
src = PostgreSQL.Database("xxx.myhost.com:5235", "my_database"),
tbl = src{[Schema=SchemaIdParam,Item="mytable"]}[Data]
in
tbl
Теперь это не работает. Сообщение об ошибке гласит: «[Expression.Error]: нет соответствия между ключом и строками в таблице» (собственный перевод). Тем не менее, это работает, если я заменю SchemaIdParam
на буквальное значение в кавычках. Затем доставляется правильный стол.
Любые советы, как я могу решить эту проблему, очень ценятся!
Причина, по которой я хочу использовать именованный диапазон для имени схемы, заключается в том, что я хочу программно, вне Excel, установить имя схемы. Я очень открыт для предложений, как сделать это по-другому.