Как условно прервать обновление PowerQuery? - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть 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, но в основном это говорит о записях ошибок.Не удалось найти полезный пример того, как выдать ошибку для самого запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...