У меня есть Excel с несколькими запросами (+ -20), который должен использоваться другими людьми.Обновление некоторых запросов должно происходить, только если установлен определенный параметр.Если определенная ячейка «Разрешить внешние обновления» установлена на «НЕТ», она должна просто прервать загрузку запроса и сохранить данные, которые уже есть.
То, что я пробовал и РАБОТАЕТ, - это загрузить настройку в Powerquery.используя функцию.Загрузите внешние данные как соединение с именем «Внешний запрос» и загрузите существующие данные на листе как «Внутренний запрос».Затем, основываясь на этом, я могу переключаться между существующими данными или внешними данными, используя оператор if.
Функция Check_Refresh возвращает «Да» или «Нет» в виде текста
()=>
let
Source = Excel.CurrentWorkbook(){[Name="Refresh"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Refresh", type text}}),
Refresh = #"Changed Type"{0}[Refresh]
in
Refresh
Запрос «Обновить» загружает либо внешние данные, либо существующие данные в таблицу (ПРИМЕЧАНИЕ. Чтобы сделать эту работу, мне также нужно изменить настройки конфиденциальности)
let
Check = Check_Refresh(),
ExTable = #"External Query",
InTable = #"Internal Query",
Table = if Check = "Yes" then ExTable else InTable
in
Table
Однако это довольно неудобно для репликации в течение 20запросы, и я сомневаюсь, что это самый быстрый способ.Также я хотел бы, чтобы пользователь знал, что он НЕ загружает внешние данные, а выдает ему сообщение об ошибке («ПРИМЕЧАНИЕ. При загрузке внешних данных установлено значение« ВЫКЛ »»).
Я посмотрелна M-Reference, но в основном это говорит о записях ошибок.Не удалось найти полезный пример того, как выдать ошибку для самого запроса.