Добрый день!! Помогите плз разобраться. Есть список магазинов отранжированных по рейтингу, есть из потребность в подсортировке по артикулам. Есть доступный остаток к распределению. Необходимо распределить этот остаток между магазинами исходя из рейтинга, учитывая потребность
Алена, если приоритет магазина уникален (нет нескольких магазинов с одним приоритетом), то вычисляемый столбец в PP:
Код
РаспределениеDAX =
VAR CurPriority = 'Потребность'[Рейтинг магазина]
VAR CurCode = 'Потребность'[артикул]
VAR CurNeed = - 'Потребность'[Потребность]
VAR Available = RELATED ( 'Доступность'[в доступности к распределению] )
VAR MorePriority = FILTER ( 'Потребность'; 'Потребность'[артикул] = CurCode && 'Потребность'[Рейтинг магазина] < CurPriority )
VAR ResMorePriority = MIN ( SUMX ( MorePriority; - 'Потребность'[Потребность] ); Available )
VAR CurRes = MIN ( CurNeed; Available - ResMorePriority )
RETURN CurRes
Если несколько магазинов могут иметь один приоритет и при нехватке всем одноприоритетным магазинам нужно им частично распределить пропорционально потребности, то в PQ:
Спасибо большое! Но я видимо неправильно сформулировала. у меня все данные в одной таблице, Related не подходит. Как сделать так, чтоб считалось из одной таблицы
Распределено =
VAR CurPriority = 'Потребность'[Рейтинг магазина]
VAR CurCode = 'Потребность'[артикул]
VAR CurNeed = - 'Потребность'[Потребность]
VAR Available = 'Потребность'[в доступности к распределению]
VAR MorePriority = FILTER ( 'Потребность'; 'Потребность'[артикул] = CurCode && 'Потребность'[Рейтинг магазина] < CurPriority )
VAR ResMorePriority = MIN ( SUMX ( MorePriority; - 'Потребность'[Потребность] ); Available )
VAR CurRes = MIN ( CurNeed; Available - ResMorePriority )
RETURN CurRes
Код
Остаток после распределения =
VAR CurPriority = 'Потребность'[Рейтинг магазина]
VAR CurCode = 'Потребность'[артикул]
VAR Available = 'Потребность'[в доступности к распределению]
VAR MorePriority = FILTER ( 'Потребность'; 'Потребность'[артикул] = CurCode && 'Потребность'[Рейтинг магазина] <= CurPriority )
VAR ResMorePriority = MIN ( SUMX ( MorePriority; - 'Потребность'[Потребность] ); Available )
RETURN Available - ResMorePriority
Спасибо Вам огромное, но вчера крутила файл и понимаю, что не хватает еще одного параметра. Надо кроме рейтинга магазина добавлять и его АВС. Тут своими силами пыталась изменить что-то и не получается (( Посмотрите плз файл в приложении ...