다음을 통해 공유


GroupBy 및 Ungroup 함수

적용 대상: Canvas 앱 모델 기반 앱 Power Pages

테이블레코드를 그룹화하고 그룹을 해제합니다.

Description

GroupBy 함수는 하나 이상의 값을 기반으로 레코드가 그룹화된 테이블을 반환합니다. 동일한 그룹의 레코드는 단일 레코드에 배치되고 나머지 열의 중첩 테이블을 보유하는 열이 추가됩니다.

Ungroup 함수는 GroupBy 프로세스를 되돌립니다. 이 함수는 함께 그룹화된 레코드를 별도의 레코드로 분리하는 테이블을 반환합니다.

GroupBy를 사용하여 레코드를 그룹화하고, 반환되는 테이블을 수정한 다음, Ungroup을 사용하여 수정된 테이블의 레코드 그룹을 해제할 수 있습니다. 예를 들어 다음과 같은 방법으로 레코드 그룹을 제거할 수 있습니다.

  • GroupBy 함수를 사용합니다.
  • Filter 함수를 사용하여 전체 레코드 그룹을 제거합니다.
  • Ungroup 함수를 사용합니다.

그룹화를 기반으로 결과를 집계할 수도 있습니다.

  • GroupBy 함수를 사용합니다.
  • Sum, Average 및 기타 집계 함수와 함께 AddColumns 함수를 사용하여 그룹 테이블의 집계인 새 열을 추가합니다.
  • DropColumns 함수를 사용하여 그룹 테이블을 삭제합니다.

Ungroup 은 GroupBy에 공급된 레코드의 원래 순서를 유지하려고 합니다. 이것이 항상 가능하지는 않습니다(예: 원래 테이블에 공백 레코드가 있는 경우).

테이블은 문자열이나 숫자처럼 Power Apps의 값입니다. 테이블을 함수의 인수로 지정할 수 있으며 함수는 테이블을 반환할 수 있습니다. GroupByUngroup 은 테이블을 수정하지 않습니다. 대신 테이블을 인수로 받아서 다른 테이블을 반환합니다. 자세한 내용은 테이블 작업을 참조하십시오.

참고

버전 3.24042 이전의 Power Apps에서 열 이름은 큰따옴표를 사용하여 텍스트 문자열로 지정되었으며 데이터 원본에 연결된 경우 논리적 이름이어야 했습니다. 예를 들어 큰따옴표가 있는 논리 이름 "cr43e_name"이 따옴표가 없는 표시 이름 Name 대신 사용되었습니다. 공백이 포함된 열 이름이 포함된 SharePoint 및 Excel 데이터 원본의 경우 각 공백은 "_x0020_"로 지정되었습니다. 예를 들어 "열 이름""Column_x0020_Name"으로 지정되었습니다. 이 버전 이후 모든 앱은 이 문서에 설명된 새로운 구문으로 자동 업데이트되었습니다.

구문

GroupBy( 테이블, ColumnName1 [, ColumnName2 , ... ], 그룹열이름 )

  • - 필수. 그룹화할 테이블입니다.
  • 열 이름 - 필수. 레코드를 그룹화할 기준이 되는 테이블의 열 이름입니다. 이 열은 결과 테이블의 열이 됩니다.
  • GroupColumnName - 필수. ColumnName(s)에 없는 레코드 데이터의 스토리지에 대한 열 이름입니다.

그룹 해제( 테이블, 그룹열이름 )

  • - 필수. 그룹을 해제할 테이블입니다.
  • GroupColumnName - 필수. GroupBy 함수를 사용하여 레코드 데이터 설정을 포함하는 열입니다.

컬렉션 만들기

  1. 단추를 추가하고 단추가 원본으로 표시되도록 Text 속성을 설정합니다.
  2. 원본 단추의 OnSelect 속성을 다음 수식으로 설정합니다.
