Страницы: 1
RSS
Неправильный итог Power BI
 
Здравствуйте!
Люди добрые, помогите решить проблемку, или хотя бы подскажите, почему неправильно считаются итоги в Power BI
Вот пример:


Первые колонки (Сума планова, сума фактична, валовий прибуток...) считаются правильно, проблема с колонками Оплата за групу, Оплата за групу + рент и Бонус за виконання. При чем если смотреть по рядкам, то значения верные получаются, а именно итог нет....

Вот формулы, которые я использовал:
Код
Оплата за групу = SUM('Продажі'[Сума фактична]) * AVERAGE('Плани'[% нарахування])
Код
Оплата за групу + рент. = [Оплата за групу] / AVERAGE('Плани'[Рент. середня]) * [Рент. фактична]
Код
Бонус за виконання плану = SUM('Продажі'[Сума фактична]) * [% за виконання плану]



 
Изменено: Роман - 15.08.2022 11:29:46
 
Даа, общительное у вас тут сообщество, ничего не скажешь...
 
Роман,
здравствуйте, попробуйте обратиться в профильный чат по Power BI
 
Роман, вы бы файл-пример бы подготовили. Показали бы в примере ожидаемый результат. Не будут же пользователи делать пример за вас.
Я конешно не помощник, но решение от других участников, думаю,  будет.
 
Оберните все написанные меры в summarize по колонке Група
 
Цитата
mechanix 85 написал:
Оберните все написанные меры в summarize по колонке Група
Ну такое себе без примера данных:)
% начислений по группе строк - это среднее арифметическое % начислений каждой строки? :) Ну бред же.
Данные из разных таблиц. Не видя модели, не хочу писать меры :)
Цитата
Роман написал:
Даа, общительное у вас тут сообщество, ничего не скажешь...
Отличное у нас сообщество. Но Вам нужны украиноговорящие Ванги-финансисты. Не игнорируйте правила форума. Без примера Вам очень сложно помочь.
 
Цитата
surkenny написал:
Ванги-финансисты

:D
 
Цитата
написал:
% начислений по группе строк - это среднее арифметическое % начислений каждой строки?  Ну бред же.
Почему бред? Если для целой групы % начислений один и тот же, как мне по другому указать процент в формуле для каждой строки?

Цитата
Отличное у нас сообщество. Но Вам нужны украиноговорящие Ванги-финансисты.
При чем здесь это? Я с Вами общаюсь по-русски. Вас смущает, что в примере на скрине украинские надписи?
 
Цитата
написал:
Оберните все написанные меры в summarize по колонке Група
Спасибо за подсказку, но я наверное чего-то не понимаю...
DAX изучаю недавно...
Пробую написать формулу:
Код
Оплата за групу тест = 
SUMMARIZE(
    'Продажі','Продажі'[Цінова група],"опл за групу",
    SUM('Продажі'[Сума фактична]) * AVERAGE('Плани'[% нарахування])
)

Но выходит ошибка: Выражение касается нескольких столбцов. Не удалось конвертировать несколько столбцов в скалярное значение.

Вот модель данных:


 
вложите файл, по картинкам никто помогать не будет
 
Цитата
Роман написал:
Почему бред? Если для целой групы % начислений один и тот же, как мне по другому указать процент в формуле для каждой строки?
Потому что бред. Потому что нужно именно ДЛЯ КАЖДОЙ строки посчитать значение value * perc и просуммировать. А не сумма value * средний perc. Сумма произведений не эквивалентна произведению сумм. Представьте себе.
Я Вашу модель не вижу. По рисунку у Вас может быть излишняя нормализация (возможно, вместо 3-х таблиц групп/менеджеров/планов можно сделать одну). Это сильно упростит написание мер :)
По Вашему примеру сделал модель. Сравните Ваш бред
Код
value perc_wrong:=SUM ( 'values'[Value] ) * AVERAGE( plans[Perc] )

с
Код
value perc :=
SUMX (
    'values';
    'values'[Value] * CALCULATE ( MAX ( plans[Perc] ); RELATEDTABLE ( plans ) )
)

P.S. Откуда такая дерзость берется? :) Сообщество неактивное; DAX считает неправильно; тормоз surkenny ТС не понимает, так еще и комментарии дает вместо решения и пример требует... Тривиальная задача, чего прицепился собака.
P.P.S. Ещё и українська мова не устраивает.
Скрытый текст
Изменено: surkenny - 15.08.2022 11:57:57
 
surkenny, спасибо, Ваша формула подошла, и правильно посчиталась мера "Оплата за группу"  :)
Я переименовал все колонки и меры по-русски, чтобы было понятно) Вот файл пример, надеюсь на помощь с другими мерами, потому что не вяжется что-то... Уже запутался... Например как мне высчитать для каждой строки меру "Оплата за группу + рент.", если у меня в формуле включены две меры...
 
так должно быть?

Код
SUMX(VALUES('СписокГрупп'[Группа]);CALCULATE([Оплата за группу] /
AVERAGE('Планы'[Рент план]) *
[Рент. факт]))
 
mechanix 85, при условии, что нет записей для одной группы с разными менеджерами (читай - планами), должно работать :)
Страницы: 1
Наверх