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 함수는 다음을 수행합니다.
지정된 테이블(및 "일대일" 방향의 모든 관련 테이블)로 시작합니다.
모든 GroupBy 열을 사용하여 그룹화 만듭니다(1단계의 테이블에 있어야 합니다.).
각 그룹은 결과의 한 행이지만 원래 테이블의 행 집합을 나타냅니다.
각 그룹에 대해 추가되는 확장 열을 평가합니다. 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])
)