Delphi, C++ Builder & .NET sgcUI'nin bir parçası

sgcPivotGrid, Delphi, C++ Builder & .NET için Özet Tablo Izgarası

Ham satırları yanıtlara dönüştürün. Alanları satırlara, sütunlara ve değerlere bırakın, tarihleri yıl, çeyrek veya aya göre gruplayın ve kullanıcılarınızın sürükle bırak alan listesiyle kendi düzenlerini oluşturmasına izin verin. Türü belirli bir sütun deposu bir milyon satırı saniyenin küçük bir kesrinde yeniden hesaplar ve çift tıklama herhangi bir hücrenin arkasındaki kaynak satırları gösterir.

VCL, FireMonkey, WinForms, WPF, Avalonia1.000.000 satır: Win64'te 100 ms yeniden hesaplama bütçesiÜcretsiz .NET Community sürümüsgcUI Enterprise içinde yer alır
SalesPivot demosu: Filtreler, Sütunlar, Satırlar ve Değerler alanlarıyla alan listesi ve oluşturduğu özet tablo

Bir Özet Tablonun İhtiyaç Duyduğu Her Şey

Beş grupta on üç özellik. Kayıtlı olarak işaretlenen özellikler ücretsiz .NET Community sürümünde yoktur.

Hız ve Veri

Bir kez yükleyin, bir kez yeniden hesaplayın, pencereyle veya pencere olmadan.

1.000.000 satır özetlendikten sonra yazdırdığı süre etiketiyle MillionRows demosu

Hız ve Veri

Bir milyon satırı saniyenin küçük bir kesrinde özetleyin

Sipariş geçmişleri ve sensör günlükleri bir elektronik tabloyu çabucak aşar. sgcPivotGrid her sütunu türü belirli bir sütun deposunda tutar, hücreleri kaynak satırlar üzerinde tek geçişte toplar ve sonucun yalnızca görünen kısmını çizer. 1.000.000 satırı yeniden hesaplamanın QA bütçesi Win64'te 100 ms'dir ve MillionRows demosu bir milyon satırı yükler, özetler ve kendi süresini yazdırır.

  • TsgcPivotEngine motordur, ızgarada Pivot olarak yayınlanır ve tek başına da kullanılabilir
  • BeginLoad, DefineColumn, AppendRow ve EndLoad satırları sonda tek bir yeniden hesaplamayla yükler
  • BeginUpdate ve EndUpdate düzen değişikliklerini tek geçişte toplar
  • Metin sütunları sözlükle kodlanır ve toplamlar hiçbir zaman ortalamaların ortalamasından değil, kaynak değerlerden gelir
Yardım konusunu okuyun
DataSetPivot demosu: düzenlemeleri izleyen bir özet tablonun üstünde bir sipariş tablosu

Hız ve Veri

Onu bir TDataSet, bir ızgara veya kendi kodunuzla besleyin

Özet tabloyu zaten elinizdeki verilere yöneltin. Bir veri kümesi kaynağı herhangi bir TDataSet'i motora kopyalar ve canlı güncellemeler açıkken her kayıttan sonra yeniden yükler; böylece özet tablo kullanıcılarınızın bir formda yaptığı düzenlemeleri izler. Bir tablo kaynağı sgcGrid gibi herhangi bir IsgcUITable'ı okur ve yalnızca tablo değiştiğinde yeniden yükler. Satırları zaten bellekte tutan kod onları basitçe ekler. Özet tablo verilerinize asla geri yazmaz.

  • DataSet, Active, Columns ve LiveUpdates ile TsgcPivotSource_DataSet
  • Kaynak onu bir TDataLink üzerinden okuduğundan herhangi bir TDataSet türevi çalışır
  • TsgcPivotSource_Table bir sgcGrid'i veya başka bir IsgcUITable'ı okur ve TableVersion ilerlediğinde yeniden yükler
  • .NET'te aynı motor bir DataTable okur
Yardım konusunu okuyun

Analiz

Bir satış yöneticisinin sorduğu sorular, özelliklerle yanıtlanır.

2025 çeyreklere ve aylara genişletilmiş, 2024 daraltılmış özet tablo

Analiz

İnsanların düşündüğü gibi gruplanan tarihler

Kimse bir satış raporunu gün gün okumaz. Aynı tarih alanını sütunlara farklı bir gruplamayla birkaç kez ekleyin, sgcPivotGrid ondan her biri kendi ara toplamıyla Yıl, Çeyrek ve Ay düzeylerini oluşturur. Kullanıcılar düzeyleri artı ve eksi düğmeleriyle açıp kapatır, kodunuz ise bir düzeyin tamamını bir seferde genişletebilir. Genişletme veya daraltma, veriyi yeniden toplamadan yeni bir anlık görüntü oluşturur. Hafta ve Gün gruplamaları buna ihtiyaç duyan operasyonel raporlar için vardır.

  • TsgcPivotDateGrouping: pvdYear, pvdQuarter, pvdMonth, pvdWeek ve pvdDay
  • AddField('Date', pvaColumn, pvdQuarter) her çağrıda bir düzey ekler
  • Her eksen için ExpandAll, CollapseAll ve ExpandLevel
  • Kendi konumu ve başlığı olan ara toplamlar ve genel toplamlar
