Расчет служб 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

Поскольку, очевидно, несколько TravelIDs, он также делит тот итог, в то время как там он должен фактически составлять сумму предыдущих итогов.

Каков будет эффективный способ реализовать это? Я провожу целый день, ломая голову над этим, но не могу найти хорошего решения.

Вот более полная картина проблемы:

                                     #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 ответ

Решение

Единственное решение, которое я нашел до сих пор, - это создать вторую таблицу фактов. Я пытался избежать этого, но я не видел другого пути.

Другие вопросы по тегам