HotXLS Belgeleri

İşlemsel Pivot önbelleği yenileme

Sürüm 2.384.92; yerel dikdörtgen, tanımlı ad ve tablo Pivot kaynaklarını mevcut alan nesnelerini, paylaşılan öğe nesnelerini ya da mantıksal üye indekslerini değiştirmeden yeniler; önbelleği paylaşan tüm PivotTable görünümleri aynı üyelere atıf yapmaya devam eder

Çalışma kitabı yenilemesi

Workbook.Recalculate;
if Workbook.RefreshPivotCache(Pivot.CacheId) <> 1 then
  raise Exception.Create('Pivot cache refresh failed');

TXLSXWorkbook.RefreshPivotCache, başarılı bir yenileme sonrasında 1; önbellek, kaynak, şema ya da kaynak değerleri yenilenemediğinde -1 döndürür; güncel hücre değerlerini okur, bu yüzden kaynak formüllerin değerlendirilmesi gerekiyorsa önce çalışma kitabını yeniden hesaplayın

Dikdörtgen bir kaynak; mevcut bir yerel çalışma sayfasını ve bir başlık satırını kullanır; SourceFirstRow, SourceFirstCol, SourceLastRow ve SourceLastCol kapsayıcı 1 tabanlı koordinatlar kullanır ve ilk satır alan adlarını sağlar

Tanımlı ad ve tablo kaynakları

SourceIsNamedRange=True olduğunda SourceName; bir tanımlı adı, benzersiz bir tablo adını ya da görünen adı tanımlar; yenileme ve somutlaştırma, önbellekte saklanan kaynak kimliğini korurken her çağrıda güncel geometrisini çözümler

SourceRangeSheet, yerel bir tanımlı ad için çalışma sayfası bağlamını sağlar; bu kapsam, aynı yazıma sahip çalışma kitabı adına göre önceliklidir; aksi hâlde çözümleme, ilgisiz bir yerel ad seçmeden çalışma kitabı kapsamını kullanır

Tanımlı ad, açıkça çalışma sayfası nitelemeli tek bir mutlak dikdörtgen içermelidir; tırnaklı ve Unicode çalışma sayfası adları desteklenir; göreli başvurular, birleşimler, takma adlar, formüller, dış başvurular ve belirsiz ad/tablo çakışmaları değişiklik öncesinde reddedilir

Bir tablo başlık satırını korumalıdır; kayıtlar tablonun güncel kapsamını izler ve gerçek toplam satırını hariç tutar; çakışma denetimleri toplamları dahil tablonun tamamını korur; yalnızca başlık içeren tablo sıfır kayıt sağlar

Fiziksel toplam üyeliği saklanan totalsRowCount değerini izler; değerin olmaması sıfır demektir; yalnızca toplam arayüzü ipucu bir veri satırını kaldırmaz ve kaydetme gerçek üyeliği açıkça yazar

Girilmiş bir toplam satırı için geçerli sütun toplamları üst verisini ve çalışma sayfası içeriğini ColumnTotalsRowLabels, ColumnTotalsRowFunctions ve ColumnTotalsRowFormulas üzerinden sağlayın; TotalsRowShown=True atamak toplam formülleri oluşturmaz ya da hücre değerlerini zorlamaz

Çalışma sayfası taşımaları yerel ad kapsamını korur; çalışma sayfası adlarının değişmesi desteklenen yerel başvuruları ve Pivot kaynak bağlamını güncellerken ilgisiz dış başvuruları ve opaktan alınmış önbellek XML'ini korur; tanımlı ad kaydetme, bellek içi formülü değiştirmeden isteğe bağlı baştaki formül eşittir işaretini kaldırır

Başlıklar, mevcut veritabanı alanlarını büyük/küçük harfe duyarsız biçimde adla eşler; kaynak sütunlarının yeniden sıralanması mantıksal alan indekslerini korur; yinelenen, adı değişmiş, eksik ya da fazla kaynak alanları reddedilir; boş başlıklar mevcut FieldN yedek adını kullanır

Boş kaynak hücreler, çalışma sayfası hücre koleksiyonuna eklenmeden boş kalır; yalnızca başlık içeren kaynaklar geçmiş üyeleri korurken sıfır kayıt üretir

Kararlı üyeler ve paylaşılan görünümler

Mevcut paylaşılan öğeler indekslerini ve nesne kimliklerini korur, yeni türlü değerler etki alanına eklenir; kaynak üyelerini yeniden sıralamak, kaldırmak ve sonra yeniden eklemek; bu üyeleri zaten tanımlayan gizli öğeleri, sayfa seçimlerini, taban öğe atıflarını ve açık grup eşlemelerini korur