Yardım konusunu okuyun
Yan yana üç ölçü: tutar toplamı, farklı müşteriler ve ortalama marj

Analiz

Farklı sayım dahil sekiz toplama

Gelir bir toplamdır ve sipariş sayısı bir sayımdır, ancak mart ayında kaç farklı müşterinin alışveriş yaptığı bir farklı sayımdır ve finans ekiplerinin istediği rakam budur. Her veri alanı kendi toplamasını seçer, böylece tek bir düzen satış toplamını, farklı müşteri sayısını ve ortalama marjı yan yana gösterebilir. Alan listesinde bir Değerler çipinin düğmesi toplamayı tek tıklamayla değiştirir. Toplamlar her zaman kaynak değerlerden hesaplanır.

  • TsgcPivotAggregation: pvfSum, pvfCount, pvfAverage, pvfMin ve pvfMax
  • İstatistikler için pvfCountDistinct, pvfStdDev ve pvfVar
  • AddDataField('Sales', pvfSum) bir ölçü ekler ve her sütun üyesinin altında birkaç ölçü yer alır
  • Sekizinin tamamı ücretsiz Community sürümündedir
Yardım konusunu okuyun
Satışa göre ilk 5 ürün ve bir Diğer satırı, üye onay listesi açık

Analiz Yalnızca Kayıtlı

Önemli olana süzün, ilk N'yi tutun

Büyük düzenler ancak kullanıcılar onları daraltabildiğinde işe yarar. Üye, etiket ve değer filtreleri sonucu eşit olandan arasındaya ve içerirye kadar 13 işleciyle küçültür. İlk N, her üst öğe içinde en büyük toplamlı üyeleri tutar ve geri kalanını tek bir Diğer satırına katabilir, böylece toplamlar yine tutar. Diğer üzerindeki bir ayrıntıya inme, içerdiği her üyenin kaynak satırlarını döndürür.

  • TsgcPivotFilterOperator: pvcEqual, pvcGreater, pvcBetween, pvcContains, pvcBeginsWith ve daha fazlası
  • Üye onay listeleri için FilterValues ve FilterExclude, alan listesinden de
  • İlk N görünümü için TopN, TopNOthers ve OthersCaption
  • pvoDescending ile SortBy pvsValue en büyüğü ilk sıraya koyar

Üye, etiket ve değer filtreleri ile sıralama Community sürümündedir. Diğer ile İlk N Kayıtlıdır.

Yardım konusunu okuyun
Hesaplanan marj alanı ve sütun toplamının yüzdesi içeren AdvancedPivot demosu

Analiz Yalnızca Kayıtlı

Hesaplanan alanlar ve toplamın yüzdesi

Marjlar, kâr ve paylar yöneticilerin tartıştığı rakamlardır ve veritabanında nadiren sütun olarak bulunurlar. Hesaplanan alan her kaynak satır için bir ifadeden bir değer hesaplar; IF, ROUND, MIN, MAX, ISNULL ve tarih işlevlerini destekler ve sonra diğer sütunlar gibi toplanır. Değerleri göster bir ölçüyü satırın, sütunun veya genel toplamın yüzdesine, kümülatif toplama, bir temel öğeden farka veya bir sıralamaya dönüştürür.

  • CalculatedFields.Add Name ve Expression ile bir TsgcPivotCalculatedField döndürür
  • Satır düzeyinde değerlendirme: hesaplanan bir kârın toplamı kârların toplamıdır
  • ShowAs: pvwPercentOfRow, pvwPercentOfColumn, pvwPercentOfGrandTotal, pvwRunningTotal, pvwDifferenceFrom, pvwRank
  • ShowAsBaseItem farkın ölçüleceği üyeyi seçer

Community sürümünde yoktur: bu üyeler SGC_PIVOTGRID_ADVANCED altında derlenir.

Yardım konusunu okuyun

Etkileşim

Kullanıcılarınızın yanıtı kendilerinin bulmasına izin verin.

Etkileşim

Kullanıcılar kendi raporlarını sürükle bırakla oluşturur

Yeni bir soru yeni bir sürüm gerektirmemelidir. Izgaranın yanına bir alan listesi koyun, bir özellik ayarlayın, kullanıcılar kaynak sütunları Filtreler, Sütunlar, Satırlar ve Değerler alanlarına sürüklesin. Değerler'e bırakılan bir metin sütunu sayar, sayısal olan toplar ve çip düğmesi toplamayı değiştirir. Her çip arama kutulu bir üye onay listesi açar ve ertelenmiş kip değişiklikleri kullanıcı uygulayana kadar bekletir, bu da çok büyük verilerde yardımcı olur. Aynı alan listesi FireMonkey'de de çalışır.

  • PivotGrid üzerinden bağlanan TsgcVCLPivotFieldList ve TsgcFMXPivotFieldList
  • Dört alan: pvaFilter, pvaColumn, pvaRow ve pvaData
  • DeferUpdate ve ApplyChanges kullanıcı bitirdiğinde bir kez yeniden hesaplar
  • .NET'te WinForms, WPF ve Avalonia alan listeleri
  • Arapça ve İbranice için sağdan sola: satır başlığı alanı, sütun sırası, ok işaretleri ve alan listesi yansıtılır ve XLSX dışa aktarımı sağdan sola bir sayfa yazar
