티스토리 뷰

 

DAX 쿼리 보기(DAX Query View) (3)

 

이전 글에서는 데이터를 조회하는 EVALUTE 영역을 확인해보았습니다. 이번 글에서는 DEFINE 구문과 함께 DAX 쿼리  확인해보겠습니다. DAX 쿼리 보기를 사용하기 위한 주된 목적은 측정값을 테스트하고 디버깅하는 것입니다. 해당 측정값, 변수, 열, 테이블을 정의하거나 참조하는 영역이 DEFINE 영역입니다.  

 

아래는 DEFINE 구문입니다.

[DEFINE

    (

     (MEASURE <table name>[<measure name>] = <scalar expression>) |

     (VAR <var name> = <table or scalar expression>) |

     (TABLE <table name> = <table expression>) |

     (COLUMN <table name>[<column name>] = <scalar expression>) |

    ) +

]

 

 

DEFINE을 간단히 확인하는 방법은 필드 창에서 측정값을 오른쪽 클릭하여 ‘정의 및 평가’를 선택해보면 됩니다. 그러면 아래와 같은 구문이 나타납니다.

DEFINE

    MEASURE '매출'[Total Sales] = SUM('매출'[SalesAmount])

 

EVALUATE

    SUMMARIZECOLUMNS(

        "Total Sales", '매출'[Total Sales]

    )

DEFINE 영역에서 측정값을 정의하는 방법은 아래와 같습니다.

MEASURE ‘테이블명’[측정값명]= 측정값 식

 

DEFINE 영역에서 기존 측정값의 수식을 변경하면, ‘측정값 덮어쓰기’ CodeLens를 통해 기존 측정값을 업데이트할 수 있습니다.

 

측정값 식을 간략히 테스트하려면 EVALUTE 구문에 측정값 식을 그대로 나열해도 됩니다.

DEFINE

    MEASURE '매출'[Total Sales] = SUM('매출'[SalesAmount])

 

EVALUATE

    SUMMARIZECOLUMNS(

        "Total Sales", '매출'[Total Sales]

        ,"Total Sales 1.1-1", '매출'[Total Sales] * 1.1

        ,"Total Sales 1.1-2",  SUM('매출'[SalesAmount]) * 1.1

    )

 

DEFINE 영역에서 새로운 측정값 이름으로 변경하게 되면, ‘새 측정값 추가’ CodeLens를 통해 DAX 쿼리 보기에서 새 측정값을 생성할 수 있습니다.

 

 

DEFINE 영역에서 변수의 경우는 아래처럼 테이블 값을 반환하거나, 스칼라 값이 할당된 경우는 VAR를 통해서 정의할 수 있습니다.

DEFINE

    VAR __topn= TOPN(10, '제품', [제품명], ASC)

EVALUATE

    __topn

 

 

 값이 매번 변경되는 측정값 같은 경우 VAR로 정의해서 EVALUTE에서 표시하면 값이 제대로 나타나지 않게 되어 디버깅을 위해서는 MEASURE로 정의해야 합니다. 디버깅을 위해서는 일부 식을 분할을 하여 측정값이나 변수로 정의해주어야 합니다. MEASURE 로 변경하여 테스트해보면 조금 더 구체적으로 측정값 식을 디버깅할 수 있습니다.

 

외부 도구를 사용하지 않고 측정값을 디버깅이 가능하니 활용해보면 좋을 것 같습니다.

 

‘DAX 쿼리 보기’에서 DEFINE 구문을 확인하고, VAR를 통해 측정값 수식을 디버깅하는 방법을 간략히 확인해보았습니다.

 

DAX 쿼리 보기(DAX Query View) (1)

DAX 쿼리 보기(DAX Query View) (2)

DAX 쿼리 보기(DAX Query View) (3)

DAX 쿼리 보기(DAX Query View) (4)

댓글