Расчет служб SSIS с различной суммой
Я пытаюсь показать количество дней, которые заняла командировка. Сотрудник отдела продаж не вводит точную сумму, поэтому она рассчитывается в SQL и в загрузке данных для DWH
это добавлено к TravelID
, Если travelID
существует 3 раза из-за 3 подключенных линий отключения, каждая линия получает сумму 3.
База данных DWH
TravelID 1234 TriplineID 2345 #Days 3
TravelID 1234 TriplineID 2346 #Days 3
TravelID 1234 TriplineID 2347 #Days 3
Так что TravelID
может иметь несколько TriplineID
"s
Проблема в том, что когда я хочу сделать свою меру куба, она подсчитывает все 3. В этом случае он показывает, что #Days - 9 за одно путешествие, а должно быть 3:
#Days
--TravelID 1234
--TripLineID -2345 3
--TripLineID -2346 3
--TripLineID -2347 3
Total 9
Затем я подумал, что разделю это на количество строк.([Measures].[# Days] / [Measures].[Count])
Тогда это показывает мне частично правильный результат:
#Days
--TravelID 1234
--TripLineID -2345 3
--TripLineID -2346 3
--TripLineID -2347 3
Total 3
Total 2
Поскольку, очевидно, несколько TravelID
s, он также делит тот итог, в то время как там он должен фактически составлять сумму предыдущих итогов.
Каков будет эффективный способ реализовать это? Я провожу целый день, ломая голову над этим, но не могу найти хорошего решения.
Вот более полная картина проблемы:
#Days
--TravelID 1234
--TripLineID -2345 3
--TripLineID -2346 3
--TripLineID -2347 3
Total 3
--TravelID 1235
--TripLineID -2348 4
--TripLineID -2349 4
--TripLineID -2350 4
Total 4
Total 2
Где 2 здесь должно было быть 7.
1 ответ
Единственное решение, которое я нашел до сих пор, - это создать вторую таблицу фактов. Я пытался избежать этого, но я не видел другого пути.