Yardım konusunu okuyun
Satış değerlerinde yeşil renk ölçeği olan ülke ve ay özet tablosu

Etkileşim

Renk ölçekleri sıcak noktaları anında gösterir

Rakamlardan oluşan bir ızgara, biri onu renklendirene kadar hikâyeyi gizler. Biçim kuralları veri hücrelerini değerlerine göre boyar: renk ölçeği her hücreyi ölçünün en küçük ve en büyük değeri arasındaki yerine göre iki renk arasında gölgelendirir, değer kuralları ise bir koşulu sağlayan hücreleri renklendirir veya kalınlaştırır. Aynı kurallar ekranda ve PNG ile SVG görüntülerinde de geçerlidir, çünkü ikisi de aynı çizici tarafından çizilir. Özel çizim kodu gerekmez.

  • FormatRules koleksiyonunda TsgcPivotFormatRule, Nesne Denetçisi'nde düzenlenebilir
  • MinColor ve MaxColor ile pvrColorScale
  • Bir işleç, BackColor, ForeColor ve Bold ile pvrValue kuralları
  • Measure veri alanını seçer ve Theme açık ile koyu arasında geçiş yapar
Yardım konusunu okuyun
Bir özet tablo hücresinin arkasındaki siparişlerin ızgaranın yanında listelendiği DataSetPivot demosu

Etkileşim

Herhangi bir rakamın arkasındaki satırlara inin

Bir toplam yanlış göründüğünde ilk soru hangi siparişlerden oluştuğudur. Bir hücreye çift tıklamak veya klavyede Enter, ayrıntıya iner ve motor o değere toplanan kaynak satırları satır numaraları olarak veya düzende olmayan sütunlar dahil deponun tüm sütunlarıyla bir tablo olarak döndürür. DataSetPivot demosu bir hücrenin arkasındaki siparişleri bir yan panelde listeler.

  • Izgaranın OnDrillDown olayı ve koddan tetiklemek için DrillDownCell
  • DrillDown kaynak satırları bir IsgcUITable olarak döndürür
  • GetSourceRows satır numaralarını verir ve SourceValue bir değeri okur
  • İlk N'nin Diğer satırında ayrıntıya inmek, içerdiği her üyenin satırlarını döndürür
Yardım konusunu okuyun

Etkileşim

Düzeni sade bir dille isteyin

Kullanıcılar çeyrek başına satışa göre ilk 3 ülke gibi bir soruyu yapay zeka sorgu çubuğuna veya kodunuzdan yazar ve TsgcPivotGridAI düzen için bir yapay zeka sağlayıcısına sorar. Herhangi bir LLM çalışır: TsgcUIAIEventProvider her isteği kendi kodunuza iletir, TsgcUIAIChatProvider ise sgcWebSockets'in TsgcAIChat bileşenini kullanır. Uygulamadan yalnızca soru ve alan kataloğu çıkar: adlar, başlıklar, türler ve alan başına en fazla 5 örnek değer, satırlar asla. Yanıt, tek bir yeniden hesaplamayla uygulanmadan önce gerçek alanlara karşı denetlenir ve Geri Al önceki düzeni geri yükler.

  • Provider ve PivotGrid ile TsgcPivotGridAI, VCL, FireMonkey, WinForms, WPF ve Avalonia üzerinde
  • Ask yanıtı bekler, AskAsync bir çalışan iş parçacığında çalışır ve Cancel onu durdurur
  • OnBeforeAsk isteği düzenleyebilir veya iptal edebilir, OnLayout yanıtı reddedebilir
  • MaxSampleValues örnekleri sınırlar; bilinmeyen alanlar atılır ve yanıt 64 KB ile sınırlanır
  • sgcPivotGridWS köprüsünün TsgcPivotGridAIQuery bileşeni Chat ile hâlâ çalışır ve atanmış bir Provider, Chat üzerinde önceliklidir

Her sürüm ve her platform, Community dahil; yapay zeka düzeninin Geri Al'ı Community sürümünde yoktur. sgcWebSockets sağlayıcısı, kayıtlı bir sgcWebSockets ile Kayıtlı sürüm gerektirir: Delphi ve C++ Builder'da sgcUICoreWS, .NET'te esegece.sgcUICore.sgcWebSockets paketi.

Yardım konusunu okuyun

Çıktı

Bir dosya, bir tarayıcı, bir grafik veya bir sunucu işi.

GridToPivotToChart demosu: ızgara satırları, özet tablo ve üç bölmede bir sgcCharts grafiği

Çıktı

Gördüğünüzü dışa aktarın veya grafiğe dökün

