다음을 통해 공유


SUMMARIZE 함수(DAX)

한 그룹 집합에 대해 요청된 합계의 요약 테이블을 반환합니다.

구문

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

매개 변수

  • table
    데이터 테이블을 반환하는 DAX 식입니다.

  • groupBy_columnName
    (선택 사항) 찾은 값을 기반으로 요약 그룹을 만드는 데 사용할 기존 열의 정규화된 이름입니다. 이 매개 변수는 식일 수 없습니다.

  • name
    합계 또는 요약 열에 대해 지정된 큰따옴표로 묶인 이름입니다.

  • expression
    단일 스칼라 값을 반환하는 모든 DAX 식입니다. 식은 각 행/컨텍스트에 대해 여러 번 계산됩니다.

반환 값

groupBy_columnName 인수에 대해 선택된 열 및 name 인수로 디자인된 요약 열을 포함하는 테이블입니다.

주의

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

  2. groupBy_columnName은 table 또는 table에 대한 관련 테이블에 있어야 합니다.

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

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

다음 예에서는 달력 연도 및 제품 범주 이름에 따라 그룹화된 대리점 판매 요약을 반환합니다. 이 결과 테이블에서는 연도 및 제품 범주에 따라 대리점 판매에 대한 분석을 수행할 수 있습니다.

SUMMARIZE(ResellerSales_USD
      , DateTime[CalendarYear]
      , ProductCategory[ProductCategoryName]
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
      )

다음 표에서는 테이블을 인수로 사용하는 함수에서 사용된 데이터의 미리 보기를 보여 줍니다.

DateTime[CalendarYear]

ProductCategory[ProductCategoryName]

[Sales Amount (USD)]

[Discount Amount (USD)]

2008

Bikes

12968255.42

36167.6592

2005

Bikes

6958251.043

4231.1621

2006

Bikes

18901351.08

178175.8399

2007

Bikes

24256817.5

276065.992

2008

구성 요소

2008052.706

39.9266

2005

구성 요소

574256.9865

0

2006

구성 요소

3428213.05

948.7674

2007

구성 요소

5195315.216

4226.0444

2008

Clothing

366507.844

4151.1235

2005

Clothing

31851.1628

90.9593

2006

Clothing

455730.9729

4233.039

2007

Clothing

815853.2868

12489.3835

2008

Accessories

153299.924

865.5945

2005

Accessories

18594.4782

4.293

2006

Accessories

86612.7463

1061.4872

2007

Accessories

275794.8403

4756.6546

고급 SUMMARIZE 옵션

SUMMARIZE에 ROLLUP 사용

ROLLUP() 구문이 추가되어 groupBy_columnName 열의 결과에 롤업 행을 추가하도록 SUMMARIZE 함수의 동작이 수정되었습니다.

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

ROLLUP 매개 변수

  • groupBy_columnName
    찾은 값을 기반으로 요약 그룹을 만드는 데 사용할 기존 열의 정규화된 이름입니다. 이 매개 변수는 식일 수 없습니다.

참고: 다른 모든 SUMMARIZE 매개 변수는 이전에 설명되었으므로 편의상 여기에서 다시 설명하지 않습니다.

설명

  • ROLLUP 식에서 언급한 열은 groupBy_columnName 열의 일부로 참조될 수 없습니다.

예제

다음 예에서는 SUMMARIZE 함수 호출의 Group By 열에 롤업 행을 추가합니다.

SUMMARIZE(ResellerSales_USD
      , ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)

다음 표에서는 테이블을 인수로 사용하는 함수에서 사용된 데이터의 미리 보기를 보여 줍니다.

DateTime[CalendarYear]

ProductCategory[ProductCategoryName]

[Sales Amount (USD)]

[Discount Amount (USD)]

2008

Bikes

12968255.42

36167.6592

2005

Bikes

6958251.043

4231.1621

2006

Bikes

18901351.08

178175.8399

2007

Bikes

24256817.5

276065.992

2008

구성 요소

2008052.706

39.9266

2005

구성 요소

574256.9865

0

2006

구성 요소

3428213.05

948.7674

2007

구성 요소

5195315.216

4226.0444

2008

Clothing

366507.844

4151.1235

2005

Clothing

31851.1628

90.9593

2006

Clothing

455730.9729

4233.039

2007

Clothing

815853.2868

12489.3835

2008

Accessories

153299.924

865.5945

2005

Accessories

18594.4782

4.293

2006

Accessories

86612.7463

1061.4872

2007

Accessories

275794.8403

4756.6546

2008

15496115.89

41224.3038

2005

7582953.67

4326.4144

2006

22871907.85

184419.1335

2007

30543780.84

297538.0745

76494758.25

527507.9262

ROLLUPGROUP

ROLLUPGROUP()은 부분합 그룹을 계산하는 데 사용될 수 있습니다. ROLLUP의 전체를 사용할 경우 ROLLUPGROUP은 groupBy_columnName 열의 결과에 롤업 행을 추가하여 동일한 결과를 반환합니다. 그러나 ROLLUP 구문 내부의 ROLLUPGROUP() 추가는 롤업 행에서 일부 부분합을 방지하는 데 사용될 수 있습니다.

