وثائق HotXLS

تحديث Pivot cache المعاملاتي

يحدّث الإصدار 2.384.92 مصادر Pivot المحلية المستطيلة والمسماة والجداولية دون تغيير كائنات الحقول القائمة أو كائنات العناصر المشتركة أو الفهارس المنطقية للأعضاء؛ وتبقى كل عروض PivotTable التي تشارك الـ cache نفسه إشارةً إلى الأعضاء ذاتها

تحديث المصنف

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

يعيد TXLSXWorkbook.RefreshPivotCache‏ 1 بعد تحديث ناجح و-1 عندما يتعذر تحديث الـ cache أو المصدر أو المخطط أو قيم المصدر؛ وهو يقرأ قيم الخلايا الحالية، لذا أعد حساب المصنف أولًا عندما تحتاج صيغ المصدر إلى تقييم

يستخدم المصدر المستطيل ورقة عمل محلية قائمة وصف رأس؛ وتستخدم SourceFirstRow وSourceFirstCol وSourceLastRow وSourceLastCol إحداثيات قائمة على الواحد شاملةً، ويزود الصف الأول أسماء الحقول

مصادر الأسماء المعرَّفة والجداول

عندما يكون SourceIsNamedRange=True يحدد SourceName اسمًا معرَّفًا أو اسم جدول فريدًا أو اسم عرض؛ ويحل التحديث والتجسيد هندستَه الحالية عند كل استدعاء مع الحفاظ على هوية المصدر المخزنة في الـ cache

يزود SourceRangeSheet سياق ورقة العمل لاسم معرَّف محلي؛ ويتقدم ذلك النطاق على اسم مصنف بنفس التهجئة، وإلا فالحل يستخدم نطاق المصنف دون اختيار اسم محلي غير ذي صلة

يجب أن يحتوي الاسم المعرَّف مستطيلًا مطلقًا واحدًا مؤهلًا صراحةً بورقة عمل؛ وتدعم أسماء أوراق العمل المقتبسة وUnicode، بينما تُرفض المراجع النسبية والاتحادات والأسماء المستعارة والصيغ والمراجع الخارجية وتضارب الأسماء والجداول الملتبس قبل التعديل

يجب أن يحتفظ الجدول بصف رأس؛ وتتبع السجلات مداه الحالي وتستثني صف الإجماليات الفعلي، بينما تحمي فحوص التضارب الجدول كاملًا بما يشمل إجمالياته؛ والجدول ذو الرأس فقط يزود صفر سجلات

تتبع عضوية الإجماليات الفيزيائية قيمة totalsRowCount المخزنة التي يعني غيابها الصفر؛ وتلميحة واجهة الإجماليات وحدها لا تزيل صف بيانات، ويكتب الحفظ العضوية الفعلية صراحةً

لصف إجماليات مكتوب، زوّد بيانات أعمدة الإجماليات الوصفية الصالحة ومحتوى ورقة العمل عبر ColumnTotalsRowLabels وColumnTotalsRowFunctions وColumnTotalsRowFormulas؛ وضبط TotalsRowShown=True لا ينشئ صيغ إجماليات ولا يجبر قيم الخلايا

تحفظ نقلات أوراق العمل نطاق الاسم المحلي، وتحدّث إعادة تسمية أوراق العمل المراجع المحلية المدعومة وسياق مصدر Pivot مع الحفاظ على المراجع الخارجية غير ذات الصلة وXML الـ cache المستورد المعتم؛ ويزيل حفظ الأسماء المعرَّفة علامة يساوي الاختيارية في بداية الصيغة دون تغيير الصيغة في الذاكرة

تطابق الرؤوس حقول قواعد البيانات القائمة بالاسم دون حساسية لحالة الأحرف؛ وإعادة ترتيب أعمدة المصدر تحفظ الفهارس المنطقية للحقول، بينما تُرفض حقول المصدر المكررة أو المعاد تسميتها أو المفقودة أو الزائدة؛ والرؤوس الفارغة تستخدم البديل القائم FieldN

تبقى خلايا المصدر الفارغة فارغة دون إضافتها إلى مجموعة خلايا ورقة العمل؛ والمصادر ذات الرأس فقط تنتج صفر سجلات مع الاحتفاظ بالأعضاء التاريخيين

الأعضاء المستقرون والعروض المشتركة

تحتفظ العناصر المشتركة القائمة بفهارسها وهويات كائناتها، وتُلحق القيم الجديدة محددة النوع بالنطاق؛ وإعادة ترتيب أعضاء المصدر وإزالتهم ثم إعادة إدخالهم لاحقًا تحفظ العناصر المخفية واختيارات الصفحات ومراجع العناصر الأساسية وتعيينات المجموعات الصريحة التي تحدد أولئك الأعضاء سلفًا