Özet tablo çoğu zaman bir raporun sonu değil başlangıcıdır. Her dışa aktarma görünümü kullanıcının düzenlediği şekilde, genişletilmiş düzeyleri ve filtreleriyle yazar: elektronik tablolar için CSV, diğer sistemler için JSON, bir tarayıcı veya e-posta için HTML, belgeler için PNG ve SVG. Sonuç aynı zamanda sgcCharts'ın doğrudan okuduğu bir tablodur, bu yüzden GridToPivotToChart demosu hiçbir veriyi kopyalamadan ızgara satırlarından özet tabloya ve oradan grafiğe gider. Akışlar da dosyalar kadar iyi çalışır.

  • Bir dosyaya veya akışa SaveToCSV, SaveToJSON ve SaveToHTML
  • İsteğe bağlı boyutla SaveToPNG ve SaveToSVG
  • TsgcPivotGridRenderer pencere olmadan, bir sunucuda veya Linux64'te çizer
  • ResultTable görünür sonucu sgcCharts için bir IsgcUITable olarak sunar
Yardım konusunu okuyun
Kayıtlı Bölgeye göre satışlar ve Ürüne göre marj görünümlerini içeren düzen listesi

Çıktı Yalnızca Kayıtlı

Bir düzeni kaydedin, tek çağrıyla geri yükleyin

İleri düzey kullanıcılar aynı görünümleri tekrar tekrar oluşturur: pazartesi bölgeye göre satışlar, ay sonunda ürüne göre marj. Düzen kalıcılığı tüm düzeni alanları, bölgeleri, gruplamaları, toplamaları, sıralaması, filtreleri ve toplamlarıyla JSON olarak yazar ve tek bir yeniden hesaplamayla geri yükler. Onu bir dosyada, bir veritabanı alanında veya bir kullanıcı profilinde saklayın, adlandırılmış görünümlerin bir listesini sunun veya bir ızgaranın düzenini bir diğerine kopyalayın.

  • Izgaralarda ve motorda SaveLayoutToFile ve LoadLayoutFromFile
  • Bir veritabanı veya ayar deposu için SaveLayoutToString ve LoadLayoutFromString
  • Izgara sürümleri kullanıcının değiştirdiği sütun genişliklerini de saklar
  • LoadLayoutFromString(SaveLayoutToString) ile düzeni ızgaralar arasında kopyalayın

Community sürümünde yoktur.

Yardım konusunu okuyun

Erişilebilirlik

Ekran okuyucular, klavye ve yüksek karşıtlık için UI Automation, kurulum gerektirmeden.

Erişilebilirlik

Başlıklarıyla birlikte sunulan bir özet tablo

sgcPivotGrid içeriğini Microsoft UI Automation'a, genişleyip daralan satır ve sütun başlıkları, veri hücreleri ve toplamlardan oluşan bir tablo olarak sunar. Alan listesi her bölge için bir alan listesi olarak sunulur, böylece ekran okuyucu kullanıcısı da özeti oluşturabilir.

  • Ok tuşları, Home, End, Page Up ve Page Down odaktaki hücreyi taşır, Sol ve Sağ (veya artı ve eksi tuşları) başlıkları daraltır ve genişletir
  • Alan listesinde Yukarı ve Aşağı alan odağını taşır, Ctrl+1 ile Ctrl+4 alanı satırlara, sütunlara, değerlere veya filtrelere taşır, Ctrl+Yukarı ve Ctrl+Aşağı yeniden sıralar, Boşluk açıp kapatır ve Del kaldırır
  • Alan listesi tuşları, alanları fareyle sürüklemenin yerini alır
  • Görünür bir odak halkası ve Windows yüksek karşıtlık temasında özet ızgara sistem renkleriyle çizilir

Erişilebilirlik her sürümde, ücretsiz Community sürümü dahil, varsayılan olarak açıktır: VCL'de Delphi 7'den Delphi 13'e kadar her Delphi ve C++Builder sürümünde, Windows'ta FireMonkey'de ve WinForms, WPF ve Avalonia üzerinde. Delphi ve C++Builder'da AccessibleName ve AccessibleDescription UI Automation'a sunulan adı ve açıklamayı belirler, .NET'te ise her çerçevenin standart erişilebilir adı ve yardım metni aynı işi yapar. Bkz. erişilebilirlik uygunluk raporları.

Yardım konusunu okuyun

sgcPivotGrid iş başında

sgcUI paket demolarında sgcPivotGrid: yerleşik simüle verilerle çevrimdışı çalışan eksiksiz uygulamalar.

Bütçelere Karşı Ölçüldü

QA performans grubu bu senaryoları sürüm derlemelerinde, sabit veriler üzerinde beş çalıştırmanın medyanı olarak çalıştırır. Rakamlar her senaryonun içinde kalması gereken bütçelerdir ve yardımda yayımlanır.

ÖlçümSonuçKoşullar
1.000.000 satırı yeniden hesaplama (2 satır alanı, 1 sütun alanı, 1 Sum)100 msWin64 sürüm derlemesi, QA bütçesi
1.000.000 satırı yeniden hesaplama (2 satır alanı, 1 sütun alanı, 1 Sum)160 msWin32 sürüm derlemesi, QA bütçesi
1.000.000 satırın AppendRow işlemi (3 metin, 1 kayan nokta ve 1 tarih değeri)900 msWin64 sürüm derlemesi, QA bütçesi
1.000.000 satırın AppendRow işlemi (3 metin, 1 kayan nokta ve 1 tarih değeri)1.400 msWin32 sürüm derlemesi, QA bütçesi

