وثائق HotXLS

حقول Pivot المحسوبة الأصلية والعناصر المملوكة للـ cache

الحساب من مجاميع السياق

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

مثلًا، سجلان بقيمتي Amount/Units قدر 10/1 و30/9 ينتجان نتيجة حقل محسوب أصلي قدرها 40/10 = 4، ويقيّم الإجمالي الكلي مجاميع تبعياته الخاصة بدلًا من جمع النسب المعروضة

تقيّم العناصر المحسوبة مراجع الأعضاء في كل سياق ورقة كامل، بما يشمل محورَي الصفوف والأعمدة الآخرين؛ وتشمل المجاميع الفرعية والإجماليات الكلية إسهامات الأعضاء الناتجة، فبند النسبة قد يسهم بمجموع نسب أوراقه

العضو المخفي يدويًا يبقى متاحًا عندما يشير إليه عنصر محسوب آخر، بينما يبقى إسهامه الخاص خارج الإجماليات المعروضة؛ فمن أجل A=40 وB=60، يظل إخفاء A يعطي Combined=A+B قيمة 100 ويشمل Combined في الإجمالي الكلي المرئي

عند تعايش الحقول والعناصر المحسوبة، تحدّث إسهامات العناصر أولًا مجاميعَ حقول قاعدة البيانات المشار إليها، ثم يقيّم الحقل المحسوب تلك المجاميع السياقية المحدَّثة

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

تُقيَّم تبعية عضو محسوب غير محلولة عندما يُشار إليها، بما يشمل تبعية معرَّفة لاحقًا في ذلك الترتيب؛ والعضو المحسوب سلفًا في خطوة سابقة يحتفظ بقيمة تقاطعه الحالية عندما تشير إليه صيغة أخرى

تتجاهل مجاميع الحقول الأصلية قيم المصدر المنطقية والنصية، وتحتفظ بالقيم العددية والتواريخ، وتنشر أخطاء المصدر محددة النوع؛ وIF وIFERROR الكسولتان تستطيعان معالجة خطأ دون تقييم فرع غير مستخدم

ملكية الـ cache والربط

الإعلان العامالعقد
TXLSPivotCacheCalculatedItemتعريف عضو محسوب أصلي مملوك للـ cache؛ احصل عليه عبر الـ cache المالك وأبقِ الـ cache حيًّا أثناء استخدام الكائن المستعار
TXLSPivotCacheCalculatedItem.FieldIndex: Integerهوية حقل cache مبنية على الصفر للقراءة فقط
TXLSPivotCacheCalculatedItem.ItemIndex: Integerهوية عضو مشترك مبنية على الصفر داخل FieldIndex للقراءة فقط
TXLSPivotCacheCalculatedItem.Formula: WideStringصيغة عضو أصلية للقراءة والكتابة؛ وضبطها يغيّر النموذج، بينما يتحقق العرض أو الربط الصريح من البنية ودورات التبعيات قبل الحساب
TXLSPivotCacheCalculatedItem.Supported: Booleanتوافر هوية المساحة المفككة للقراءة فقط، لا ضمانًا بأن كل تركيبة صيغة أو عرض يمكن تقييمها
TXLSPivotCacheCalculatedItem.RawXml: WideStringXML محفوظ للقراءة فقط لتعريف عنصر محسوب غير مدعوم؛ والتعريفات محددة النوع المعروفة تستخدم سلسلة فارغة
TXLSPivotCache.AddCalculatedItem(AFieldIndex, AItemIndex: Integer; const AFormula: WideString): TXLSPivotCacheCalculatedItemينشئ تعريفًا محدد النوع مدعومًا لعضو قائم، رافضًا الهويات غير الصالحة أو الصيغة الفارغة أو هوية الهدف المكررة؛ والكائن المعاد يعود للـ cache
TXLSPivotCache.FindCalculatedItem(AFieldIndex, AItemIndex: Integer): TXLSPivotCacheCalculatedItemيعيد التعريف المطابق المستعار أو nil
TXLSPivotCache.CalculatedItemCount: Integerعدد التعريفات المحفوظة المدعومة أو غير المدعومة للقراءة فقط
TXLSPivotCache.CalculatedItems[Index: Integer]: TXLSPivotCacheCalculatedItemوصول مستعار مبنٍ على الصفر للقراءة فقط إلى قائمة التعريفات
TXLSPivotCache.ClearCalculatedItemsيحرر التعريفات المملوكة ويبطل المقابض المستعارة؛ وهو لا يزيل الأعضاء المشتركين ولا يُرسي اكتمال استعلام الـ cache
TXLSPivotCache.MoveCalculatedItem(AIndex, ANewIndex: Integer)ينقل تعريفًا قائمًا بين مواضع مبنية على الصفر في ترتيب الحل الأصلي مع الحفاظ على هوية كائنه المستعار؛ والمواضع غير الصالحة تثير EArgumentOutOfRangeException دون نقل التعريفات
TXLSPivotCache._AddUnsupportedCalculatedItem(const ARawXml: WideString)خطاف حفظ موجَّه للمحلل يحتفظ بـ XML غير معروف ويعلّم نموذج استعلام الـ cache غير مكتمل
TXLSPivotCache.Assign(Source: TXLSPivotCache)ينسخ التعريفات والحقول والأعضاء المشتركين وفهارس السجلات وسياق نظام التواريخ نسخًا عميقًا؛ وتبقى مقابض المصدر مستقلة، وإسناد الـ cache نفسه إليه آمن
TXLSPivotTable.BindCalculatedItemsToCacheيتحقق من العناصر المحسوبة المؤلَّفة في العرض على cache منفصل ويربطها، ثم يلحق الأعضاء والتعريفات المشتركة الجديدة بالـ cache الحي؛ والفشل يترك هويات الأعضاء والتعريفات دون تغيير، بينما تبقى مقابض الحقول والأعضاء القائمة صالحة