ClearCollect( CityPopulations,
    { City: "London",    Country: "United Kingdom", Population: 8615000},
    { City: "Berlin",    Country: "Germany",        Population: 3562000},
    { City: "Madrid",    Country: "Spain",          Population: 3165000},
    { City: "Rome",      Country: "Italy",          Population: 2874000},
    { City: "Paris",     Country: "France",         Population: 2273000},
    { City: "Hamburg",   Country: "Germany",        Population: 1760000},
    { City: "Barcelona", Country: "Spain",          Population: 1602000},
    { City: "Munich",    Country: "Germany",        Population: 1494000},
    { City: "Milan",     Country: "Italy",          Population: 1344000}
)
  1. Alt 키를 누른 상태에서 원본 단추를 선택합니다.

    다음 데이터가 포함된 CityPopulations라는 컬렉션이 생성되었습니다.

    CityPopulations 예.

  2. 이 컬렉션을 표시하려면 파일 메뉴에서 컬렉션을 선택한 다음, CityPopulations 컬렉션을 선택합니다. 컬렉션의 처음 5개 레코드가 나타납니다.

    CityPopulations 컬렉션.

레코드 그룹화

  1. 또 다른 단추를 추가하고 Text 속성을 "그룹"으로 설정합니다.

  2. 이 단추의 OnSelect 속성을 다음 수식으로 설정합니다.

    ClearCollect(CitiesByCountry, GroupBy(CityPopulations, Country, Cities))

  3. Alt 키를 누른 상태에서 그룹 단추를 선택합니다.

    CitiesByCountry라는 컬렉션이 생성되었으며 이전 컬렉션의 레코드가 Country 열을 기준으로 그룹화되어 있습니다.

    그룹화된 도시.

  4. 이 컬렉션의 처음 5개 레코드를 표시하려면 파일 메뉴에서 컬렉션을 선택합니다.

    국가/지역별 도시.

  5. 한 국가/지역의 도시 인구를 표시하려면 해당 국가/지역(예: 독일)의 Cities 열에서 테이블 아이콘을 선택합니다.

    인구 - 독일.

레코드 필터링 및 그룹 해제

  1. 단추를 추가하고 단추가 "필터"로 표시되도록 Text 속성을 설정합니다.

  2. 이 단추의 OnSelect 속성을 다음 수식으로 설정합니다.

    ClearCollect(CitiesByCountryFiltered, Filter(CitiesByCountry, "e" in Country))

  3. Alt 키를 누른 상태에서 추가한 단추를 선택합니다.

    CitiesByCountryFiltered라는 세 번째 컬렉션이 생성되었습니다. 이 컬렉션에는 이름에 "e"가 포함된 국가(즉, Spain 또는 Italy 제외)만 포함됩니다.

    CitiesByCountryFiltered.

  4. 단추를 추가하고 단추가 "그룹 해제"로 표시되도록 Text 속성을 설정합니다.

  5. 이 단추의 OnSelect 속성을 다음 수식으로 설정합니다.

    ClearCollect(CityPopulationsUngrouped, CitiesByCountryFiltered, Cities) 그룹 해제)

    결과는 다음과 같습니다.

    그룹 해제 후 국가/지역별 도시.

결과 집계

그룹화된 테이블에서 수행할 수 있는 또 다른 작업은 결과를 컴파일하는 것입니다. 다음 예제에서는 각 국가/지역의 주요 도시 인구를 합산합니다.

  1. 단추를 추가하고 단추가 "합계"로 표시되도록 Text 속성을 설정합니다.

  2. "합계" 단추의 OnSelect 속성을 다음 수식으로 설정합니다.

    ClearCollect( CityPopulationsSum, AddColumns( CitiesByCountry, '도시 인구 합계', Sum( 도시, 인구 ) ) )

    결과는 다음과 같습니다.

    도시 합계.

    AddColumns 는 기본 CitiesByCountry 컬렉션으로 시작하여 새로운 열 도시 인구 합계를 추가합니다. 이 열의 값은 Sum( Cities, Population ) 수식을 기반으로 행 단위로 계산됩니다. AddColumns 는 각 행의 Cities 열(테이블) 값을 제공하고, Sum 은 이 하위 테이블의 각 행의 Population 을 더합니다.

    원하는 합계를 얻었으니 DropColumns를 사용하여 하위 테이블을 제거할 수 있습니다.

  3. 단추를 추가하고 단추가 “SumOnly”로 표시되도록 Text 속성을 설정합니다.

  4. “SumOnly” 단추의 OnSelect 속성을 다음 수식으로 설정합니다.

    ClearCollect(도시인구합계만, DropColumns(도시인구합계, 도시))

    결과는 다음과 같습니다.

    국가 합계.

    이 테이블의 그룹을 해제할 필요는 없습니다.