Kaynak: bu değerleri belgeleyen yardım konusu.

sgcPivotGrid ile Kimler Geliştirme Yapıyor

ERP ve iş uygulaması geliştiricileri

Bir ERP içinde satış ve finans analizi

Muhasebe ve satış personeline bir elektronik tabloya aktarmadan sipariş tablosu üzerinde bir özet tablo verin. Bir veri kümesi kaynağı özet tabloyu formlarınızın kullandığı aynı TDataSet'e bağlar ve kaydedilen her düzenlemeyi izler. Tarihler yıl, çeyrek ve aya göre gruplanır, bir renk ölçeği zayıf bölgeleri işaretler ve çift tıklama şüpheli bir toplamın arkasındaki faturaları listeler, böylece sorular uygulamanızın içinde yanıtlanır.

  • Canlı güncellemeli veri kümesi kaynağı
  • Tarih gruplama
  • Renk ölçekleri
  • Ayrıntıya inme
DataSetPivot demosunu çalıştırın

Analistler ve kontrolörler

İleri düzey kullanıcılar için self servis analiz

İleri düzey kullanıcılar değişiklik talebi açmak değil keşfetmek ister. Alan listesi alanları satırlar, sütunlar, filtreler ve değerler arasında sürüklemelerine izin verir, üye onay listeleri veriyi daraltır ve kaydedilmiş düzenler en sevdikleri görünümleri geri getirir. Yapay zeka köprüsüyle bir soru yazıp düzeni kendileri için oluşturtabilirler; yanıt istediklerinden farklıysa Geri Al bir tık uzaktadır.

  • Alan listesi
  • Diğer ile İlk N
  • Düzen kalıcılığı
  • Yapay zeka düzenleri
AdvancedPivot demosunu çalıştırın

Arka ofis ve raporlama hizmetleri

Bir sunucuda zamanlanmış raporlar

Gecelik özetler bir ekrana ihtiyaç duymaz. Motor ve arayüzsüz çizici bir hizmette veya bir konsol uygulamasında, Windows'ta veya Delphi 10.2'den itibaren Linux64'te çalışır. Günün satırlarını yükleyin, kaydedilmiş bir düzen uygulayın ve özet tabloyu bir e-postaya eklemeye veya bir intranet sayfasında yayımlamaya hazır PNG, SVG, HTML veya CSV olarak yazın.

  • Pencere olmadan TsgcPivotEngine
  • TsgcPivotGridRenderer
  • HTML ve CSV dışa aktarma
  • Linux64
HeadlessReport demosunu çalıştırın

Birkaç Satırda Bir Özet Tablo

Delphi, C++ Builder ve C# içinde aynı API: 100.000 satırı bir kez yükleyin, sonra bölgeleri çeyreğe göre, en büyük bölge önce olacak şekilde düzenleyin.

Bir özet tablo ızgarası ve bir alan listesi içeren VCL formu: tek yeniden hesaplamayla yüklenen 100.000 satır, çeyreğe göre bölgeler, en büyük bölge önce.

unit frmSales;

interface

uses
  Classes, Controls, Forms, SysUtils,
  sgcUICore_Theme, sgcPivotGrid_Types, sgcPivotGrid_Fields, sgcPivotGrid_VCL,
  sgcPivotGrid_FieldList_VCL;

type
  TFormSales = class(TForm)
    procedure FormCreate(Sender: TObject);
  end;

implementation

procedure TFormSales.FormCreate(Sender: TObject);
const
  Regions: array[0..3] of string = ('North', 'South', 'East', 'West');
var
  vGrid: TsgcVCLPivotGrid;
  vList: TsgcVCLPivotFieldList;
  vField: TsgcPivotField;
  i: Integer;
begin
  vGrid := TsgcVCLPivotGrid.Create(Self);
  vGrid.Parent := Self;
  vGrid.Align := alClient;
  vGrid.Theme := utDark;
  vList := TsgcVCLPivotFieldList.Create(Self);
  vList.Parent := Self;
  vList.Align := alRight;
  vList.PivotGrid := vGrid;
  // 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, shown as % of total
  vGrid.Pivot.BeginUpdate;
  try
    vField := vGrid.Pivot.AddField('Region', pvaRow);
    vField.SortBy := pvsValue;
    vField.SortOrder := pvoDescending;
    vGrid.Pivot.AddField('Date', pvaColumn, pvdQuarter).Caption := 'Quarter';
    vField := vGrid.Pivot.AddDataField('Sales', pvfSum);
    vField.ShowAs := pvwPercentOfGrandTotal;
  finally
    vGrid.Pivot.EndUpdate;
  end;
  vGrid.SaveToHTML(ExtractFilePath(ParamStr(0)) + 'sales.html');
end;

end.

Yardım konusunu okuyun →

