Показать сообщение отдельно
Старый 05.03.2007, 15:55   #2  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
Цитата:
Сообщение от farlander Посмотреть сообщение
Не знаю будет ли понятнее, но проблема аналогична этой http://www.olap.ru/iservices/message...6&topicId=9172
Только таблиц фактов 4, а измерений около 12, причем таких, что в общем итоге испльзуется около 10 таблиц...
Я бы решал проблему объединения так: один куб по оплатам, второй по отгрузкам,а в связанном(виртуальном) кубе объединил бы их в один. Какого ... видеть оплаты по пунктам если они были по клиентам - не понимаю, но задвоения не будет.

Либо на уровне хранилища приводить к единой гранулярности. Подзапросом вытащить кол пунктов для клиента и поделить на него сумму оплаты, примерно так:
select
data,
KodClient,
((Select sum(sumOpl) from оплаты where data=otgr.data and KodClient=otgr.KodClient)
/
(select count(KodPunkt) from отгрузки where data=otgr.data and KodClient=otgr.KodClient)) as oplbypunkt,
sumOtgr
from
отгрузки otgr
__________________
Ибо зло есть лучшая сила человека. "Человек должен становиться все лучше и злее" -- так учу я. /Ф. Ницше/

Последний раз редактировалось Recoilme; 05.03.2007 в 16:01.