Во-первых, вам нужно немного изменить таблицу COST:
Я заменил «ID» на «Номер сотрудника», потому что нам нужны таблицы COST и ALLOCATION, чтобы иметь одинаковые ключи сотрудника. Я проигнорировал столбец «Продукт», потому что он не имеет отношения к вопросу.
Когда таблица COST имеет тот же ключ сотрудника, что и таблица ALLOCATION, вы можете подключить все свои таблицы к следующей модели данных:
Таблица «Пользователь» связана с таблицами «Стоимость» и «Распределение» через «Номер сотрудника». Обратите внимание, что соединение между «Пользователем» и «Распределением» является двунаправленным. Чтобы изменить соединение с однонаправленного на двунаправленный, дважды щелкните по соединительной линии и измените направление фильтра на ОБА. Теперь вы готовы написать DAX меры.
Мера 1:
Total Cost = SUM(COST[COST])
Эта мера просто суммирует затраты в таблице «СТОИМОСТЬ».
Мера 2:
Allocated % = SUM(Allocation[PERCENTAGE])
Эта мера просто суммирует проценты в таблице "РАСПРЕДЕЛЕНИЕ".
Мера 3:
Allocated Cost = SUMX('User', [Total Cost] * [Allocated %])
Если вы поместите Projects в матричный визуал и добавите эту меру, вы получите следующий результат:
Дополнительные примечания:
Опытные дизайнеры избегают использования двунаправленных отношений в своих моделях (по уважительным причинам). Чтобы сохранить все отношения в одном направлении, измените последнюю меру следующим образом:
Allocated Cost =
CALCULATE(
SUMX('User', [Total Cost] * [Allocated %]),
CROSSFILTER(User[EMPLOYEE NUMBER], Allocation[EMPLOYEE NUMBER], BOTH))
CROSSFILTER делает то же самое, что и двунаправленное отношение, только программно и без нежелательных побочных эффектов. Такой подход также будет работать в Excel Power Pivot, который не поддерживает двунаправленные соединения.