Paketlerin oluşturduğu başlıklarla C++ Builder'da aynı özet tablo.

#include <vcl.h>
#pragma hdrstop
#include "sgcUICore_Theme.hpp"
#include "sgcPivotGrid_Types.hpp"
#include "sgcPivotGrid_Fields.hpp"
#include "sgcPivotGrid_VCL.hpp"
#include "sgcPivotGrid_FieldList_VCL.hpp"

void __fastcall BuildSalesPivot(TForm *Form)
{
	TsgcVCLPivotGrid *vGrid = new TsgcVCLPivotGrid(Form);
	vGrid->Parent = Form;
	vGrid->Align = alClient;
	vGrid->Theme = utDark;
	TsgcVCLPivotFieldList *vList = new TsgcVCLPivotFieldList(Form);
	vList->Parent = Form;
	vList->Align = alRight;
	vList->PivotGrid = vGrid;
	// load 100,000 rows, one recalculation at EndLoad
	static const String Regions[4] = {"North", "South", "East", "West"};
	Variant vValues[3];
	vGrid->Pivot->BeginLoad(true);
	try {
		vGrid->Pivot->DefineColumn("Region", pvtText);
		vGrid->Pivot->DefineColumn("Date", pvtDateTime);
		vGrid->Pivot->DefineColumn("Sales", pvtFloat);
		for (int i = 1; i <= 100000; i++) {
			vValues[0] = Regions[i % 4];
			vValues[1] = TDateTime((double)EncodeDate(2025, 1, 1) + i % 365);
			vValues[2] = 10 + (i % 97) * 1.5;
			vGrid->Pivot->AppendRow(vValues, 2);
		}
	}
	__finally {
		vGrid->Pivot->EndLoad();
	}
	// layout: regions by quarter, the largest region first, shown as % of total
	vGrid->Pivot->BeginUpdate();
	try {
		TsgcPivotField *vField = vGrid->Pivot->AddField("Region", pvaRow);
		vField->SortBy = pvsValue;
		vField->SortOrder = pvoDescending;
		vGrid->Pivot->AddField("Date", pvaColumn, pvdQuarter)->Caption = "Quarter";
		vField = vGrid->Pivot->AddDataField("Sales", pvfSum);
		vField->ShowAs = pvwPercentOfGrandTotal;
	}
	__finally {
		vGrid->Pivot->EndUpdate();
	}
	vGrid->SaveToHTML(ExtractFilePath(ParamStr(0)) + "sales.html");
}

Yardım konusunu okuyun →

WinForms için C# sürümü. Yalnızca ücretsiz Community sürümünün özelliklerini kullanır.

using System;
using System.Windows.Forms;
using esegece.sgcPivotGrid;
using esegece.sgcUICore;

namespace SalesPivot
{
    internal class MainForm : Form
    {
        private static readonly string[] Regions = { "North", "South", "East", "West" };

        public MainForm()
        {
            Text = "Sales pivot";
            var grid = new TsgcWinFormsPivotGrid { Dock = DockStyle.Fill, Theme = TsgcUITheme.utDark };
            var list = new TsgcWinFormsPivotFieldList { Dock = DockStyle.Right, Width = 260, PivotGrid = grid, Theme = TsgcUITheme.utDark };
            Controls.Add(grid);
            Controls.Add(list);

            // load 100,000 rows, one recalculation at EndLoad
            grid.Pivot.BeginLoad();
            try
            {
                grid.Pivot.DefineColumn("Region", TsgcPivotDataType.pvtText);
                grid.Pivot.DefineColumn("Date", TsgcPivotDataType.pvtDateTime);
                grid.Pivot.DefineColumn("Sales", TsgcPivotDataType.pvtFloat);
                for (int i = 1; i <= 100000; i++)
                    grid.Pivot.AppendRow(Regions[i % 4], new DateTime(2025, 1, 1).AddDays(i % 365), 10 + (i % 97) * 1.5);
            }
            finally { grid.Pivot.EndLoad(); }

            // layout: regions by quarter, the largest region first
            grid.Pivot.BeginUpdate();
            try
            {
                var region = grid.Pivot.AddField("Region", TsgcPivotArea.pvaRow);
                region.SortBy = TsgcPivotSortBy.pvsValue;
                region.SortOrder = TsgcPivotSortOrder.pvoDescending;
                grid.Pivot.AddField("Date", TsgcPivotArea.pvaColumn, TsgcPivotDateGrouping.pvdQuarter).Caption = "Quarter";
                grid.Pivot.AddDataField("Sales", TsgcPivotAggregation.pvfSum).DisplayFormat = "#,##0";
            }
            finally { grid.Pivot.EndUpdate(); }
            grid.SaveToHTML("sales.html");
        }

        [STAThread]
        static void Main() { Application.EnableVisualStyles(); Application.Run(new MainForm()); }
    }
}
dotnet add package esegece.sgcPivotGrid.WinForms

Yardım konusunu okuyun →

Delphi ve C++ Builder örnekleri değerleri genel toplamın yüzdesi olarak gösterir (ShowAs), bu bir Kayıtlı sürüm özelliğidir. C# örneği yalnızca ücretsiz Community sürümünün özelliklerini kullanır.

