더이상 AS2005 MDX문에서 따옴표(')를 사용 하실 필요가 없습니다. 하지만 아직도 많은 사람들이 만든 MDX 예제를 보면 계산 멤버가 정의를 할 때 따옴표가 사용되고 있습니다. 최근까지 따옴표를 쓰냐 안쓰냐는 사용자의 코딩 스타일에 따라 사용하던 사용하지 않던 문제가 없는 줄 알았습니다. 하지만 중요한 사실 하나를 발견하였습니다. 따옴표를 사용하면 MDX 쿼리문을 디버깅 할 때 더 힘들어 집니다. 그 이유를 아래의 두 MDX 쿼리 문을 통하여 말씀 드리겠습니다.

1번.

WITH MEMBER MEASURES.TEST AS BLAH
SELECT
{[Measures].TEST}
ON COLUMNS
FROM [Adventure Works]

2번

WITH MEMBER MEASURES.TEST AS 'BLAH'
SELECT
{[Measures].TEST}
ON COLUMNS
FROM [Adventure Works]

위의 두 쿼리문은 에러를 반환 합니다. 아래 문장은 1번 쿼리의 에러 메세지 입니다.

VALUE #Error Query (1, 30) The dimension '[BLAH]' was not found in the cube when the string, [BLAH], was parsed.

아래 문장은 2번 쿼리의 에러 메세지 입니다.

VALUE #Error The dimension '[BLAH]' was not found in the cube when the string, [BLAH], was parsed.

위의 예제에서 나오는 것 처럼 따옴표를 사용하지 않을 때 사용자가 만든 계산된 멤버나 정의 부분에서 에러가 난 행과 열의 번호(진한 글씨)를 알 수 있습니다.
만약, 따옴표를 사용하게 되면 이 에러에 대한 유용한 정보를 얻지 못하게 됩니다.
결론 입니다. 현재 잘 돌아가고 있는 MDX 쿼리문은 그냥 나두셔도 상관 없습니다. 하지만 앞으로 만들게 될 MDX 쿼리문에서는 따옴표를 절대 사용하지 않는게 정신 건강에 좋겠습니다.  :ㅡ)

Posted by leebaro
,