본문 바로가기

BI, DB, DW/Analysis Services

0으로 출력되는 Measures를 빈 셀로 표시하고 싶을 경우

AS2005에서 차원 멤버가 null 값을 갖고 있을 경우에는, 이를 오류로 처리하지 않고 강제로 처리하면 Unknown 멤버에 속하게 되지만, 측정값Measure 멤버가 null 값을 가지고 있을 경우에는 내부적으로 0으로 처리된다.

이 경우에 약간 곤란한 것이, 예를 들어 드릴스루 작업으로 실제 값을 가진 멤버들을 조회하고 싶을 경우에 0으로 표시되는 항목들을 직접 제거하지 않고서는, 필요한 멤버들만 조회하는 일이 어려워진다.

이럴 경우에, 측정값의 MeasureExpression 속성을 수정하거나 새로운 계산 멤버를 추가하는 방법으로 측정값 멤버의 값을 null로 만들 수 있다 :

iif(( [Measures].[_mem] = 0), null, [Measures].[mem] )
AS2005 Standard Edition의 경우 MeasureExpression 속성이 지원되지 않기 때문에, 위와 같이 원래의 측정값(_mem)을 사용해서 null 처리가 된 측정값(mem)을 생성한 후, 실제 AS2005를 사용하는 프로그램에서는 mem 만을 표시하도록 하는 과정이 필요하다.

가장 좋은 방법은, 해당 측정값의 Source -> NullProcessing 속성을 Preserve로 설정해서 null로 처리하도록 하는 방법이다. (기본 설정은 Automatic으로 되어 있다) 계산 멤버 등을 사용하는 방법은 비록 적은 양이긴 하지만, 내부 멤버를 가지고 계산하는 시간이 필요하므로 서버의 리소스를 소모하게 된다.