Cognos 다중 입도 팩트 테이블이있는 데이터 모델을 처리하는 방법

개요



타이틀에서 무엇을 말하고 있는지, 전혀 모르는지도 모릅니다만, 이 개요를 읽어 주시면 중요한 문제라고 알기 때문에, 꼭 조금 읽어 보세요.
이러한 테이블 구조의 데이터를 다룰 때 Framework Manager 모델을 처리하는 방법입니다.
무엇이 특징적인가 하면, 판매 실적표와 판매 목표표라고 하는, 2개의 팩트표의 입도가, 실적표는 일 단위, 목표표는 월 단위에 데이터를 가지고 있는 점입니다.


실적을 일 단위, 목표를 월 단위는 보통에 있는 이야기군요.
우선 위와 같은 느낌으로, 보통으로 테이블간에 1대다의 릴레이션을 펴 보겠습니다.

자, 여기 문제입니다. 2015 년 1 월 Apple의 판매 수량 (QUANTITY)과 판매 목표 (EXPECTED_VOLUME)는 몇 가지입니까?
매출 수량을 판매 실적표에서 보면 A1의 2015년 1월은 2015년 1월 1일의 2개와 2015년 1월 2일의 1개로 총 3개.
매출 목표는 간단하고, 판매 목표표로 보면 한발로 아는, 4개.
그리고 1개만 목표에 도달하지 못한다는 결과가 맞네요.

그런데 실제로 보고서에서 목록 테이블에 이러한 데이터 항목을 넣어 보면 이런 결과가 됩니다.
왜 애플의 목표가 8개인가? 그리고 깜짝 놀라게됩니다.


이것은 Cognos가 나쁜 것은 아니며, 이러한 다중 입도 팩트 테이블을 처리하는 데이터 모델에서는 다른 BI 도구도이 결과를 반환합니다.
그리고, 실은 많은 BI 툴에서는, 이 모델의 해소법이 없다고 하는, 좀처럼 귀찮은 모델입니다.

해결 방법



Cognos는 이러한 모델을 다루는 "행렬식"이라는 기능을 제공합니다.
이전 모델에서 입도 차이의 관계가 구현되어 있는 「날짜 마스터 테이블」에 행렬식을 구현합니다.
날짜 마스터 테이블은 판매 실적 테이블과 DAY_KEY로 연결되고 판매 목표 테이블은 MONTH_KEY로 연결됩니다.


행렬식은 Framework Manager의 기능입니다.
날짜 마스터의 쿼리 주제 (DATEMST)의 행렬식 탭에서 다음과 같이 "Month"와 "Day"라는 항목을 만들고 Day는 DAY_KEY가 속하고 고유하게 데이터가 존재하며 Month는 MONTH_KEY 소속되어 일의가 아니고 그룹화(집약) 아이템이라고 선언합니다.


이 행렬식의 설정을 해, 발행된 모델이면, 이하와 같이 올바른 목표치의 결과가 출력됩니다.


Cognos뿐만 아니라 모든 BI 툴에서 조심해야 할 중요한 이야기이므로, 멀티 입도의 팩트 테이블 모델을 취급하는 경우는, 결과가 올바르게 표시되고 있는지 주의해 보도록 유의해 보세요.

좋은 웹페이지 즐겨찾기