Tek bir önbelleği paylaşan tüm görünümler yenilenen kayıtları görür; olmayan geçmiş üyeler önbellek etki alanında kalır ama tek başına toplama satırı oluşturmaz, çünkü TXLSPivotTable.Make sonuçları güncel kayıtlardan kurar

Geçmiş üyeler MissingItemsLimit değerinden bağımsız olarak tutulur; bu yenileme yolu eksik üyeleri temizlemez, tutulan üye sınırı dayatmaz ya da seçim indekslerini yeniden numaralandırmaz

Sayısal, tarih, Boolean, metin, boş ve gösterilebilir hata değerleri türlerini yenileme ve XLSX kaydetme boyunca korur; paylaşılan öğe içerik bayrakları ve gösterilebilir sınırlar, tutulan ve yeni eklenen etki alanından yeniden hesaplanır

Kaydetme, yenilenen görünüm üye listelerini sondaki ara toplam öğelerinden önce tamamlar; mevcut sırayı, gizli bayraklarını ve alınmış düzen uzantılarını korur; sayfa seçimleri mantıksal önbellek üyeleri ile her görünümde saklanan konumlar arasında eşlenir, böylece yeniden sıralanmış üye listeleri yeniden açtıktan sonra aynı üyeyi seçer

Hesaplanan ve gruplanmış alanlar

Hesaplanan alanlar kaynak sütunlarını tüketmez; adları, formülleri ve paylaşılan öğe etki alanları kullanılabilir kalır, yenilenen her kayıt bu alanlar için boş bir yer tutucuyla başlar; Make, desteklenen hesaplanan formülleri güncel kaynak değerlerinden değerlendirir

XLSX önbellek kayıtları yalnızca veritabanı alanlarını saklar; kaydetme ve yeniden açma, hesaplanan alanlar veritabanı alanlarının arasında olsa bile kaynak sütunu hizalamasını korur

Kaynak alan üzerinde sayısal ve tarih gruplandırması yeni üyeler kabul edebilir; açık ayrık gruplandırma yeniden sıralanmış mevcut üyeleri kabul eder ama açık eşlemesi olmayan yeni üyeyi reddedir ve önceki önbelleğin tamamını korur

Sürüm 2.384.94, doğrulanmış taban/ebeveyn bağlantılarından desteklenen sabit türetilmiş gruplanmış alanları yeniden kurar; otomatik etki alanı genişlemesi, eşlenmemiş ayrık üyeler ve üye-özellik alanları işlemsel olarak reddedilir; dış ve OLAP kaynakları yerel kaynak sözleşmesinin dışında kalır; bkz. gruplanmış önbellek sınırları

Atomik güncellemeler ve geri çağırı yenilemesi

Kaynak doğrulaması, okuma, tür dönüşümü, kayıt ayırma ve üye arama, koparılmış hazırlık verisi içinde tamamlanır; başarısızlık, canlı alan ve öğe tutamaçlarını, kayıtları, üst veriyi, ham yeniden oynatma durumunu ve tüm paylaşılan görünümleri eksiksiz bırakır

Başarı, kayıt ve arama tamponlarını değiştirir, ham önbellek yeniden oynatmayı devre dışı bırakır, RefreshedDate değerini günceller ve RefreshOnLoad=False atar; kaydetme, önceki ham gösterimini yeniden oynatmak yerine yenilenmiş türlü önbelleği kullanır

Bağımsız ya da Classic destekli kod, aynı hazırlık uygulamasını TXLSPivotCache.RefreshFromSource üzerinden kullanabilir; okuyucusu 1 tabanlı kaynak koordinatları alır ve Variant döndürür; doğrulama ya da okuyucu başarısızlığı istisna fırlatır

TlxPivotSourceCellValue = function(ARow, ACol: Integer): Variant of object;
procedure TXLSPivotCache.RefreshFromSource(AValueReader: TlxPivotSourceCellValue);
procedure TXLSPivotCache.RefreshFromSource(AValueReader: TlxPivotSourceCellValue;
  AFirstRow, AFirstCol, ALastRow, ALastCol: Integer);

Tek bağımsız değişkenli aşırı yükleme, önbellekte somut bir yerel dikdörtgen ister; açık sınırlı aşırı yükleme, önbelleğin adlandırılmış ya da tablo kaynak kimliğini değiştirmeden çağıranın çözümlediği yerel bir dikdörtgeni okur ve kimliği doğru çözümleme sorumluluğu çağırandadır

Önbellek yenilemesi önbellek verisini günceller; uygulamalar kendi sonuç yazıcılarıyla Make çağırabilir ya da korumalı çalışma sayfası çıktısı için MaterializePivotTable kullanabilir; türlü non-OLAP Pivot Slicer seçimi desteklenen alınmış bağlamalar için sunulur, eksiksiz yerel düzen ise ayrı bir iş olarak kalır