في بعض الأحيان تكون هناك حاجة لتحويل الجدول المتقاطع (المحوري) إلى جدول مسطح. هذا الإجراء يسمى " تقييم البيانات "
لا يحتوي البرنامج LibreOffice Calcc على وظيفة قياسية لتحويل الجداول المحورية إلى " مستوى "، ولكن يمكنك كتابة الإجراء المقابل بنفسك. دعونا نرى كيفية القيام بذلك.
دعونا نلقي نظرة على الصورة أدناه لفهم جوهر المشكلة بشكل أكثر وضوحًا. على اليسار لدينا جدول على شكل مصفوفة (جدول محوري)، وعلى اليمين - جدول عادي ذو أعمدة (جدول مسطح):
عندما تقوم بتوسيع جدول، فإنك تقوم بتفكيك زوج قيمة السمة الذي يمثل تقاطع الأعمدة في جدول المصفوفة وإعادة توجيهها إلى الأعمدة المسطحة في الجدول المسطح:
افتح القائمة Tools - Macros - Edit Macros...، وحدد Module1 وانسخ النص التالي إلى الوحدة:
Sub UnPivotTable ' moonexcel.com.ua Dim oBook As Object Dim oActiveSheet As Object Dim oSelRange As Object Dim oNewSheet As Object Dim i As Long Dim iTopLabelRowCount As Integer Dim iSideLabelColCount As Integer oBook = ThisComponent oActiveSheet = oBook.CurrentController.ActiveSheet oSelRange = oBook.CurrentSelection ' أضف ورقة جديدة oBook.Sheets.insertNewByName("UnPivoted Table",0) oNewSheet = oBook.Sheets(0) ' تحديد حجم الرؤوس iTopLabelRowCount = InputBox(" كم عدد الخطوط في الرأس العلوي؟ ") iSideLabelColCount = InputBox(" كم عدد الأعمدة في الرأس الجانبي؟ ") i = 0 For r = (iTopLabelRowCount + 1) To oSelRange.Rows.Count For c = (iSideLabelColCount + 1) To oSelRange.Columns.Count For j = 1 To iSideLabelColCount oNewSheet.getCellByPosition(j-1, i).Formula = oSelRange.getCellByPosition(j-1, r-1).Formula Next j For k = 1 To iTopLabelRowCount oNewSheet.getCellByPosition(j + k - 2, i).Formula = oSelRange.getCellByPosition(c-1, k-1).Formula Next k oNewSheet.getCellByPosition(j + k - 2, i).Formula = oSelRange.getCellByPosition(c-1, r-1).Formula i = i + 1 Next c Next r End Sub
بعد ذلك، أغلق Macro Editor وارجع إلى ورقة العمل الخاصة بك في LibreOffice Calc. حدد الجدول بأكمله بالرؤوس العلوية واليسرى وقم بتشغيل الماكرو الجديد من خلال القائمة Tools - Macros - Run Macro...
سيقوم الماكرو بإدراج ورقة مسماة جديدة في المصنف الخاص بك
يمكنك أيضًا استخدام الأداة المساعدة "الجدول المحوري (Unpivot)" عن طريق تثبيت الامتداد YLC_Utilities.oxt .
بعد ذلك، ستكون هذه الأداة المساعدة متاحة في جميع الملفات التي سيتم فتحها في LibreOffice Calc.