ترى كل العروض التي تشارك cache واحدًا السجلاتَ المحدَّثة؛ ويبقى الأعضاء التاريخيون الغائبون في نطاق الـ cache لكنهم لا ينشئون صفوف تجميع من تلقاء أنفسهم، لأن TXLSPivotTable.Make يبني النتائج من السجلات الحالية

يُحتفظ بالأعضاء التاريخيين بصرف النظر عن MissingItemsLimit؛ ومسار التحديث هذا لا يطهّر الأعضاء المفقودين ولا يفرض حدًا للأعضاء المحتفظ بهم ولا يعيد ترقيم فهارس الاختيار

القيم العددية والتواريخ والمنطقية والنصية والفارغة وقيم الأخطاء القابلة للتمثيل تحتفظ بأنواعها عبر التحديث وحفظ XLSX؛ وتُحسب أعلام محتوى العناصر المشتركة وحدود التمثيل من النطاق المحفظ والمُلحق حديثًا

يُكمل الحفظ قوائم أعضاء العروض المحدَّثة قبل عناصر المجاميع الفرعية الختامية مع الحفاظ على الترتيب القائم وأعلام الإخفاء وامتدادات التخطيط المستوردة؛ وتُعاَّن اختيارات الصفحات بين أعضاء الـ cache المنطقيين والمواضع المخزنة في كل عرض، فما زالت قوائم الأعضاء المعاد ترتيبها تختار العضو نفسه بعد إعادة الفتح

الحقول والمجموعات المحسوبة

لا تستهلك الحقول المحسوبة أعمدة المصدر؛ وتبقى أسماؤها وصيغها ونطاقات عناصرها المشتركة متاحة، بينما يبدأ كل سجل محدَّث بعنصر نائب فارغ لتلك الحقول؛ ويقيّم Make صيغ الحساب المدعومة من قيم المصدر الحالية

تخزن سجلات cache لـ XLSX حقول قاعدة البيانات فقط؛ ويحفظ الحفظ وإعادة الفتح تواءم أعمدة المصدر حتى عندما تتخلل الحقول المحسوبة حقول قاعدة البيانات

التجميع العددي والتاريخي على حقل مصدر يمكنه قبول أعضاء جدد؛ والتجميع المتقطع الصريح يقبل الأعضاء القائمين معاد الترتيب لكنه يرفض عضوًا جديدًا بلا تعيين صريح، حفاظًا على الـ cache السابق كله

يعيد الإصدار 2.384.94 بناء حقول المجموعات المشتقة الثابتة المدعومة من روابط الأساس/الأصل المتحقق منها؛ ويرفض توسيع النطاق التلقائي والأعضاء المتقطعين غير المعينين وحقول خصائص الأعضاء رفضًا معاملاتيًا، بينما تبقى المصادر الخارجية وOLAP خارج عقد المصادر المحلية؛ راجع حدود الـ cache المجمَّعة

التحديثات الذرية وتحديث النداء العكسي

يكتمل التحقق من المصدر والقراءة وتحويل الأنواع وتخصيص السجلات وبحث الأعضاء في بيانات تجهيز منفصلة؛ والفشل يترك مقابض الحقول والعناصر الحية والسجلات والبيانات الوصفية وحالة إعادة التشغيل الخام وكل العروض المشتركة سليمة

يستبدل النجاح مخازن السجلات والبحث، ويعطّل إعادة تشغيل الـ cache الخام، ويحدّث RefreshedDate، ويعيّن RefreshOnLoad=False؛ ويستخدم الحفظ الـ cache محدد النوع المحدَّث بدلًا من إعادة تشغيل تمثيله الخام السابق

يستطيع الكود المستقل أو المدعوم من Classic استخدام تنفيذ التجهيز نفسه عبر TXLSPivotCache.RefreshFromSource؛ ويتسلم قارئه إحداثيات مصدر قائمة على الواحد ويعيد قيمة Variant، بينما يثير فشل التحقق أو القارئ استثناء

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

تتطلب الحمولة ذات الوسيط الواحد مستطيلًا محليًا ملموسًا في الـ cache؛ وتقرأ حمولة الحدود الصريحة مستطيلًا محليًا يحله المستدعي دون تغيير هوية مصدر الاسم أو الجدول للـ cache، ويبقى المستدعيون مسؤولين عن حل تلك الهوية صحيحًا

يحدّث تحديث الـ cache بيانات الـ cache؛ ويستطيع التطبيقات استدعاء Make بكاتب نتائج خاص بها أو MaterializePivotTable لإخراج ورقة عمل محميًا؛ وتحديد Slicer‏ Pivot غير OLAP محدد النوع متاح لارتباطات الاستيراد المدعومة، بينما يبقى التخطيط الأصلي الكامل عملًا منفصلًا