다음 예에서는 모든 연도의 총합계 및 모든 범주에서 각 연도의 부분합이 없는 범주만 보여 줍니다.

SUMMARIZE(ResellerSales_USD
      , ROLLUP(ROLLUPGROUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName]))
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)

다음 표에서는 테이블을 인수로 사용하는 함수에서 사용된 데이터의 미리 보기를 보여 줍니다.

DateTime[CalendarYear]

ProductCategory[ProductCategoryName]

[Sales Amount (USD)]

[Discount Amount (USD)]

2008

Bikes

12968255.42

36167.6592

2005

Bikes

6958251.043

4231.1621

2006

Bikes

18901351.08

178175.8399

2007

Bikes

24256817.5

276065.992

2008

구성 요소

2008052.706

39.9266

2005

구성 요소

574256.9865

0

2006

구성 요소

3428213.05

948.7674

2007

구성 요소

5195315.216

4226.0444

2008

Clothing

366507.844

4151.1235

2005

Clothing

31851.1628

90.9593

2006

Clothing

455730.9729

4233.039

2007

Clothing

815853.2868

12489.3835

2008

Accessories

153299.924

865.5945

2005

Accessories

18594.4782

4.293

2006

Accessories

86612.7463

1061.4872

2007

Accessories

275794.8403

4756.6546

76494758.25

527507.9262

SUMMARIZE에 ISSUBTOTAL 사용

행에 ISSUBTOTAL에 대한 인수로 지정된 열의 부분합 값이 포함된 경우 True를 반환하고 그렇지 않으면 False를 반환하는 다른 열을 요약 함수에서 만들 수 있도록 합니다.

SUMMARIZE(<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, ROLLUP(<groupBy_columnName>[,< groupBy_columnName>…])][, <name>, {<expression>|ISSUBTOTAL(<columnName>)}]…)

ISSUBTOTAL 매개 변수

  • columnName
    SUMMARIZE 함수의 테이블에 있는 열 또는 해당 테이블에 대한 관련 테이블에 있는 열의 이름입니다.

반환 값

행에 인수로 지정된 열의 부분합 값이 포함된 경우 True 값을 반환하고 그렇지 않으면 False를 반환합니다.

설명

  • ISSUBTOTAL은 SUMMARIZE 함수의 식 부분에만 사용할 수 있습니다.

  • ISSUBTOTAL 앞에는 일치하는 name열이 와야 합니다.

예제

다음 예제에서는 지정된 SUMMARIZE() 함수 호출에서 각 ROLLUP() 열에 대한 ISSUBTOTAL() 열을 생성합니다.

SUMMARIZE(ResellerSales_USD
      , ROLLUP( DateTime[CalendarYear], ProductCategory[ProductCategoryName])
      , "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
      , "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
      , "Is Sub Total for DateTimeCalendarYear", ISSUBTOTAL(DateTime[CalendarYear])
      , "Is Sub Total for ProductCategoryName", ISSUBTOTAL(ProductCategory[ProductCategoryName])
)

다음 표에서는 테이블을 인수로 사용하는 함수에서 사용된 데이터의 미리 보기를 보여 줍니다.

[Is Sub Total for DateTimeCalendarYear]

[Is Sub Total for ProductCategoryName]

DateTime[CalendarYear]

ProductCategory[ProductCategoryName]

[Sales Amount (USD)]

[Discount Amount (USD)]

FALSE

FALSE

FALSE

FALSE

2008

Bikes

12968255.42

36167.6592

FALSE

FALSE

2005

Bikes

6958251.043

4231.1621

FALSE

FALSE

2006

Bikes

18901351.08

178175.8399

FALSE

FALSE

2007

Bikes

24256817.5

276065.992

FALSE

FALSE

2008

구성 요소

2008052.706

39.9266

FALSE

FALSE

2005

구성 요소

574256.9865

0

FALSE

FALSE

2006

구성 요소

3428213.05

948.7674

FALSE

FALSE

2007

구성 요소

5195315.216

4226.0444

FALSE

FALSE

2008

Clothing

366507.844

4151.1235

FALSE

FALSE

2005

Clothing

31851.1628

90.9593

FALSE

FALSE

2006

Clothing

455730.9729

4233.039

FALSE

FALSE

2007

Clothing

815853.2868

12489.3835

FALSE

FALSE

2008

Accessories

153299.924

865.5945

FALSE

FALSE

2005

Accessories

18594.4782

4.293

FALSE

FALSE

2006

Accessories

86612.7463

1061.4872

FALSE

FALSE

2007

Accessories

275794.8403

4756.6546

FALSE

TRUE

FALSE

TRUE

2008

15496115.89

41224.3038

FALSE

TRUE

2005

7582953.67

4326.4144

FALSE

TRUE

2006

22871907.85

184419.1335

FALSE

TRUE

2007

30543780.84

297538.0745

TRUE

TRUE

76494758.25

527507.9262