Обработка ошибок в Power BI

или как вызвать ошибки
в Power Query с помощью Try

Довольно часто отчеты в Эксель или Power BI строят на многочисленных шаблонных таблицах с одинаковой структурой, либо используют для обработки и раскрытий значений в выгрузка формата JSON.

При этом в довольно большом количестве случаев на определенных этапах обработки данных удаляются ошибки, которые могут повлиять на выгрузку отчетов и раскрытие файлов. Да, это функция очень удобна, ведь тогда у вас не падают каждый раз по каждой ошибке отчеты, не надо лишний раз лезть в Power BI в Query.

Но как быть, если мы хотим сохранить это удобство и при этом видеть все ошибки при обновлении отчетов и лишний раз, опять такие, не лазить в Power Query?

Решение есть и это - вызов ошибок с помощью функции Try языка M.

Как это выглядит на деле?
1. Мы дублируем тот запрос, где у нас потенциально могут появляться ошибки и где мы применяем шаг "Удалить ошибки".

2. Затем мы удаляем все столбцы кроме тех, которые нам помогут определить местоположение ошибки (файл, ссылка, название JSON и прочее, в общем идентификатор) и столбца данных.
4. После этого добавляем новый пользовательский столбец. В нём мы как раз и применим функцию языка М - Try.

    Функция максимально простая, по сути, надо просто выбрать столбец, который мы хотим проверить на ошибки. В нашем случае это столбец "Преобразовать файл".

    Функция на выходе нам сообщит, есть ли ошибка в выбранном столбце.
    5. После применения шага мы видим, что ошибки ушли и на месте ошибки появилась запись.

    Теперь наша задача - показать, что же там за ошибки.
    6. Добавим еще один шаг, в котором попросим Power Query раскрыть причину ошибки.

    Формула выглядит следующим образом: if [Ошибки][HasError] then [Ошибки][Error][Message] else 0

    Иными словами, если в нашем столбце есть ошибка, то тогда вывести сообщение о причине ошибки, в противном случае (если нет ошибок) вывести 0.
    Пример отчета ДДС.
    Справочник операций, статей дохода/расхода, вида дейтельности
    Справочник операций, статей дохода/расхода, вида дейтельности
    3. Как видим, у нас явно есть ошибки.
    А когда файлов/запросов много, и при этом мы автоматически удаляем ошибки, это может сильно сказаться на получаемом результате.
    Пример отчета ДДС.
    Справочник операций, статей дохода/расхода, вида дейтельности
    7. Наконец последним шагом просто применяем фильтрацию: отобразить всё, корме 0. Ну и Вывести этот запрос на отдельный лист в Excel или отдельный дашборд в Power BI.
    Пример отчета ДДС.
    Как видите, с помощью функции Try языка M у нас появился запрос, который нам всегда будет выводить ошибки, идентификатор места ошибки и причину ошибки. При этом, наш отчет будет обновляться, не будет необходимости каждый раз залезать внутрь и исправлять ошибки. Останется только самим посматривать в лист/дашборд с ошибками и корректировать источники.
    Также читают
    Закажи аналитику своего бизнеса
    Настроим дашборд под любой запрос
    ФИНМОДЕЛЬ
    В ПОДАРОК
    ОТЧЕТ ОТ 2 990
    ШАБЛОННЫЕ ОТЧЕТЫ ЗА 2 ДНЯ