العنصر المؤلَّف في العرض المنشأ بـ TXLSPivotField.AddCalculatedItem يحتاج BindCalculatedItemsToCache صريحًا قبل التجسيد الأصلي أو إعادة البناء الأصلي محدد النوع؛ والاستيراد لتعريف cache أصلي مدعوم يزود تلك الملكية سلفًا

يربط ربط الـ cache كل عرض يشاركه، فاستدعه بوصفه عملية تأليف واحتفظ بالمقابض المستعارة فقط حتى تُمسح القائمة المقابلة أو تُسند أو تُدمَّر

مرشحات الأعضاء وتحويلات العرض

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

تستطيع مقارنة القيمة اختيار قياس محسوب؛ ويقيّم كل عضو مرشَّح ذلك القياس من مجاميع تبعيات سياقه، بدلًا من جمع نسب سجلات المصدر أو معاملة الصيغة عمود سجل cache

تدعم نتائج العناصر المحسوبة كذلك تحويلات ShowDataAs المصمَّمة، بما يشمل النسب المئوية والفهرس والفروق والمجاميع الجارية ونسب المجاميع الجارية والرتب؛ وتبقى الأعضاء المخفيون خارج تسلسلات الجري والرتب المرئية، بينما تحتفظ مراجع الصيغ بقيمها الأصلية

الإعلان العامالعقد
TXLSPivotFilter.DataFieldIsMeasureIndex: Booleanتختار نطاق هوية DataField؛ وFalse يحتفظ بهوية حقل cache المبنية على الصفر القائمة، بينما True يحدد موضع قياس بيانات معروض مبنيًا على الصفر ويُضبط عند استيراد iMeasureFld الأصلي
TXLSPivotFilter.SourceOrder: Integerترتيب عام مبني على الصفر للقراءة والكتابة محفوظ من عنصر الفلاتر الأصلي، وافتراضه ‎-1 عند الغياب؛ ويستخدم الحساب المحلي والكتابة محددة النوع EvalOrder غير السالبة أولًا، ثم SourceOrder، ثم ترتيب الحقول والقوائم المستقر

يحوّل الكتابة الأصلية محددة النوع هوية حقل cache إلى موضع القياس المعروض عندها؛ وحقل cache تستخدمه قياسات بيانات متعددة يحتاج موضع قياس صريحًا، لأن هوية تجميعه وعرضه ستكون ملتبسة غير ذلك

يستطيع Excel حفظ الفلاتر النشطة بـ evalOrder=-1 مع الحفاظ على ترتيب تقييمها عبر تسلسل عنصر الفلاتر؛ ويحفظ الاستيراد والاستنساخ وإعادة البناء محددة النوع ذلك التسلسل بدلًا من معاملة تلك الفلاتر غير نشطة

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

المعاينة والاستعلامات وأنظمة التواريخ

function TXLSPivotTable.MakePreview(AWriter: TlxPivotResultWriter;
  ALayoutWriter: TlxPivotLayoutWriter;
  AUseNativeGrandTotals: Boolean = False;
  ABudget: TlxPivotQueryBudget = nil;
  ADateSystem: TXLSPivotDateSystem = xlpdsCache): Integer;

function TXLSPivotTable.GetDataValue(const ADataField: WideString;
  const AConstraints: TXLSPivotDataConstraints;
  ABudget: TlxPivotQueryBudget; out AValue: Variant;
  ADateSystem: TXLSPivotDateSystem = xlpdsCache): Boolean;

يستخدم MakePreview بـ AUseNativeGrandTotals=True جدولًا وcache منفصلين، بما يشمل المجاميع الأصلية التامة وهويات العناصر المحسوبة؛ ويحتفظ Make العادي وMakePreview الافتراضي بسلوك الحساب القائم على السجلات