sgcPivotGrid Demolarını Çalıştırın

Derlenmiş demo yürütülebilir dosyaları sgcUI_bin.zip içindedir, kurulum gerekmez. Her demonun kaynağı paketle birlikte gelir, Delphi, C++ Builder ve .NET için.

SalesPivot

SalesPivot

Tarih gruplama, renk ölçeği, alan listesi ve dışa aktarma ile 100.000 satış satırı. SalesPivotFMX FireMonkey ikizidir.

DataSetPivot

DataSetPivot

Siparişlerden oluşan bir TClientDataSet: bir satırı düzenleyin ve özet tablo izler; siparişlerini listelemek için bir hücreye çift tıklayın.

MillionRows

MillionRows

Üretilen 1.000.000 satırı yükler ve özetler, sonra geçen süreyi yazdırır.

AdvancedPivot

Yalnızca Kayıtlı AdvancedPivot

Hesaplanan alanlar, değerleri göster, Diğer ile İlk N ve düzenleri kaydetme ve yükleme.

GridToPivotToChart

GridToPivotToChart

Bir sgcGrid içindeki satırlar özet tabloyu besler ve özet tablo sonucu veri kopyalamadan bir sgcCharts grafiğini besler.

HeadlessReport

Pencere olmadan bir özet tablo oluşturur ve bir PNG dosyasına çizer.

Yalnızca Kayıtlı AskYourPivot

Yapay zeka sorgu çubuğuna bir soru yazın ve hazır yanıt veren bir sağlayıcıyla ya da sgcWebSockets'in TsgcAIChat bileşeniyle TsgcPivotGridAI üzerinden bir düzen alın, Geri Al ile.

Derlenmiş demolar

Her sgcUI ürününün çalıştırmaya hazır yürütülebilir dosyaları, kurulum gerektirmez.

sgcUI_bin.zip dosyasını indirin →

sgcPivotGrid Hangi Sürümlerde Yer Alıyor

sgcPivotGrid, sgcUI Enterprise'ın bir parçasıdır ve ayrıca tek başına da satılır. sgcPivotGrid ayrıca All-Access paketine dahildir.

sgcPivotGrid tek paket

€249 / geliştirici, tam kaynak kodu, 1 yıl güncelleme.

sgcPivotGrid satın alın → Fiyatlandırmayı görün →

sgcUI Enterprise

Tüm 14 sgcUI ürünü, €699 fiyatından başlayarak.

Enterprise sürümüne bakın →

.NET

.NET sürümü aynı fiyattadır. Ücretsiz bir Community sürümü NuGet'te esegece.sgcPivotGrid.Community olarak bulunur.

Fiyatlandırmaya bakın →

Ücretsiz Community sürümü NuGet'te esegece.sgcPivotGrid.Community paketidir. Tablo nelerin dahil olduğunu gösterir.

ÖzellikCommunity (ücretsiz)Kayıtlı
Özet tablo ızgarası ve alan listesi (VCL, FireMonkey, WinForms, WPF, Avalonia)✓✓
CountDistinct, StdDev ve Var dahil sekiz toplama✓✓
Tarih gruplama, ara toplamlar ve genel toplamlar✓✓
Filtreler, sıralama ve ayrıntıya inme✓✓
Koşullu biçimlendirme ve renk ölçekleri✓✓
CSV, JSON ve HTML dışa aktarma, arayüzsüz PNG ve SVG✓✓
Herhangi bir LLM ile yapay zeka özet düzenleri ve yapay zeka sorgu çubuğu✓✓
Hesaplanan alanlar−✓
Değerleri göster−✓
Diğer ile İlk N−✓
Düzen kalıcılığı−✓
Yapay zeka düzenlerinde Geri Al, sgcPivotGridWS köprüsü ve sgcWebSockets yapay zeka sağlayıcısı−✓

Desteklenen Framework'ler ve Platformlar

sgcPivotGrid bileşenleri

