2013-08-07 4 views
0

몬드리안 서버에 대한 첫 번째 olap 큐브 스키마를 만들려고합니다. 나는 또한 치수가 Users, Topics라고 만든 OLAP 큐브에서 SQL Join 쿼리가있는 뷰를 사용하고 있습니까?

SELECT call.id, record.user, topic.id, session.id, user.id, session.end, session.start FROM calls call 
    LEFT JOIN call_records record ON (record.call_id = call.id) 
    LEFT JOIN topis topic ON (topic.id = record.topic_id) 
    LEFT JOIN login_sessions session ON (record.session_id = session.id) 
    LEFT JOIN users user ON (session.user_id = user.id) 

(좀 더 있지만 : 나는 여러 가지로 사실 테이블과 뷰를 생성 해낸 은의 그것과 같다 말을하자, 그것으로 외래 키를 넣어 조인 나는 그것을 간단하게 유지하려고 노력하고있다.) 모든 것이 잘 작동하고 토픽이나 각 사용자에 대한 작업 시간 요약을 제외하고 필요한 모든 정보를 검색했다.

세션 테이블이 가입되어 있기 때문에 그냥 session.end - session.start 합계 수와 같은 세션이 여러 번 발생합니다.

게다가 나는 그것을 내가에되어있어 길을하고 있어요 생각하지 않습니다.

당신은 내가 그것을 올바른 방법을 도와 드릴까요? 정규화 된 데이터 세트에 비해 OLAP 모델을 작성 덕분에

답변

1

일반적으로 나쁜 방법입니다. OLAP 시스템의 경우 비정규 화 된 모델과 ETL/ELT 기술을 사용하여 OLAP 시스템을 생성하는 방법에 대해 읽어야합니다.

당신을 도울 수 밖에 문학 많이있다. 나는 OLAP '별'스키마와 ETL 도구에 익숙해지는 것이 좋습니다.