Здравствуйте! Подскажите, пожалуйста, как правильно настроить распределение расходов в Power Pivot по нескольким уровням иерархии Общую сумму аллокации нужно сначала распределить по Регионам (на основании таблицы с данными по регионам) Далее внутри Регионов суммы нужно распределить на офисы (на основании таблицы с данными по офисам) У меня возникла сложность с распределением верхнего уровня(выделил красным).
Код
Сумма драйвера по Региону:=SUM('ДрайверРегионы'[Значение])
Доля Региона:=DIVIDE([Сумма драйвера по Региону];CALCULATE([Сумма драйвера по Региону];ALL('СпрРегионы')))
Сумма драйвера по Городу:=SUM('ДрайверГорода'[Значение])
Доля города внутри Региона:=DIVIDE([Сумма драйвера по Городу];CALCULATE([Сумма драйвера по Городу];ALL('Структура'[Город])))
Итого сумма на город:=SUM('СуммаАллокации'[Сумма для Аллокации])*[Доля Региона]*[Доля города внутри Региона]
Поиском пользовался ссылка, не помогло. Файл не могу уменьшить до 100 кб
Конечно лучше бы вы файл прикрепили. На первый взгляд - у вас контекст фильтра не переходит из таблицы "структура" в таблицу "Драйверы регионы", так как там связь многие ко многим в итоге получается.
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
Dyroff,да, Вы правы, как раз из за этой связи проблема Сейчас сам дошел до такого варианта - добавил calculate и указал справочник в разделе фильтров Правда, пока не до конца понял, как это работает... но результат получился тот который нужен
Код
Сумма драйвера по Региону:=CALCULATE(SUM('ДрайверРегионы'[Значение]);'Структура')
Доля Региона:=DIVIDE([Сумма драйвера по Региону];CALCULATE([Сумма драйвера по Региону];ALL('Структура')))
Файл с моделью не получается никак сжать до 100 кб
Student64, Когды вы создали связь один ко многим от таблицы "структура" к таблице "справочник" то все столбцы таблицы "справочник" были включены в таблицу "структура". Их не видно в пользовательском представлении, но они есть. То есть таблица, которая связана с другими по связи многие к одному имеет в себе все столбцы таблиц с которыми она связана связью многие к одному. Размещая такую таблицу в качестве фильтра в CALCULATE - она начинает фильтровать ту таблицу по которой имеется связь многие к одному, а та таблица уже фильтрует другие связанные по связи один ко многим.
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!