أنشئ مكتبة برمجة تطبيقات Google يمكنك استخدامها لإزالة الصفوف المكرّرة في بيانات جداول البيانات.
الأهداف
- إعداد النص البرمجي
- شغِّل النص البرمجي.
المتطلبات الأساسية
لاستخدام هذا النموذج، يجب استيفاء المتطلبات الأساسية التالية:
- حساب Google (قد تتطلّب حسابات Google Workspace موافقة المشرف).
- متصفّح ويب يمكنه الوصول إلى الإنترنت
إعداد النص البرمجي
لإنشاء المكتبة، اتّبِع الخطوات التالية:
- سجِّل الدخول إلى حسابك على Google.
- لفتح "أداة تعديل النصوص البرمجية"، انتقِل إلى script.google.com.
- في أعلى يمين الصفحة، انقر على مشروع جديد.
احذف أي رمز في أداة تعديل النصوص البرمجية والصِق الرمز التالي.
انقر على حفظ
.
في أعلى يسار الصفحة، انقر على مشروع بلا عنوان.
أدخِل اسمًا للبرنامج النصي إزالة الصفوف المكرّرة وانقر على إعادة التسمية.
انقر على نشر > عملية نشر جديدة.
بجانب اختيار النوع، انقر على تفعيل أنواع النشر
> المكتبة.
أدخِل وصفًا للمكتبة، مثل إزالة الصفوف المكرّرة. يمكن لأي شخص لديه إذن الوصول إلى المكتبة الاطّلاع على هذا الوصف.
انقر على نشر.
على يمين الصفحة، انقر على إعدادات المشروع
.
ضمن أرقام التعريف، انسخ رقم تعريف النص البرمجي لاستخدامه في خطوة لاحقة.
تشغيل النص البرمجي
لاستخدام مكتبة، يجب أن يكون لديك على الأقل أذونات عرض لمشروع برمجة تطبيقات الخاص بها. بما أنّك أنشأت المكتبة، لديك الأذونات المطلوبة لاستخدامها. إذا أردت السماح للآخرين باستخدام المكتبة، امنحهم إذن بعرض البيانات لمشروع برمجة تطبيقات.
لاستخدام المكتبة، اتّبِع الخطوات التالية:
- افتح جدول بيانات Google يحتوي على بيانات تتضمّن صفوفًا مكرّرة. لاستخدام نموذج جدول بيانات، أنشئ نسخة من جدول بيانات الصفوف المكرّرة النموذجية.
- انقر على الإضافات > برمجة تطبيقات Google.
- بجانب المكتبات، انقر على إضافة مكتبة .
- في قسم رقم تعريف النص البرمجي، ألصِق رقم تعريف النص البرمجي من مشروع برمجة تطبيقات الخاص بالمكتبة الذي نسخته في القسم السابق.
- انقر على بحث.
- في قسم الإصدار، اختَر 1.
- انقر على إضافة.
احذف أي رمز في أداة تعديل النصوص البرمجية والصِق الرمز التالي.
function runLibrary() { Removeduplicaterows.removeDuplicates(); }في القائمة المنسدلة الخاصة بالدالة، اختَر runLibrary.
انقر على تشغيل.
ارجع إلى جدول البيانات للاطّلاع على البيانات المعدَّلة بدون صفوف مكرّرة.
مراجعة الرمز البرمجي
لمراجعة رمز برمجة تطبيقات الخاص بهذا الحلّ، انقر على عرض الرمز المصدر:
عرض رمز المصدر
أولاً، ينفّذ النص البرمجي طلبًا واحدًا إلى جدول البيانات لاسترداد جميع البيانات. يمكنك اختيار قراءة ورقة البيانات صفًا بصف، ولكن عمليات JavaScript تكون أسرع بكثير من التفاعل مع خدمات أخرى، مثل "جداول بيانات Google". كلّما قلّ عدد المكالمات التي تجريها، زادت سرعة العملية. هذا مهم لأنّ الحد الأقصى لمدة تنفيذ كل نص برمجي هو 6 دقائق.
المتغيّر data هو عبارة عن مصفوفة ثنائية الأبعاد في JavaScript تحتوي على جميع القيم في ورقة البيانات. newData هو مصفوفة فارغة يضع فيها البرنامج النصي جميع الصفوف غير المكرّرة.
تتكرّر حلقة for الأولى على كل صف في مصفوفة data الثنائية الأبعاد. بالنسبة إلى كل صف، تختبر الحلقة الثانية ما إذا كان هناك صف آخر يتضمّن بيانات مطابقة موجودة في مصفوفة newData. إذا لم يكن الصف مكررًا، يتم نقله إلى مصفوفة newData.
أخيرًا، يحذف النص البرمجي المحتوى الحالي للورقة ويدرج محتوى مصفوفة newData.
التعديلات
يمكنك تعديل المكتبة بالقدر الذي تريده لتناسب احتياجاتك. يحتوي القسم التالي على تعديل اختياري.
إزالة الصفوف التي تحتوي على بيانات متطابقة في بعض الأعمدة
بدلاً من إزالة الصفوف التي تتطابق تمامًا، قد تحتاج إلى إزالة الصفوف التي تتضمّن بيانات متطابقة في عمود واحد أو عمودَين فقط. لإجراء ذلك، يمكنك تغيير العبارة الشرطية.
في الرمز النموذجي، عدِّل السطر التالي:
if(row.join() == newData[j].join()){ duplicate = true; }
استبدِل السطر بالرمز التالي:
if(row[0] == newData[j][0] && row[1] == newData[j][1]){ duplicate = true; }
يجد البيان الشرطي السابق القيم المكرّرة في كل مرة يتضمّن فيها صفان البيانات نفسها في العمودين الأول والثاني من ورقة البيانات.
المساهمون
تم إنشاء هذا النموذج بواسطة "رومان فيالارد"، وهو خبير مطوّرين معتمد من Google. يمكنك متابعة رومان على Twitter @romain_vialard.
تحتفظ Google بهذا النموذج بمساعدة خبراء التطوير في Google.