C# .NET 및 Java에서 Excel과 유사한 피벗 테이블을 사용하여 프로그래밍 방식으로 사용자 정의 계산 수행
피벗 테이블에서 데이터 분석가는 종종 사용자 정의 계산을 원합니다. 보다 일반적으로 이러한 계산은 필드에서 수행됩니다. 예를 들어 "수량"및 "단가"필드를 결합하여 "판매 금액"을 얻습니다. 그러나 특정 스프레드시트는 필드 값(또는 필드에 저장된 항목)에서 직접 계산을 수행해야 합니다. 예를 들어 태블릿이나 데스크탑과 같은 다른 장치와 비교할 때 모바일 장치의 판매 비율은 핵심 제품의 판매에 중점을 두고 다른 모든 제품을 "기타 제품"등으로 결합합니다.
Excel은 이러한 비즈니스 요구 사항을 충족하기 위해 피벗 테이블이 포함된 계산 항목을 제공합니다. 이 블로그에서는 다음 단계에 따라 Calculated item 및 C# .NET에 대해 GcExcel을 사용하여 프로그래밍 방식으로 이 항목Java을 피벗 테이블에 추가하는 방법을 살펴보겠습니다.
1. Load the Workbook
2. Create a Pivot Table
3. Add Calculated Item to the Pivot
4. Hide the Duplicate Name Items
5. Save the Workbook
사용 사례
회사의 구매 관리자로서 주문 상태를 분석하고 각 제품에 대해 완료된 주문과 중간에 손실된 주문을 비교하라는 요청을 받았습니다. 결과에 따라 특정 제품을 계속 사용할지 여부를 결정하려고 합니다.
데이터는 아래와 같이 간단한 표 형식으로 제공됩니다.
이 데이터에서 피벗 테이블을 준비하여 Completed 및 Processing Order 항목을 분석 중인 상태로 유지하고 다른 항목을 별도의 항목(분실) 아래로 이동하려고 합니다.
위의 사용 사례와 C# .NET 및 Java의 GcExcel을 사용한 몇 가지 간단한 단계를 사용하여 이것이 어떻게 수행되는지 살펴보겠습니다.
1단계 - 통합 문서 로드
First, load the Excel file with data into the application using GcExcel with the following code:
C#/자바
Workbook workbook = new Workbook();
workbook.open("SalesData.xlsx");
2단계 - 피벗 테이블 만들기
Next, add a Pivot Table for the available data. The data is available from the “Sales data” worksheet in the Excel file. Add the Pivot Table to a new sheet using the Add method of the IWorksheet interface as shown in the code below:
씨
//Add sheet for Pivot Table
IWorksheet pivotSheet = workbook.Worksheets.Add();
pivotSheet.Name = "Sales Analysis";
// Add pivot table.
IPivotCache pivotCache = workbook.PivotCaches.Create(worksheet.Range["A1:G71"]);
IPivotTable pivotTable = pivotSheet.PivotTables.Add(pivotCache, pivotSheet.Range["A1"]);
pivotTable.PivotFields["Product"].Orientation = PivotFieldOrientation.RowField;
pivotTable.PivotFields["Status"].Orientation = PivotFieldOrientation.RowField;
pivotTable.PivotFields["Category"].Orientation = PivotFieldOrientation.ColumnField;
pivotTable.PivotFields["Amount"].Orientation = PivotFieldOrientation.DataField;
pivotTable.DataFields["Sum of Amount"].NumberFormat = "$#,##0_);($#,##0)";
자바
//Add sheet for Pivot Table
IWorksheet pivotSheet = workbook.getWorksheets().add();
pivotSheet.setName("Sales Analysis");
// Add pivot table.
IPivotCache pivotCache = workbook.getPivotCaches().create(worksheet.getRange("A1:G71"));
IPivotTable pivotTable = pivotSheet.getPivotTables().add(pivotCache, pivotSheet.getRange("A1"));
pivotTable.getPivotFields().get("Product").setOrientation(PivotFieldOrientation.RowField);
pivotTable.getPivotFields().get("Status").setOrientation(PivotFieldOrientation.RowField);
pivotTable.getPivotFields().get("Category").setOrientation(PivotFieldOrientation.ColumnField);
pivotTable.getPivotFields().get("Amount").setOrientation(PivotFieldOrientation.DataField);
pivotTable.getDataFields().get("Sum of Amount").setNumberFormat("$#,##0_);($#,##0)");
이 단계의 피벗 테이블은 다음과 같이 나타납니다.
3단계 - 계산된 항목을 피벗에 추가
When the Pivot Table is ready, the next step is adding the Calculated Item. To add a calculated item to a Pivot Table using GcExcel, use the ICalculatedItems interface to add a collection of calculated items to the PivotFields. Add a name and expression to it as shown below:
씨
//Create a calculated item on status field
ICalculatedItems statusCalcItems_lost = pivotTable.PivotFields["Status"].CalculatedItems();
//Add name and expression to the calculated item
statusCalcItems_lost.Add("Lost", "=Failed+Returned+Pending");
자바
//Create a calculated item on status field
ICalculatedItems statusCalcItems_lost = pivotTable.getPivotFields().get("Status").getCalculatedItems();
//Add name and expression to the calculated item
statusCalcItems_lost.add("Lost", "=Failed+Returned+Pending");
이름은 피벗 테이블에 값으로 나타나고 식은 원하는 계산을 수행합니다. 여기서 표현식은 실패, 반품 및 대기 중인 주문에 대한 총 판매액을 집계하고 "분실"항목으로 표시됩니다.
이 시점의 피벗 테이블은 아래와 같이 나타납니다.
4단계 - 중복 이름 항목 숨기기
Once the calculated item is added, you will want to hide the items duplicated by the calculated item and avoid double-counting. Here, we want to hide the “Failed”, “Returned”, and “Pending” items. To do so, get the PivotItems from a Pivot field and set the Visible property for required items to false, as shown in the code snippet below:
씨
// hide the duplicate normal item combined in the calculated item
IPivotItems status = pivotTable.PivotFields["Status"].PivotItems;
status["Failed"].Visible = false;
status["Returned"].Visible = false;
status["Pending"].Visible = false;
자바
// hide the duplicate normal item combined in the calculated item
IPivotItems status = pivotTable.getPivotFields().get("Status").getPivotItems();
status.get("Failed").setVisible(false);
status.get("Returned").setVisible(false);
status.get("Pending").setVisible(false);
이 단계에서 계산된 항목이 포함된 피벗 테이블은 아래와 같이 나타납니다.
5단계 - 통합 문서 저장
Finally, apply styling and formatting to the cells, adjust column width, etc. and save the workbook. The final report is shown below:
C#/자바
workbook.Save("CalculatedItem.xlsx");
전체 샘플을 다운로드하고 실행 단계를 확인하십시오!
결론
계산된 항목을 사용하면 필드 항목에 대해 거의 모든 종류의 계산을 수행할 수 있으며 분석 결과를 보다 종합적이고 합리적으로 보이게 할 수 있습니다. 다음과 같은 필드 항목에 대한 계산을 수행할 수 있습니다.
우리의 .NET을 사용해보십시오 | Java 계산된 항목에 대한 데모.
.NET | Java 계산된 필드에 대한 데모.
Reference
이 문제에 관하여(C# .NET 및 Java에서 Excel과 유사한 피벗 테이블을 사용하여 프로그래밍 방식으로 사용자 정의 계산 수행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/grapecity/make-custom-calculations-programmatically-using-excel-like-pivot-tables-in-c-net-java-5d8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)