HotXLS Belgeleri

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