DAX - Попытка написать меру, которая нуждается в несуществующих отношениях - PullRequest
1 голос
/ 25 октября 2019

Мне нужно рассчитать итоги, используя отношения, которые не существуют. У меня есть следующие анонимные таблицы:

Команда

enter image description here

Eng

enter image description here

Работа

enter image description here

Часы

enter image description here

Мои отношения:

enter image description here

Я хочу рассчитать общее количество часов, где Job.EngID = Hours.EngID AND Job.JobID = Hours.JobID,на команду. То, что я хочу, это:

enter image description here

Я часть пути, но только если я хочу показать часы инженером, а не командой

HrsMeasure =
CALCULATE (
    SUM ( Hours[Hrs] ),
    FILTER ( Hours, Hours[EngID] = MAX ( Job[EngID] ) )
)

Это дает мне:

enter image description here

Могу ли я что-нибудь сделать, не меняя модель данных / отношения?

См. Ниже файл PBIX:

https://1drv.ms/u/s!AuiIgc_S9J5JhbgBkRFKyNPYNoxxNA?e=gZBhi2

Приветствия за помощь

Редактировать 1 - поэтому я попытался использовать неактивные отношения между заданиями и часами, но все еще получаю неправильные значения,Это делается с помощью объединенного столбца JobID / EngID в таблицах Jobs и Hours:

HrsMeasureUSERELATIONSHIPJobEng = 
CALCULATE (
    SUM ( Hours[Hrs] ),
    USERELATIONSHIP(Hours[JobEng],Job[JobEng])
)

Надеюсь, что кто-то может помочь мне в этом, так как это сводит меня с ума! Приветствия

1 Ответ

0 голосов
/ 28 октября 2019

Таким образом, ответом было создание объединенных столбцов для JobID / EngID в таблицах Hours и Jobs. Соедините эти два столбца, используя неактивные отношения, а затем используйте CALCULATE с USERELATIONSHIP, чтобы активировать неактивные отношения - это добилось цели:

HrsMeasureUSERELATIONSHIPJobEng = 
CALCULATE (
    SUM ( Hours[Hrs] ),
    USERELATIONSHIP(Hours[JobEng],Job[JobEng])
)
...