يستخدم GetDataValue المجاميع السياقية الأصلية عندما يملك الـ cache حقولًا أو عناصر محسوبة، ويشارك GETPIVOTDATA مسار الاستعلام ذاك؛ وأي من العمليتين لا يحدّث بيانات المصدر ولا يعيد حساب صيغ ورقة العمل المفحوصة ولا يكتب خلايا التقرير

الإعلان العامالعقد
TXLSPivotCache.Date1904: Booleanسياق نظام تواريخ المصدر للقراءة والكتابة للحسابات الأصلية المستقلة؛ وافتراضه False ويُربط أثناء استيراد Classic وXLSX وإنشاء cache ورقة العمل وأثناء نسخ cache لـ XLSX
TXLSPivotDateSystemاختيار نظام تاريخ محدد النوع للمعاينات والاستعلامات الأصلية المنفصلة
xlpdsCacheاستخدم سياق Date1904 المحفوظ للـ cache دون تغييره
xlpds1900أسقط نظام التاريخ 1900 في الحساب المنفصل
xlpds1904أسقط نظام التاريخ 1904 في الحساب المنفصل
TryXLSXMakeNativePivotLayout(...; ADateSystem: TXLSPivotDateSystem = xlpdsCache): Booleanمساعد التخطيط الأصلي الأدنى يقبل اختيار نظام التاريخ المنفصل نفسه بعد معاملَي الإخراج ResultXml وReason
TXLSGetDate1904 = function: Boolean of objectنداء عكسي لبيانات المقيّم الوصفية يقرأ نظام تاريخ المصنف المالك الحالي
TXLSCalculator.OnGetDate1904: TXLSGetDate1904نداء عكسي مستعار اختياري يستخدمه GETPIVOTDATA؛ وnil يستخدم سياق الـ cache، بينما يزود مقيّمات المصنفات وعروضها للقراءة فقط الإعدادَ الحالي للمصنف

على المستدعين المستقلين تزويد سياق Date1904 الصحيح للـ cache أو اختيار نظام تاريخ صريح؛ ويُسقط التجسيد الأصلي المملوك للمصنف واستعلامات الصيغ الإعدادَ الحالي للمصنف دون تعديل الـ cache الحي

تبقى قيم مصادر التواريخ قيم TDateTime مطلقة في الـ cache، بينما تستخدم الصيغ الرقمية الأصلية أرقام تسلسل تواريخ Excel؛ ويطرح نظام 1904 عدد 1462 يومًا من كل قيمة تاريخ، ومعالجة التحويل لـ 1900 تتعامل مع التواريخ القابلة للتمثيل قبل مارس 1900

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

الميزانيات والمدخلات غير المدعومة

يتسلم نداء TlxPivotQueryBudget الاختياري زيادات العمل وتقدير الذاكرة الحالي، بما يشمل اللقطة المنفصلة المقترحة وتخزين الصيغ؛ وFalse يجهض بـ EXLSPivotQueryBudget وتنتشر استثناءات النداء

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

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

يدعم محلل الصيغ الثوابت العددية وأسماء الحقول والأسماء المقتبسة وأسماء الأعضاء المؤهلة بالحقل والحساب والمقارنات والنسبة المئوية وABS وSQRT وPOWER وROUND وMIN وMAX وSUM وIF وIFERROR وAND وOR وPI؛ وتُرفض الدوال غير المعروفة ومراجع الخلايا والمصفوفات والأسماء غير المرتبطة بدلًا من تزويد قيم مخمَّنة

تتطلب الحقول المحسوبة الأصلية قياسات بيانات SUM ولا يمكن أن تكون محاور صفوف أو أعمدة أو صفحات؛ وتتطلب العناصر المحسوبة تسميات سلاسل محفوظة في حقول cache غير مجمَّعة ومجاميع فرعية تلقائية أو SUM وقياسات SUM وهوية مساحة العضو الواحد المدعومة

تُرفض صراحةً دوال الصيغ غير المعروفة وarea fieldPosition غير الصفري وبيانات المساحة الوصفية غير المعروفة أو المشوهة وهياكل قياس الفلاتر الملتبسة وتحويلات العرض الأساسية والموسعة النشطة تبادليًا؛ وهذه القيود لا تحوّل تعريفًا غير مدعوم إلى عنصر عادي

يدعم الترشيح التجميعي المتأخر للأعضاء المحسوبين مقارنات القيم المصمَّمة؛ وتتطلب تنويعات فلاتر العدّ والنسبة والمجموع القديمة وبيانات Top n غير المصمَّمة نموذج اختيار أصليًا مدعومًا وترفض بدلًا من استبدال مقارنات سجلات المصدر

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

تشمل تعريفات Pivot cache الدلالية هوية العنصر المحسوب وصيغته وسياق نظام التاريخ والحمولات المنفصلة المحدودة؛ وتبقى الامتدادات الأصلية غير المتاحة خطأً دلاليًا صريحًا