다음을 통해 공유


GROUPBY

적용 대상: 계산 열 계산 테이블 측정 시각적 계산

참고 항목

이 함수는 의미 없는 결과를 반환할 가능성이 있으므로 시각적 계산에 사용하지 않는 것이 좋습니다.

GROUPBY 함수는 SUMMARIZE 함수와 유사합니다 . 그러나 GROUPBY는 추가하는 확장 열에 대해 암시적 CALCULATE 를 수행하지 않습니다. GROUPBY는 새 함수인 CURRENTGROUP을 추가하는 확장 열의 집계 함수 내에서 사용할 수 있도록 허용합니다. GROUPBY는 단일 테이블 검색에서 여러 집계를 수행하는 데 사용됩니다.

구문

GROUPBY (<table> [, <groupBy_columnName> [, <groupBy_columnName> [, …]]] [, <name>, <expression> [, <name>, <expression> [, …]]])

매개 변수

용어 정의
table 데이터 테이블을 반환하는 DAX 식입니다.
groupBy_columnName 데이터를 그룹화할 테이블(또는 관련 테이블)에 있는 기존 열의 이름입니다. 이 매개 변수는 식일 수 없습니다.
name 큰따옴표로 묶인 GroupBy 열 목록에 추가되는 새 열에 지정된 이름입니다.
첫 번째 인수가 CURRENTGROUP()인 X 집계 함수 중 하나입니다. 지원되는 X 집계 함수의 전체 목록은 아래 CURRENTGROUP 섹션을 참조하세요.

반환 값

groupBy_columnName 인수에 대해 선택한 열과 이름 인수로 지정된 확장 열을 가진 테이블입니다.

설명

  • GROUPBY 함수는 다음을 수행합니다.

    1. 지정된 테이블(및 "일대일" 방향의 모든 관련 테이블)로 시작합니다.

    2. 모든 GroupBy 열을 사용하여 그룹화 만듭니다(1단계의 테이블에 있어야 합니다.).

    3. 각 그룹은 결과의 한 행이지만 원래 테이블의 행 집합을 나타냅니다.

    4. 각 그룹에 대해 추가되는 확장 열을 평가합니다. SUMMARIZE 함수와 달리 암시적 CALCULATE는 수행되지 않으며 그룹이 필터 컨텍스트에 배치되지 않습니다.

  • 이름을 정의하는 각 열에는 해당 식이 있어야 합니다. 그렇지 않으면 오류가 반환됩니다. 첫 번째 인수인 이름은 결과에서 열의 이름을 정의합니다. 두 번째 인수인 식은 해당 열의 각 행에 대한 값을 얻기 위해 수행되는 계산을 정의합니다.

  • groupBy_columnName 테이블이나 관련 테이블에 있어야 합니다.

  • 각 이름은 큰따옴표로 묶어야 합니다.

  • 함수는 하나 이상의 groupBy_columnName 열 값으로 선택한 행 집합을 요약 행 집합으로 그룹화합니다. 각 그룹에 대해 하나의 행이 반환됩니다.

  • GROUPBY는 주로 DAX 테이블 식의 중간 결과에 대한 집계를 수행하는 데 사용됩니다. 모델의 실제 테이블에 대한 효율적인 집계를 위해 SUMMARIZECOLUMNS 또는 SUMMARIZE 함수를 사용하는 것이 좋습니다.

  • 이 함수는 계산 열 또는 RLS(행 수준 보안) 규칙에서 사용되는 경우 DirectQuery 모드에서 사용할 수 없습니다.

CURRENTGROUP 사용

CURRENTGROUP 은 GROUPBY 함수 내에서 확장 열을 정의하는 식에서만 사용할 수 있습니다. 실제로 CURRENTGROUP 은 GROUPBY 결과의 현재 행에 속하는 GROUPBY의 테이블 인수에서 행 집합을 반환합니다. CURRENTGROUP 함수는 인수를 사용하지 않으며 AVERAGEX, COUNTAX, COUNTX, GEOMEANX, MAXX, MINX, PRODUCTX, STDEVX 중 하나에 대한 첫 번째 인수로만 지원됩니다. S, STDEVX. P, SUMX, VARX. S, VARX. P.

예시

다음 예제에서는 먼저 SUMMARIZECOLUMNS 함수를 사용하여 실제 테이블에 대해 국가 및 제품 범주별로 그룹화된 총 매출을 계산합니다 . 그런 다음 GROUPBY 함수를 사용하여 첫 번째 단계의 중간 결과를 검사하여 제품 범주에서 각 국가의 최대 매출을 찾습니다.

DEFINE  
VAR SalesByCountryAndCategory =  
SUMMARIZECOLUMNS(  
Geography[Country],
Product[Category],
"Total Sales", SUMX(Sales, Sales[Price] * Sales[Qty])  
)  
  
EVALUATE
GROUPBY(  
SalesByCountryAndCategory,
Geography[Country],
"Max Sales", MAXX(CURRENTGROUP(), [Total Sales])  
)  

SUMMARIZE 함수
SUMMARIZECOLUMNS 함수