Страницы: 1
RSS
Обработка ошибок в PQ при отсутствии показателя.
 
Добрый день. Пока не силен в синтаксисе PQ, код ниже добавляет рассчитанные по формуле строки в таблицу:
Код
    Group = Table.Group(#"Данные", {"Регион", "Месяц", "Год", "Показатель"}, {{"-", 
        each let 
            t=Table.Buffer(_[[Стр],[Статья],[Значение]]), 
            a=t{[Стр=2000]},
            b=t{[Стр=100]} 
        in Table.InsertRows(t,0,{[Стр=4000, Статья="Прибыль", Значение=a[Значение]-b[Значение]]}

Как добавить проверочное условие, если "а" или "b" не содержат значения то строка не добавляется?
 
TankSpb, а мой код такую ошибку не выдавал.  ;)
С точки зрения логики, почему не нужно добавлять строку если нет всего лишь одного из слагаемых, ведь есть либо доход либо расход, значит есть прибыль, возможно со знаком минус, это уже не суть.
Вот горшок пустой, он предмет простой...
 
PooHkrd, в исходной таблице да) но мы же пошли дальше и "развернули" показатели  (UnpivotOtherColumns) в итоге для показателей без значений строки не добавились и при расчете прибыли возникает ошибка. Мне хочется понять сам принцип обработки грубый подход:
Код
if not isNull(a) or not isNull(b) then 
       in Table.InsertRows...
end if

Не прокатил)
 
Если написать так
если a и b вычислить так:
Код
           a=t{[Стр=2000]}?,
           b=t{[Стр=100]}?

А потом Значение вычислить так:
Код
Значение = List.Sum({ a[Значение], -b[Значение] })

То по идее строка будет добавляться без ошибки.
Но если хочется все таки именно не добавлять, то можно так:
Код
... in if a = null or b = null then t else Table.InsertRows(t,0,{[Стр=4000, Статья="Прибыль", Значение=a[Значение]-b[Значение]]})
Изменено: PooHkrd - 11.11.2019 10:39:57
Вот горшок пустой, он предмет простой...
 
PooHkrd, Сделал с условием, в редакторе все нормально работает, а при обновлении таблицы в экселе выдает ошибку, попробую смоделировать ошибку в примере...
Изменено: TankSpb - 11.11.2019 11:20:16
 
TankSpb, при написании или редактировании сообщения обратите внимание на кнопочку <...> Она позволяет обычный текст превратить в офорленный тэгами код (см. сообщения выше, и свои в том числе)
Страницы: 1
Наверх