2. 애트리뷰트 선택
3. '모든 구성요소 목록표시(제한없음)' 선택 및
'기본 프롬프트 응답 선택' 선택
4. 기본 프롬프트 응답 (선택옵션)
5. 최소개체/최대개체 선택 및 값 입력 (단일이므로 각각 1 입력)
6. 웹옵션 '단일선택' 으로 변경
(웹에서 리스트박스 형태로 데이터 LIST-UP 최소/최대개체수 만큼 선택 가능)
1. 간접적인 관계(Indirect Relationship)
사실 물리적으로는 팩트니 어트리뷰트등 모든 오브젝트는 테이블의 컬럼으로부터 출발을 합니다. 테이블의 특정컬럼은 팩트가 될 수 도 있고 어트리뷰트가 될 수도 있습니다. 팩트를 볼 수 있는 어트리뷰트는 1차적으로 팩트가 들어있는 테이블의 어트리뷰트라고 했는데 한테이블에 들어있는 어트리뷰트들은 사실 그 존재만으로도 서로간의 관계를 가집니다. 매출테이블에 있는 일자와 영업소와 판매액이라는 컬럼들은 데이타(row)가 존재하는 순간 판매액에 대한 속성이 되는 것이죠. 이들 일자, 영업소 등의 어트리뷰트는 매출이라는 테이블내에서 관계를 가진다고 볼 수 있습니다.
2. 직접적인 관계(Direct Relationship)
팩트를 볼 수 있는 어트리뷰트는 동일한 테이블에 있는 어트리뷰트와 그 어트리뷰트를 하위로 두고 있는 상위어트리뷰트라고 했는데 이때 하위어트리뷰트와 상위어트리뷰트를 직접적인 관계에 있다고 합니다. 즉, 팩트테이블이라는 동일한 테이블내에 있지않지만 어떤 디멘젼 테이블을 매개로하여 서로 상하위 관계를 가지는 어트리뷰트를 말합니다.
3. 상하위 관계(Child-Parent Relationship)의 의미
예) 일자테이블
=============================
일자 월 년계
-----------------------------
20060401 200604 2006
20060402 200604 2006
20060403 200604 2006
.
.
.
20060501 200604 2006
20060502 200604 2006
=============================
예로 위의 일자테이블의 경우 일자의 상위어트리뷰트로 월이라는 어트리뷰트를 둡니다. 관계테이블은 일자테이블을 선택합니다 ( 아래그림 )
The Apply Functions: <---- Apply 함수에 대한 간략한 설명
Each type of custom sub-expression/function call is represented by a specialized Apply function. There are several predefined Apply functions that can be used where regular predefined functions of the same type are used.
이중에서 MSTR 개발을 해 보신 분이라면 ApplySimple 함수를 사용해 보신적이 있을것입니다.
주로 어트리뷰트를 case 함수 같은 것을 사용한 사용자 SQL로 정의할때 많이 사용하는 함수입니다.
하지만 ApplyAgg 함수는 자주 사용하지는 않지만 유용한 기능이 있습니다.
먼저 간단하게 상수값 으로 사용이 가능합니다.
어떤 어트리뷰트에도 상관없이 상수값을 보고서에서 표시해 주고자 할때 사용이 가능합니다.
새로 만들기>메트릭을 선택한 다음....
ApplyAgg("#0", 1) {~}
수식으로 만들면 됩니다.
간단하지만 다양하게 응용해서 사용가능하겠죠...
좀 더 응용을 해서 실제로 유용하게 사용이 가능한 시나리오를 소개하겠습니다.
예를 들어...
동일한 메트릭으로 특정 팩트테이블에서는 SUM 을 수행하고 다른 팩트 테이블에서는 Count 나 Max 를 수행하게 하는 것입니다.
비즈니스 시나리오를 얘기하자면...
"계좌Master" 테이블과 "일별고객수" 팩트테이블이 있다고 가정할때...
일별고객수에서는 "sum(고객수)" 를 수행하여 "일별/고객수"를 조회하는 보고서에서
"계좌종류" 어트리뷰트로 드릴을 수행하여 "일별/계좌종류/고객수"를 조회하고자 한다면...
계좌 Master 에서는 "count(distinct 고객ID)"를 수행해야 합니다.
이런 비즈니스 시나리오가 있을때 간단하게 처리할수 있는 함수로 ApplyAgg 함수입니다.
일단 "고객수" 팩트를 먼저 만들때
일별고객수 팩트테이블에는 ApplySimple("SUM(#0)", 고객수) 이용해서 만들고
(여기서 고객수는 일별고객수 테이블의 컬럼명)
계좌Master 테이블에서는 ApplySimple("COUNT(DISTINCT #0)", 고객ID) 를 이용하여 서로 다른 형태로 만듭니다.
(여기서 고객ID 는 계좌테이블의 컬럼명)
그리고 메트릭을 만들때...
ApplyAgg("#0", 고객수)
형식으로 고객수 팩트를 이용해서 만들어서 사용하면 됩니다.
(여기서 고객수는 팩트명)
아래의 예제는 MSTR Support 에서 퍼온 "Tutorial" 예제입니다.
========================================================================================================
What is an adaptive metric in MicroStrategy?
Fact_Qty Sold: ApplySimple("Count #0", QTY_SOLD)
Fact_Qty Sold: ApplySimple("Sum #0", QTY_SOLD)
SQL | Report Definition |
select a11.ORDER_ID ORDER_ID, |
|
select a11.ORDER_ID ORDER_ID, |
|