Страницы: 1
RSS
DAX рассчитать итоговую сумму бонуса
 
Добрый день. Есть файл, в котором:
1. есть сотрудники ЗА и ПС
2. есть % выполнения (мера [% ТМ])
3. % бонуса для ЗА и ПС разный и зависит от % выполнения
% бонуса для ЗА=
Код
%Бонус ЗА:=SWITCH(TRUE();
[% ТМ]=BLANK();BLANK();
[% ТМ]<0,3;2;
[% ТМ]<0,5;0,01;
[% ТМ]<0,7;0,02;
[% ТМ]<1;0,03;
0,05)  

% бонуса для ПС=
Код
%Бонус ПС:=SWITCH(TRUE();
[% ТМ]=BLANK();BLANK();
[% ТМ]<0,3;1;
[% ТМ]<0,5;0,02;
[% ТМ]<0,7;0,04;
[% ТМ]<1;0,05;
0,07) 

Собственно рассчитал и сам размер бонуса
для ПС
Код
Мера 3:=IF(HASONEVALUE('Справочник сотрудников фирмы'[ИНН]);CALCULATE([%Бонус ПС]*[Прогноз ТМ];FILTER('Справочник сотрудников фирмы';'Справочник сотрудников фирмы'[Должность]="ПС")))
для ЗА
Код
Мера 5:=IF(HASONEVALUE('Справочник сотрудников фирмы'[ИНН]);CALCULATE([%Бонус ЗА]*[Прогноз ТМ];FILTER('Справочник сотрудников фирмы';'Справочник сотрудников фирмы'[Должность]="ЗА")))
Итого бонус
Код
Мера 6:=[Мера 3]+[Мера 5]

Проблема в том, что Мера6 (итоговый бонус) не считается в итогах по аптеке и общем итоге. Прошу помощи в решении этой задачи. Так понимаю, что нужно изменить логику расчета бонуса для ПС и ЗА. Но как это сделать не понимаю. Пытался через ADDCOLUMNS подтянуть должность из справочника и через IF указать % бонуса, но так не получается, т.к. мера [% ТМ] не хочет работать

вот пример меры
Код
SUMX(ADDCOLUMNS(            
ADDCOLUMNS('Продажи';"долж";RELATED('Справочник сотрудников фирмы'[Должность]));
                "%";  IF([долж]="ЗА";SWITCH(TRUE();
                                        [% ТМ]=BLANK();BLANK();
                                        [% ТМ]<0,3; 2;
                                        [% ТМ]<0,5;0,01;
                                        [% ТМ]<0,7;0,02;
                                        [% ТМ]<1,;0,03;
                                        0,05);


                        IF([долж]="ПС";SWITCH(TRUE();
                                        [% ТМ]=BLANK();BLANK();
                                        [% ТМ]<0,3; 1;
                                        [% ТМ]<0,5;0,02;
                                        [% ТМ]<0,7;0,04;
                                        [% ТМ]<1,0,05;
                                        0,07))
                            )
                        );[%]*[Прогноз ТМ])
 

Оставляю ссылку на файл, т.к. сюда не влазит https://dropmefiles.com.ua/ru/5zBX. Если этот файлообменник не устараивает, скажите куда залить файл. Заранее спасибо

 

Изменено: mechanix 85 - 13.01.2021 15:42:13
 
Цитата
mechanix 85 написал:
скажите куда залить файл
Сделайте пример на 10 строк, загрузите их в модель, засуньте в неё ваши меры, сделайте сводный отчет и покажите в нем , что где не считается, и как должно считаться, после чего заливайте на форум. Помощь прилетит на самолете.
Вот горшок пустой, он предмет простой...
 
файл с 10 строками фактом и 8 строками справочника весит 280 кб. больше нечего ужимать
 
А форум пропускает 300Кб. Все норм. Ну и архиваторы никто не запрещал.
Вот горшок пустой, он предмет простой...
 
Цитата
mechanix 85 написал: файл с 10 строками фактом и 8 строками справочника весит 280 кб
Видимо, много форматированных строк.
 
vikttur, неа, это модель данных столько жрет, даже пустая. Именно поэтому и просил год назад Николая увеличить лимит для вложений.
Вот горшок пустой, он предмет простой...
 
вложил в исходное сообщение. Мера6 неверно считает, красным отметил где нет данных и рядом показал правильный результат
 
Оно?
Код
Мера 6:=SUMX( ADDCOLUMNS( VALUES( 'Справочник'[ИНН] ); "temp"; [Мера 3]+[Мера 5] ); [temp] )
Вот горшок пустой, он предмет простой...
 
в примере посчитало правильно, но на рабочем файле неверно выводит общий итог. я так думаю нужно изменить логику расчета меры 3 и 5, но знаний хватило только на то что есть
Изменено: mechanix 85 - 13.01.2021 16:34:07
 
Решение вашего вопроса предоставлено. Проверяйте какая мера рассчитывается неверно (подозреваю что это мера5) и создавайте новую тему. Таковы правила форума.
Вот горшок пустой, он предмет простой...
Страницы: 1
Наверх