Страницы: 1
RSS
powerBi. функция IF и область ее действия
 
Hello world!
Исходная таблица по которой строится отчет имеет структуру
iDt Counteragent_Key Выручка ВыручкаПредыдГод
20220101 1458 100 0
Приведенный пример сданными означает, что за январь 2021 года  продаж не было, а за январь 2022 года продали на 100

В сводной таблице, в PowerBI нужно рассчитывать коэф по формуле

кк = (ВыручкаПредыдГод - Выручка ) / ВыручкаПредыдГод

В отчете по этому контрагенту должно быть:
ЯнварьФевраль МартАпрель Май Июнь
1 0 0 0 0 0
Еще одно условие которое мне нужно выполнить, что бы из сводной не выпадали месяца.

в powerBI с помощью DAX создал меру с формулой:
Kk = divide(sum('powBI vFactSaleCurAndPrevYr'[Выручка]) - sum('powBI vFactSaleCurAndPrevYr'[ВыручкаПредыдГод]),sum('powBI vFactSaleCurAndPrevYr'[ВыручкаПредыдГод]))

Для января 2022 ВыручкаПредыдГод = 0 , функция divide ничего не возвращает. То есть январь выпадает


Пробовал воспользоваться функцией IF:
Kk = IF(sum('powBI vFactSaleCurAndPrevYr'[ВыручкаПредыдГод]) = 0, 1, divide(sum('powBI vFactSaleCurAndPrevYr'[Выручка]) - sum('powBI vFactSaleCurAndPrevYr'[ВыручкаПредыдГод]),sum('powBI vFactSaleCurAndPrevYr'[ВыручкаПредыдГод])))

Но тогда получаю другую проблему. В моем отчет есть срез по году.
Для анализа динамики за последний год я выбираю: 2021, 2022

Тогда из-за функции IF в отчет подтягиваются данные за всю историю, но с нулями.
Я понимаю это так. Раз задан 2022 и 2021 год, то по другим годам автоматом выполняется условие sum('powBI vFactSaleCurAndPrevYr'[ВыручкаПредыдГод]) = 0 и в отчет по этим периодам подставляются 1

Подскажите, как мне модернизировать данную формулу, чтобы не выпадали месяца и корректно работали фильтры?
 
 
Вот скрины
 
п 2.3

тыц
Изменено: mechanix 85 - 10.06.2022 16:02:48
 
yagrus2, я верно понял что если числитель либо знаменатель не равны нулю, то строка должна отобразить ноль при делении на ноль? А если нет данных ни по выручке 2021, ни по 2022, то и в отчет ничего выводить не надо? Если да, то примерно так:
Код
kK = 
var cur = SUM('powBI vFactSaleCurAndPrevYr'[Выручка])
var prev =  SUM('powBI vFactSaleCurAndPrevYr'[ВыручкаПредыдГод])
return
IF( prev <> 0, 1 - DIVIDE( cur, prev ) )
Изменено: PooHkrd - 10.06.2022 16:21:12
Вот горшок пустой, он предмет простой...
Страницы: 1
Наверх