[]
        
(Showing Draft Content)

PIVOTBY

이 함수는 수식을 사용하여 데이터 요약을 생성할 수 있는 강력한 도구입니다. 두 축을 따라 그룹화하고 관련 값을 집계하는 기능을 지원합니다. 이 함수는 GROUPBY 함수와 유사하지만 행과 열 모두를 기준으로 데이터를 그룹화하는 기능이 추가되어 있습니다.

구문

PIVOTBY(row_fields, col_fields, values, function, [field_headers], [row_total_depth], [row_sort_order], [col_total_depth], [col_sort_order], [filter_array], [relative_to])

인수

함수에는 다음과 같은 인수가 있습니다.

인수

설명

row_fields (필수)

행을 그룹화하고 행 머리글을 생성하는 데 사용되는 값이 포함된 열 지향 배열 또는 범위입니다.

col_fields (필수)

열을 그룹화하고 열 머리글을 생성하는 데 사용되는 값이 포함된 열 지향 배열 또는 범위입니다.

values (필수)

집계할 데이터가 포함된 열 지향 배열 또는 범위입니다.

function (필수)

값을 어떻게 집계할지 정의하는 람다 함수 또는 축약 람다(e.g., SUM, AVERAGE, COUNT)입니다.

field_headers

row_fields, col_fields, values에 머리글이 있는지, 결과에 필드 머리글을 포함할지 여부를 지정합니다.

row_total_depth

행 머리글에 총계가 포함될지 여부를 결정합니다.

row_sort_order

행 정렬 방식을 지정합니다.

col_total_depth

열 머리글에 총계가 포함될지 여부를 결정합니다.

col_sort_order

열 정렬 방식을 지정합니다.

filter_array

해당 데이터 행을 고려할지 여부를 나타내는 불리언 1차원 열 지향 배열입니다.

relative_to

일반적으로 PERCENTOF 함수와 함께 사용되며, 집계 함수의 두 번째 인수에 제공되는 값을 제어합니다.

참고

  • PIVOTBY 함수는 Excel 가져오기 및 내보내기를 지원합니다.

  • PIVOTBY는 동적 배열 함수로, 필요한 만큼 셀에 자동으로 결과를 출력합니다.

예제

PIVOTBY (B2:B34,A2:A34,D2:D34,SUM)

다음 코드는 데이터 집합에 대한 PIVOTBY 함수 사용 예를 보여줍니다.

 // Allow the Dynamic Array to True
 spread.options.allowDynamicArray = true;
 spread.setSheetCount(3);
 let sheet1 = spread.getSheet(0);
 sheet1.name("PIVOTBY Function");

 let data = [
     ["YEAR", "Category", "Product", "Status", "Sales", "Rating"],
     [2023, "Electronics", "Smart TV", "Active", 15000, 4.5],
     [2023, "Fashion", "Designer Jeans", "Discontinued", 8000, 4.7],
     [2024, "Food", "Organic Granola", "Active", 5000, 4.8],
     [2023, "Books", "Bestseller Novel", "Active", 12000, 4.6],
     [2024, "Electronics", "Laptop", "Active", 20000, 4.9],
     [2023, "Beauty", "Skincare Set", "Discontinued", 7000, 4.4],
     [2023, "Home & Garden", "Garden Tools", "Active", 6500, 4.3],
     [2024, "Health", "Fitness Tracker", "Active", 9500, 4.6],
     [2023, "Toys", "Action Figure", "Active", 4800, 4.7],
     [2024, "Automotive", "Car Accessories", "Discontinued", 3200, 4.5],
     [2023, "Sports", "Basketball", "Active", 7600, 4.8],
     [2024, "Office Supplies", "Notebooks", "Active", 11000, 4.4],
     [2023, "Pet Supplies", "Dog Food", "Discontinued", 5600, 4.6],
     [2024, "Music", "Headphones", "Active", 13000, 4.9],
     [2023, "Outdoor", "Camping Tent", "Discontinued", 4400, 4.5],
     [2024, "Jewelry", "Silver Necklace", "Active", 2800, 4.7],
     [2023, "Tools", "Power Drill", "Active", 3900, 4.4],
     [2024, "Baby", "Stroller", "Active", 1700, 4.6],
     [2023, "Kitchen", "Blender", "Active", 2500, 4.8],
     [2024, "Clothing", "Casual Shirt", "Discontinued", 6200, 4.5],
     [2023, "Art", "Oil Paintings", "Active", 1900, 4.7],
     [2024, "Hobbies", "Model Trains", "Active", 3100, 4.4],
     [2023, "Tech Gadgets", "Smart Watch", "Discontinued", 7300, 4.6],
     [2024, "Travel", "Luggage", "Active", 4600, 4.8],
     [2023, "Home Decor", "Wall Clock", "Active", 2200, 4.5],
 ];

 // Sheet1 - PIVOTBY Function
 sheet1.setArray(0, 0, data);
 sheet1.tables.add("table1", 0, 0, data.length, 6, GC.Spread.Sheets.Tables.TableThemes.medium2);
 sheet1.setFormula(2, 8, "=PIVOTBY(B2:B10,A2:A10, E2:E10,SUM)");