다음을 통해 공유


가상 테이블

DAX 문에 가상 테이블 정의를 소개합니다.

통사론

[DEFINE 
    (
      TABLE <table name> = <table expression>
        [WITH VISUAL SHAPE
          (AXIS <axis name>
            (GROUP <column>[, <column>] + TOTAL <column>) +
            ORDER BY <column>[, <column>] +
          ) +
          [DENSIFY <string literal>]
        ]
    ) + 
]

(EVALUATE <table expression>) +

매개 변수

테이블 식은 가상 테이블의 내용을 정의합니다. 가상 테이블은 현재 쿼리의 범위에서만 정의됩니다.

필요에 따라 가상 테이블에 시각적 셰이프를 정의할 수 있습니다. 시각적 셰이프는 시각적 계산에 사용됩니다. 시각적 셰이프는 선택적으로 부울 DENSIFY 열이 있는 축으로 구성됩니다.

축은 롤업 그룹 목록과 열별 순서 목록으로 정의되어 축의 순서를 지정합니다. 롤업 그룹은 하나 이상의 그룹별로 구성된 다음 각 행이 현재 롤업 그룹의 부분합인지 여부를 나타내는 하나의 부울 TOTAL 열로 구성됩니다. FALSE 값은 현재 행이 세부 정보 행임을 나타냅니다(현재 롤업 그룹별로 그룹화). TRUE 값은 현재 행이 롤업되었음을 나타냅니다(현재 롤업 그룹별로 그룹화되지 않음).

DENSIFY 열이 요청되면 시각적 셰이프가 비정규화를 수행합니다. 즉, 원래 테이블 식의 행 외에도 원래 테이블 식에 존재하지 않는 축 값의 조합을 추가합니다. 즉, 원래 테이블 식을 사용하여 축의 교차 조인에서 왼쪽 외부 조인을 수행합니다. DENSIFY 열의 TRUE 값은 현재 행이 원래 테이블 식에 없으며 비정규화 프로세스에 의해 추가되었음을 나타냅니다. 이러한 행은 모든 측정값 열(축 정의 외부의 열)에 빈 값이 있어야 합니다. DENSIFY 열의 FALSE 값은 현재 행이 원래 테이블 식에서 온 것임을 나타냅니다.

반환 값

가상 테이블이 정의됨

변수와 달리 가상 테이블에는 자체 계보가 있으며 정의된 테이블 식에서 계보를 전달하지 않습니다.

본보기

T 테이블에 다음 행이 있다고 가정합니다.

제품 SalesAmount
2000 사과 $ 10.1
2000 바나나 $ 10.2
2001 사과 $ 20.3
DEFINE TABLE data = SUMMARIZECOLUMNS(ROLLUPADDISSUBTOTAL(T[Year], "IsYearTotal"), ROLLUPADDISSUBTOTAL(T[Product], "IsProductTotal"), "Meausre", SUM(T[SalesAmount]))
  WITH VISUAL SHAPE
    AXIS ROWS GROUP [Year] TOTAL [IsYearTotal] ORDER BY [Year]
    AXIS COLUMNS GROUP [Product] TOTAL [IsProductTotal] ORDER BY [Product]
    DENSIFY "IsDensified"
EVALUATE data

반환된 결과는 다음과 입니다.

data[Year] data[Product] data[IsYearTotal] data[IsProductTotal] data[Measure] data[IsDensified]
$ 40.6 false
2000 false $ 20.3 false
2001 false $ 20.3 false
사과 false $ 30.4 false
2000 사과 false false $ 10.1 false
2001 사과 false false $ 20.3 false
바나나 false $ 10.2 false
2000 바나나 false false $ 10.2 false
2001 바나나 false false

DEFINE
EVALUATE
VAR
가상 열DAX 쿼리