
100만 행을 1초도 안 되어 피벗해요.
- 모든 컬럼은 타입이 있는 컬럼 저장소에 있고, 셀은 원본 행을 한 번 훑으면서 집계돼요.
BeginLoad,DefineColumn,AppendRow,EndLoad로 행을 불러오면 마지막에 재계산이 한 번만 일어나요.- MillionRows 데모는 1,000,000행을 불러와 피벗하고 소요 시간을 직접 표시해요.
필드를 행, 열, 값에 놓고, 날짜를 연, 분기, 월로 그룹화하고, 끌어서 놓는 필드 목록으로 사용자가 직접 레이아웃을 만들게 하세요. Delphi, C++ Builder, .NET용 네이티브 피벗 테이블 그리드이며 소스 코드가 포함돼요.
요약해야 할 대량의 행, 자기만의 뷰를 원하는 사용자, 확인하고 전달해야 하는 숫자. sgcPivotGrid는 이 모두를 하나의 컨트롤로, 모든 프레임워크에서 다뤄요.
VCL, FireMonkey, .NET용 피벗 그리드와 끌어서 놓는 필드 목록.
타입이 있는 컬럼 저장소와 재계산당 한 번의 패스, 100만 행을 목표로 예산을 잡았어요.
TDataSet, sgcGrid 테이블, .NET DataTable, 또는 코드로 추가한 행.
CSV, JSON, HTML, PNG, SVG, 서버나 Linux64에서 창 없이도 가능해요.
체험판에 포함된 sgcPivotGrid 데모에서 캡처했어요.

BeginLoad, DefineColumn, AppendRow, EndLoad로 행을 불러오면 마지막에 재계산이 한 번만 일어나요.
AddField('Date', pvaColumn, pvdQuarter)는 호출마다 pvdYear부터 pvdDay까지 레벨을 하나씩 추가해요.ExpandLevel이 같은 일을 해요.
OnDrillDown이 발생하고, 코드에서는 DrillDownCell이 이를 실행해요.DrillDown은 저장소의 모든 컬럼을 포함한 원본 행을 IsgcUITable로 반환해요.
SaveToCSV, SaveToJSON, SaveToHTML, SaveToPNG, SaveToSVG는 사용자가 배치한 그대로 뷰를 저장해요.TsgcPivotGridRenderer는 서버나 Linux64에서 창 없이 그려요.ResultTable은 보이는 결과를 sgcCharts에 노출하므로, 데이터를 복사하지 않고 그리드 행이 피벗이 되고 다시 차트가 돼요.집계, Top N, 계산 필드, 저장된 레이아웃을 데모에서 바로 보여드려요.


TopN은 가장 큰 멤버를 유지하고 나머지를 Others 행으로 묶으므로, 합계는 그대로 맞아요.
ShowAs로 열 합계 대비 비율로 표시해요.
재계산 한 번으로 100,000행을 불러온 다음, 가장 큰 지역을 먼저 두고 지역을 분기별로 배치하세요. Delphi, C++ Builder, C#에서 같은 API를 써요.
dotnet add package esegece.sgcPivotGrid.WinForms
uses
Forms, Controls, SysUtils,
sgcPivotGrid_Types, sgcPivotGrid_Fields, sgcPivotGrid_VCL;
procedure CreatePivot(aForm: TForm);
const
Regions: array[0..3] of string = ('North', 'South', 'East', 'West');
var
vGrid: TsgcVCLPivotGrid;
vField: TsgcPivotField;
i: Integer;
begin
vGrid := TsgcVCLPivotGrid.Create(aForm);
vGrid.Parent := aForm;
vGrid.Align := alClient;
// load 100,000 rows, one recalculation at EndLoad
vGrid.Pivot.BeginLoad(True);
try
vGrid.Pivot.DefineColumn('Region', pvtText);
vGrid.Pivot.DefineColumn('Date', pvtDateTime);
vGrid.Pivot.DefineColumn('Sales', pvtFloat);
for i := 1 to 100000 do
vGrid.Pivot.AppendRow([Regions[i mod 4], EncodeDate(2025, 1, 1) + i mod 365,
10 + (i mod 97) * 1.5]);
finally
vGrid.Pivot.EndLoad;
end;
// layout: regions by quarter, the largest region first
vGrid.Pivot.BeginUpdate;
try
vField := vGrid.Pivot.AddField('Region', pvaRow);
vField.SortBy := pvsValue;
vField.SortOrder := pvoDescending;
vGrid.Pivot.AddField('Date', pvaColumn, pvdQuarter).Caption := 'Quarter';
vGrid.Pivot.AddDataField('Sales', pvfSum);
finally
vGrid.Pivot.EndUpdate;
end;
end;
sgcPivotGrid를 단독으로 구매하거나, 같은 테마와 런타임을 쓰는 모든 제품과 함께 sgcUI Enterprise로 받으세요. 모두 소스 코드가 포함돼요.
.NET에서는 esegece.sgcPivotGrid.Community가 NuGet에서 무료예요. sgcPivotGrid는 All-Access 번들에도 들어 있어요.
모든 sgcUI 제품은 같은 런타임인 sgcUICore로 그리기 때문에, 피벗은 주변 컨트롤과 글꼴, 간격, 강조 색상, 테마를 공유해요.

sgcGrid에 상세 행을 보여주고 같은 테이블을 TsgcPivotSource_Table로 피벗하세요.

차트 데이터 소스가 ResultTable을 읽으므로, 차트에는 사용자가 방금 만든 레이아웃이 표시돼요.

피벗과 그 차트를 대시보드 타일에 배치하세요.
Standard
Professional 추가
Enterprise 추가