BileşenNe yapar
TsgcVCLPivotGrid, TsgcFMXPivotGridVCL ve FireMonkey için özet tablo denetimi (FMX XE6'dan itibaren).
TsgcVCLPivotFieldList, TsgcFMXPivotFieldListKullanıcıların düzeni değiştirmesini sağlayan sürükle bırak alan listesi.
TsgcPivotEngineGrid.Pivot olarak erişilen ve pencere olmadan kullanılabilen hesaplama motoru.
TsgcPivotSource_DataSet, TsgcPivotSource_TableBir TDataSet'i veya sgcUI tablo arayüzünü uygulayan herhangi bir tabloyu özetler.
TsgcPivotGridRendererSunucular ve raporlar için arayüzsüz PNG ve SVG çıktısı.
TsgcPivotFormatRuleRenk ölçekleri gibi koşullu biçimlendirme kuralları.
TsgcPivotGridAISade dildeki soruları herhangi bir yapay zeka sağlayıcısıyla özet tablo düzenlerine dönüştürür, her sürümde ve her platformda.
TsgcVCLAIQueryBar, TsgcFMXAIQueryBarsgcUICore'un yapay zeka sorgu çubuğu: bir soru yazın, uygulananı okuyun, İptal ve Geri Al.
TsgcUIAIEventProvider, TsgcUIAIChatProvider (sgcUICoreWS)Yapay zeka sağlayıcıları: tek bir olayla herhangi bir LLM ya da sgcWebSockets'in TsgcAIChat bileşeni (yalnızca Kayıtlı).
TsgcPivotGridAIQuery (sgcPivotGridWS)sgcWebSockets'in TsgcAIChat bileşeni için Chat özelliğine sahip TsgcPivotGridAI. Yalnızca Kayıtlı.
HedefBileşenPlatformlar
Delphi 7'den 13'e, VCLTsgcVCLPivotGridWin32 ve Win64
Delphi XE6'dan 13'e, FireMonkeyTsgcFMXPivotGridWindows, macOS, iOS ve Android
C++ Builder 2007'den 13'eVCL ve FMX özet tablo ızgaralarıOluşturulan .hpp başlıkları ve statik kütüphaneler
Delphi 10.2'den 13'e, framework'ten bağımsızMotor, kaynaklar, dışa aktarma, düzen JSON'u, arayüzsüz çiziciLinux64, örneğin bir sunucuda özet tablo raporları oluşturmak için
.NET Framework 4.7.2, .NET 8, 9 ve 10TsgcWinFormsPivotGrid, TsgcWpfPivotGrid, TsgcAvaloniaPivotGridWinForms, WPF, Avalonia, arayüzsüz PNG ve SVG

Sık Sorulan Sorular

Motor büyük veri için tasarlanmıştır: türü belirli sütun deposu, yeniden hesaplama başına tek geçiş ve sanal çizim. Win64'teki QA bütçeleri 1.000.000 satırı yeniden hesaplamak için 100 ms ve eklemek için 900 ms'dir. Düzenin boyutu da önemlidir: varsayılan olarak 5.000.000 hücre olan MaxCells değerini aşan bir düzen hata verir, bu yüzden tarihleri gruplayın veya İlk N kullanın.

Evet. TsgcPivotSource_DataSet herhangi bir TDataSet'i motora kopyalar ve LiveUpdates True iken her kayıttan sonra yeniden yükler. Bir toplu düzenleme için onu kapatın ve sonunda Load çağırın. DataSetPivot demosu canlı güncellemeler ve ayrıntıya inme ile bir TClientDataSet gösterir.

Hayır. sgcPivotGrid uygulamanızın içinde bellek içi bir motordur. Satırları bir veri kümesinden, bir tablodan veya kendi kodunuzdan okur, kendisi toplar ve veritabanı sunucusu veya küp tasarımı gerektirmez.

Dört gelişmiş özellik: hesaplanan alanlar, değerleri göster, Diğer ile İlk N ve düzen kalıcılığı, ayrıca sgcPivotGridWS köprüsü, sgcWebSockets yapay zeka sağlayıcısı ve bir yapay zeka düzeninin Geri Al'ı. Kendi sağlayıcınızla yapay zeka özet düzenleri, her toplama, tarih gruplama, filtreler, sıralama, ayrıntıya inme, biçim kuralları, dışa aktarma, alan listeleri ve arayüzsüz PNG ile SVG çıktısı Community'dedir.

Yalnızca soru ve alan kataloğu: alan adları, başlıklar, türler ve alan başına en fazla 5 örnek değer, satırlar asla. Yanıt gerçek alanlara karşı doğrulanır, bilinmeyen alanlar ve değerler atılır ve kullanılabilir bir düzen kalmadığında hiçbir şey değişmez. Her sürümde, TsgcUIAIEventProvider bileşenine bağladığınız herhangi bir sağlayıcıyla çalışır; hazır TsgcUIAIChatProvider için Kayıtlı sürüm ve kayıtlı bir sgcWebSockets gerekir.

Evet. Izgaralar ve motor görünür sonucu ResultTable üzerinden bir IsgcUITable olarak sunar. Bir sgcCharts tablo veri kaynağının Table özelliğini özet tablo ızgarasına ayarlayın, grafik kullanıcının düzenlediğini çizer. GridToPivotToChart demosu sgcGrid, sgcPivotGrid ve sgcCharts'ı zincirler.

Evet. TsgcPivotGridRenderer bir sonucu pencere olmadan PNG veya SVG olarak çizer ve motor CSV, JSON ve HTML dışa aktarır. Linux64'te framework'ten bağımsız birimler Delphi 10.2'den itibaren derlenir: motor, kaynaklar, dışa aktarma, düzen JSON'u ve çizici.

sgcPivotGrid Yardımı

3,000+Geliştirici
20+Yıl
761+Bileşen
30+API Entegrasyonu
5Platform
30 Günlük Para İade GarantisiMemnun kalmadınız mı? Satın alımdan sonraki 30 gün içinde tam para iadesi talep edin. İade politikasına bakın

sgcPivotGrid'i Bugün Deneyin

sgcUI denemesi sgcPivotGrid'i ve diğer tüm sgcUI ürünlerini içerir.