Yerel Pivot çıktısı, çapraz filtre sorguları ve eksik üyeler
Yerel önbelleğe alınmış çalışma sayfası çıktısı
function TXLSXWorkbook.MaterializeNativePivotTable( ATable: TXLSPivotTable): Integer; function TXLSXWorkbook.MaterializeNativePivotTable( ATable: TXLSPivotTable; AAdoptExisting: Boolean): Integer;
İşlem; çalışma sayfası değerlerini ve çıktı sahipliğini birlikte işlemeden önce, eksiksiz yerel kompakt, tablosal ya da anahat rapor ızgarasını ve onun konum, rowItems, colItems ve veri ekseni üst verisini hazırlar; başarıda 1, desteklenmeyen durum ya da çakışmada tanılama bilgisiyle -1 döndürür
Desteklenen boş olmayan yerel görünümler; güncel filtreleri, tam önbellek üyesi kimliklerini, sıradan hiyerarşileri, desteklenen gruplanmış etki alanlarını, varsayılan ya da özel ara toplamları ve iki desteklenen veri ekseninden birini korur; yerel ızgara, görüntülenen ortalamaları ya da diğer toplanamayan sonuçları yeniden birleştirmek yerine özgün toplama değerlerini kullanır
Mevcut hücre nesneleri ve biçimlendirme kullanılabilir kalır; raporu küçültmek ya da taşımak yalnızca daha önce sahiplenilmiş, değişmemiş değerleri temizler; düzenlenmiş çıktı, kaynak çakışması, birleştirmeler, formüller, diziler ve diğer raporlar değişiklik öncesinde reddedilir
Alınmış skaler çıktı, AAdoptExisting=True ile açık benimsenme ister; sonraki güncellemeler, kaydedip yeniden açtıktan sonra dahil, kalıcı tek tek hücre sahipliğini kullanır
İşlem güncel önbellek kayıtlarını okur, kaynak veriyi yenilemez ya da formülleri yeniden hesaplamaz; çalışma sayfası artık gerçek hazırlanmış yerel sonuçları içerdiği için Cache.RefreshOnLoad=False geçerlidir
Çağıranın kayıt filtresi geri çağrıları koparılmış önizlemede yer alır ama OOXML gösterimi yoktur; Excel'in açık yerel yenilemesi keyfi geri çağırı kısıtlamalarını üretemez; desteklenen kalıcı elle ve Slicer filtreleri serileştirilmiş gösterimlerini korur
Desteklenen SUM hesaplanan önbellek alanları ve önbelleğin sahibi olduğu hesaplanan öğeler, Yerel hesaplanan Pivot alanları ve önbelleğe ait öğeler sayfasında anlatılan bağlam-toplamı sözleşmesini kullanır; özel üye başlıkları ve desteklenmeyen düzen birleşimleri açıkça reddedilir; desteklenen üretilmiş ham düzen ise ilgisiz XML'i ve güncel üye maskelerini korur
TryXLSXMakeNativePivotLayout(const Xml: WideString; Table: TXLSPivotTable; AWriter: TlxPivotResultWriter; out ResultXml, Reason: WideString): Boolean, lxPivotXml içindeki daha alt düzey hazırlıklı düzen yardımcısıdır
Yazıcısı, tablo çapasından sıfır tabanlı ofsetlerle, boş hücreler dahil rapor dikdörtgeninin tamamını satır-öncelikli sırada alır; XML ve ızgara ön denetimi ilk geri çağrıdan önce biter, ancak bir geri çağırı istisna fırlatırsa çağıranın sahiplindeki yazmalar geri alınamaz
Çalışma kitabı cephesi, işlemsel hücre güncellemeleri için koparılmış bir yakalama yazıcısı sağlar; birleşik hazırlıklı önizleme ve yerel Variant ızgaraları 4194304 hücreyle sınırlıdır
Yerel önizleme yolu, TXLSPivotTable.MakePreview'in isteğe bağlı AUseNativeGrandTotals parametresiyle yerel genel toplam yönü isteyebilir; mevcut tek yazıcılı ve düzen yazıcılı çağrılar önceki davranışlarını korur
Düzen ve yinelenen etiketler
Somutlaştırmadan önce raporda ve her satır alanında Compact ile Outline değerlerini ayarlayın; tablosal alanlar her iki bayrağı False yapar, anahat alanları Compact=False ve Outline=True kullanır, kompakt alanlar ise her ikisini True yapar
property TXLSPivotField.RepeatLabels: Boolean;
RepeatLabels varsayılan olarak False'tur, alanla birlikte bağımsız kopyalanır ve yerel x14:pivotField fillDownLabels uzantısını okur ya da yazar; tablosal ve anahat çıktısında ata etiketlerini yineler ve kompakt ile anahat bayraklarının ikisi de etkin bir alan üzerinde etkisizdir
Her ayrı satır alanı kendi fiziksel sütununu alır; komşu kompakt anahat alanları bir etiket sütununu paylaşır; satırlardaki birden çok ölçü CompactData değerini izler, sütunlardaki birden çok ölçü bağımsız veri başlıklarını ve genel toplamları korur
Varsayılan tablosal ara toplamlar grubun altında görünür; anahat SubtotalTop üst ya da alt konumu seçer, satırlardaki ölçüler ise grubun altında ayrı toplama satırları kullanır ve her ölçünün başlığını korur
Yerel önbelleğe alınmış çıktı, olmayan satır ve sütun kesişimlerini boş bırakır ve gerçek sayısal sıfırı korur; yerel seçenek içermeyen sıradan Make ve önizlemeler önceki boş sonuç davranışlarını korur
Etkin olmayan ve ölçü alanları, hazırlanan yerel üst veride rapor düzenini devralır; böylece Excel'in açık yenilemesi uygun alan ve veri başlıklarını korur; işlem canlı alan ayarlarını ve mevcut sahiplik denetimlerini korur
Alınmış yinelenen etiket uzantıları, uzantı öğesinin üzerindeki bildirimler dahil ad alanı takma adlarını kabul eder; bilinmeyen ilgisiz XML, yerel somutlaştırma yolu tarafından korunmaya devam eder
Gruplanmış üyeler, eksen sırası ve özel ara toplamlar
Yerel çıktı; eksiksiz sayısal aralık gruplarını, tarih gruplarını ve önbelleğin mevcut türlü gruplandırma üst verisinin gösterdiği elle üye gruplarını destekler; üretilen etiketler Unicode ve yerelleştirilmiş tarih başlıkları dahil tam olarak alınmış GroupItemLabels değerlerini korur
Gruplandırma koparılmış bir önbellek üzerinde değerlendirilir; canlı önbelleğin kayıtları, paylaşılan öğe tutamaçları ve grup kimlikleri korunur; geçersiz sınırlar, sıfır aralıklar, eksik etki alanları ya da desteklenmeyen grup öğesi değer türleri, çalışma sayfası çıktısı değişmeden reddedilir
Mevcut sıfır tabanlı TXLSPivotField.Position, kararlı yerel satır ya da sütun eksen sırasını belirler; eşit konumlar girilmiş alan sırasını korur, böylece varsayılan konumla yeni oluşturulan alanlar önceki sıralarını korur
Alınmış yerel Yıl/Ay ve ebeveyn/elle üye hiyerarşileri açık eksen dizilerini korur; önbellek alanı indeksleri, görünüm alanı indeksleri ve görüntü hesaplama tabanı kimlikleri değişmeden kalır; elle gruplar, grup etiketlerini ya da önbellek indekslerini sıralamak yerine açık Pivot öğe sırasına uyar
Özel satır ara toplamları xlpsSum, xlpsCount, xlpsAverage, xlpsMax, xlpsMin, xlpsProduct, xlpsCountNumbers, xlpsStdDev, xlpsStdDevP, xlpsVar ve xlpsVarP destekler; birden çok seçili işlev, tablosal ya da anahat alanları ve satırlardaki ölçüler dahildir
Her işlev, özgün kaynak kayıtlarını kendi ara toplam kapsamında toplar; hazırlanan satır üst verisi seçilen işlevi bağımsız tanımlar ve toplanamayan hesaplamalar ile boş ya da hata sonuçları için Excel'in açık yenileme davranışını korur
Alınmış bir özel ara toplam seçimi, yerel XML'de defaultSubtotal yoksa bile örtük otomatik ara toplamı hariç tutar; uygulamalar xlpsDefault'ı özel işlevlerle birleştirmemelidir, böyle belirsiz türlü bir istek değişiklik öncesinde reddedilir
Ara toplamlı birden çok sütun alanı düzeyi, desteklenmeyen kompakt veri ekseni birleşimleri, daraltılmış üyeler ve özel başlıklar bu yerel çıktı sözleşmesinin dışında kalır; hesaplanan alanlar ve öğelerin kendi daha dar SUM ve üye kimliği gereksinimleri vardır; ham korunma, bir özelliğin yeniden hesaplanmasını ya da somutlaştırılmasını desteklemek anlamına gelmez
Kaydetme, yeniden açma ve yeniden somutlaştırma; desteklenen gruplandırmayı, eksen sırasını ve ara toplam kimliklerini korur; alınmış yerel görünümler ve bağımsız kopyalanmış türlü önbellekler, ilk açma ve açık yenileme ikisinde de Excel'e karşı doğrulandı
Yerel görüntü hesaplamaları
MaterializeNativePivotTable'ı çağırmadan önce her sıradan veri alanının ShowDataAs ya da ExtendedShowDataAs değerini ayarlayın; temel ve genişletilmiş görüntü modları birbirini dışlar
Temel modlar; fark, bir taban öğesinin yüzdesi, yüzde fark, yürüyen toplam, satır, sütun ya da genel toplam yüzdesi ve indeks içerir; genişletilmiş modlar; ebeveyn satır, ebeveyn sütun ve seçili ebeveyn yüzdeleri, kümülatif yüzde ile artan ya da azalan yoğun sıralar içerir
BaseField; karşılaştırmalar, yürüyen toplamlar, seçili ebeveyn yüzdeleri ve sıralamalar için sıfır tabanlı Pivot alan indeksidir; karşılaştırmalar sıfır tabanlı BaseItem konumunu, etkin görüntü sırasındaki komşu görünür üyeler için ise xlPivotBaseItemPrevious ve xlPivotBaseItemNext değerlerini kullanır
Ebeveyn satır ve ebeveyn sütun yüzdeleri, BaseField kullanmadan karşılık gelen en içteki eksen alanını seçer; karşılık gelen eksen yoksa bu sonuçlar boş kalır
Basit yüzdeler, toplanamayan ortalamalar dahil ilgili kapsamdaki özgün toplamaya böler; kümülatif yüzdeler görüntülenen üye toplamlarını toplar ve en içteki bir taban alan için özgün eksen toplamını kullanır; daha dış bir taban alan ise eşleşen kalan üyeler boyunca toplamı kullanır, böylece ortalamalar yüzde 100'ü aşabilir
Yerel sıralamalar, kendinden önceki ayrı toplama değerlerini sayar; karşılaştırmalar, olmayan kesişimler, eksik tabanlar, sıfır bölenler ve önceki ya da sonraki sınırlar için Excel'in boş ve hata davranışını korur; basit yüzdeler, olmayan bir payı sıfır sayar
Genel toplamlar, seçilen modun yerel semantiğini kullanır; buna karşılaştırma ya da yürüyen eksen boyunca boş toplamlar dahildir; görüntü modu değiştirmek, raporun işlemsel sahipliğini, çakışma ve bütçe denetimlerini korur
Kaydetme ve yeniden açma; seçilen temel ya da genişletilmiş modu ve taban kimliklerini korur, hazırlanan yerel üst veri açık bir Excel yenilemesini destekler; yerel seçenek içermeyen sıradan Make ve önizlemeler mevcut hesaplama sözleşmelerini korur
Slicer çapraz filtre kullanılabilirliği
property TXLSXSlicerCache.ItemHasData[Index: Integer]: Boolean;
Bu salt okunur sorgu; bu Slicer'ın kendi seçimini yok sayarken ve diğer Slicer seçimlerini, elle filtreleri, çağıranın yüklemlerini ve uygulanabilir toplama filtrelerini koruyarak güncel desteklenen non-OLAP önbellek kayıtlarını değerlendirir
Kullanılabilirlik, bağlı görünümler boyunca bir birleşimdir; eşleşen kaydı olmayan geçmiş üyelerin verisi yoktur, boş ölçülerin verisi yoktur; boş olmayan metin, Boolean, sıfır, hata ve tarih ölçüleri doğrulanmış yerel sözleşme altında veri sayılır
Sorgu bir okuma kirası ve koparılmış kayıt önizlemesi kullanır, canlı tutamaçları ve seçimi korur ve FormulaArrayMemoryLimit değerine uyar; geri çağırı başarısızlığı, yeniden giriş, geçersiz bağlamalar ya da desteklenmeyen toplama hesaplanan üyeleri, canlı değişiklikleri işlemeden fırlatır
Kullanılabilirliği sorgulamak önbellek yenilemez, formül hesaplamaz, dosya G/Ç yapmaz ya da serileştirilmiş yerel veri yoksunu bayraklarını güncellemez; uygulamalar bu salt okunur işlemden yerel arayüz durumu çıkarsamamalıdır
TlxPivotRecordWriter = procedure(ATable: TXLSPivotTable; ARecordIndex: Integer) of object; function TXLSPivotTable.MakeRecordPreview(AWriter: TlxPivotRecordWriter; AFilterOwner: TObject = nil; AFilter: TlxPivotRecordFilter = nil): Integer;
Gelişmiş kayıt geri çağırısı; desteklenen basit ve toplama filtrelemesinden sonra koparılmış önizlemeyi ve sıfır tabanlı bir kayıt indeksini alır; EvaluationSourceTable özgün görünüm kimliğini korur ve dönüş değeri yayılan kayıt sayısıdır
Değiştirme filtresi yalnızca verilen sahibin kayıtlı geri çağırısını ikame eder; diğer sahipler ve dış yüklem etkin kalır, nil olmayan bir değiştirme geri çağırısı nil olmayan bir sahip ister
Açık geçmiş üye temizliği
Removed := Workbook.PurgePivotCacheMissingItems(
Pivot.CacheId, 0);
if Removed < 0 then
raise Exception.Create('The cache member purge was rejected');
TXLSXWorkbook.PurgePivotCacheMissingItems(ACacheId: Integer; ARetainMissingItemsPerField: Integer = 0): Integer, desteklenen bağlı görünümlerin ve Slicer'ların eksiksiz doğrulaması ve yeniden eşlenmesinin ardından kullanılmayan üyeleri kaldırır
Tüm alanlar boyunca kaldırılan toplam paylaşılan öğe sayısını döndürür; başarılı bir işlem yokken sıfır, tanılama 1402 ile birlikte -1 verir; güncel kayıtlar atıf yapılan her üyeyi korur, buna ek olarak alan başına en çok istenen sayıda kullanılmayan üye, en büyük özgün paylaşılan öğe indeksine göre seçilerek tutulur
Tutulan üyeler özgün göreli sıralarını ve nesne tutamaçlarını korur; mantıksal indeksler sıkışır; bağlı alan/öğe tutamaçları, elle gizleme ve ayrıntı bayrakları, etkin sayfa ya da karşılaştırma üyeleri ve Slicer seçimleri kimliklerini korur
Etki alanı bayrakları ve sınırları tutulan etki alanından yeniden hesaplanır; desteklenen alınmış sıkıştırılmış satır/sütun ve sayfa konumları açıkça yeniden eşlenir; genel toplam kukla atıfları ve veri sözde alanı sıra numaraları değişmeden kalır
Sıradan eksiksiz yerel çalışma sayfası önbellekleri desteklenir; gruplanmış, hesaplanan, üye-özellikli, OLAP, dış, eksik ya da belirsiz önbellekler ve desteklenmeyen opak kimlik üst verisi değişiklik öncesinde reddedilir
Etkin bir sayfa ya da karşılaştırma üyesini, seçili bir Slicer alt kümesinin tamamını ya da daha önce boş olmayan etkin bir kesişimi kaldırmak atomik olarak reddedilir; türlü yeniden kurulum sırasında kaybolacak ilkel üye öznitelikleri de reddettirir
Bilinen somutlaştırma sahiplik uzantısı değişmeden kalır, çünkü koordinatları ve türlü değer simgeleri önbellek üyesi indeksi içermez; ilgisiz opak uzantıların güvenli olduğu varsayılmaz
Temizlik; kaynak veriyi yenilemez, çalışma sayfası rapor hücrelerini yeniden yazmaz, kayıt geri çağrılarını çağırmaz ya da MissingItemsLimit üst verisini otomatik uygulamaz; bu işlem açıkça istenmedikçe yenileme yalnızca ekleme yapar
Gelişmiş temizlik koordinasyonu
TXLSPivotCache._PrepareMissingItemPurge, opak bir TXLSPivotCachePurgePlan döndürür; uygulamalar her bağlı görünümün ve Slicer'ın dahil edilmesi için normalde çalışma kitabı cephesini kullanmalıdır
MapItem ve RemainingItemCount önbellek yeniden eşlemesini inceler; StagePivotField bağlı bir alan kaydeder ve hazırlık indeksini döndürür; MapViewItemPosition o alanın serileştirilmiş konum eşlemesini inceler; kaldırılan üyeler -1 ile eşlenir ve RemovedCount toplam kaldırma sayısını bildirir
Validate özgün şemayı, kayıtları, alan/öğe sahiplik kimliklerini ve hazırlanmış görünüm seçimlerini denetler; Commit yeniden doğrular ve ilk canlı alışverişten sonra ayırma ya da geri çağırı olmadan hazırlanmış sahipliği devreder
Plan, koparılmış anlık görüntülerin sahibidir, değiştirilebilir hazırlık önbelleğini gizli tutar ve asla özgün önbelleğin ya da görünüm nesnelerinin sahibi olmaz; planın Destroy'u hazırlığı serbest bırakana dek o özgün nesneleri canlı tutun ve her planı yalnızca bir kez işleme alın
Reddedilen alan hazırlığı o aşamayı geri alır; böylece plan yeniden kullanılabilir; hazırlıktan sonraki desteklenmeyen değişiklikler işleme alınmadan reddedilir