ابدأ في الاستعلام عن البيانات باستخدام لغة الاستعلام البسيطة هذه

أصبح العمل مع البيانات مهارة متزايدة الأهمية في مكان العمل الحديث.

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

المفهوم الأساسي عند العمل مع البيانات هو "الاستعلام" عن مجموعة بيانات. هذا حرفيا لطرح أسئلة حول مجموعة من البيانات. لغة الاستعلام هي لغة برمجية توفر بناء جملة لطرح مثل هذه الأسئلة.

إذا لم تكن لديك أي خبرة في كتابة الاستفسارات ، فقد تبدو مخيفة بعض الشيء. ومع ذلك ، مع القليل من الممارسة ، يمكنك إتقان الأساسيات.

إليك كيف يمكنك البدء في جداول بيانات Google.

لغة استعلام Google Visualization API

قد تكون بالفعل تستخدم جداول بيانات Google في الكثير من أعمالك اليومية. ربما تكون معتادًا على استخدامه لإنشاء مخططات ورسوم بيانية.

لغة استعلام Google Visualization API هي السحر الذي يعمل خلف الكواليس لجعل هذا ممكنًا.

لكن هل تعلم أنه يمكنك الوصول إلى هذه اللغة من خلال QUERY()الوظيفة؟ يمكن أن تكون أداة قوية للعمل مع أوراق كبيرة من البيانات.

هناك الكثير من أوجه التشابه بين لغة الاستعلام و SQL.

في كلتا الحالتين ، يمكنك تحديد مجموعة بيانات من الأعمدة والصفوف ، واختيار أعمدة وصفوف مختلفة من خلال تحديد معايير وشروط مختلفة.

في هذه المقالة ، ستأتي البيانات النموذجية من ملف CSV كبير يحتوي على نتائج كرة القدم الدولية بين عامي 1872 و 2019. يمكنك تنزيل البيانات من Kaggle.

في جدول بيانات Google الجديد ، قم بتحميل ملف CSV. يمكنك تحديد جميع البيانات باستخدام Ctrl + A (أو Cmd + A على نظام Mac).

من شريط القائمة ، اختر البيانات> النطاقات المسماة ... واتصل بالنطاق المحدد بشيء مثل "البيانات". سيسهل هذا العمل معه.

الآن ، أنت جاهز لبدء الاستعلام عن البيانات. أنشئ علامة تبويب جديدة في جدول البيانات ، وفي الخلية A1 ، أنشئ QUERY()صيغة جديدة .

احصل على جميع مباريات إنجلترا

يعثر هذا الاستعلام الأول على جميع الصفوف في مجموعة البيانات حيث تكون إنجلترا إما الفريق المضيف أو الفريق الضيف.

و QUERY()صيغة يأخذ اثنين على الأقل من الحجج. الأول هو النطاق المسمى ، والذي سيكون مجموعة البيانات المطلوب الاستعلام عنها. والثاني عبارة عن سلسلة تحتوي على الاستعلام الفعلي.

=QUERY(data, "SELECT * WHERE B = 'England' OR C = 'England'")

دعونا نكسر هذا.

SELECT *يطلب إرجاع جميع الأعمدة في مجموعة البيانات. إذا كنت تريد الأعمدة A و B و C فقط ، فستكتب SELECT A, B, C.

بعد ذلك ، تقوم بتضمين عامل تصفية للعثور على الصفوف فقط حيث يحتوي العمود B أو العمود C على الفريق 'England'. تأكد من استخدام علامات الاقتباس المفردة للسلاسل داخل الاستعلام. تُستخدم علامات الاقتباس المزدوجة لفتح وإغلاق الاستعلام نفسه.

تُرجع هذه الصيغة جميع الصفوف التي لعبت فيها إنجلترا. إذا كنت تريد البحث عن فريق آخر ، فما عليك سوى تغيير الحالة في عامل التصفية.

عد جميع المباريات الودية

بعد ذلك ، دعنا نحسب عدد المباريات الودية في مجموعة البيانات.

=QUERY(data, "SELECT COUNT(A) WHERE F = 'Friendly'")

هذا يجعل استخدام COUNT()وظيفة لغة الاستعلام . هذا مثال على دالة مجمعة. تلخص الدالات التجميعية عدة صفوف في صف واحد.

على سبيل المثال، في هذه المجموعة البيانات هناك 16716 الصفوف حيث يساوي العمود F 'Friendly'. بدلاً من إرجاع كل هذه الصفوف ، يقوم الاستعلام بإرجاع صف واحد - والذي يعدهم بدلاً من ذلك.

تتضمن الأمثلة الأخرى للوظائف التجميعية MAX()، MIN()و AVG(). بدلاً من إرجاع جميع الصفوف المطابقة للاستعلام ، فإنه يبحث عن قيم الحد الأقصى والحد الأدنى والمتوسط ​​بدلاً من ذلك.

تجميع حسب البطولة

يمكن للوظائف التجميعية أن تفعل المزيد إذا استخدمت GROUP BYجملة بجانبها. يكتشف هذا الاستعلام عدد المباريات التي تم لعبها حسب كل نوع دورة.

=QUERY(data, "SELECT F, COUNT(A) GROUP BY F")

يجمع هذا الاستعلام مجموعة البيانات حسب كل قيمة من القيم الموجودة في العمود F. ثم يحسب عدد الصفوف الموجودة في كل مجموعة.

يمكنك استخدامه GROUP BYفي أكثر من عمود. على سبيل المثال ، لمعرفة عدد المباريات التي تم لعبها في كل بلد حسب البطولة ، استخدم الاستعلام أدناه:

=QUERY(data, "SELECT H, F, COUNT(A) GROUP BY H, F")

دعنا نجرب بعض التصفية الأكثر تقدمًا.

احصل على جميع مباريات إنجلترا ضد ألمانيا

يمكنك تحديد منطق مرشح أكثر تعقيدًا باستخدام الكلمات الأساسية ANDو OR. لسهولة القراءة ، يمكن أن يساعد استخدام الأقواس حول كل جزء من الفلتر.

على سبيل المثال ، للعثور على جميع المباريات بين إنجلترا وألمانيا:

=QUERY(data, "SELECT * WHERE (B = 'England' AND C = 'Germany') OR (C = 'England' AND B ='Germany')")

هذا المرشح له معياران - أحدهما يكون إنجلترا هي الفريق المضيف وألمانيا خارج أرضه ، والآخر هو العكس.

يجعل استخدام التحقق من صحة البيانات من السهل اختيار أي فريقين في مجموعة البيانات.

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

=QUERY(data, "SELECT * WHERE (B = '"&B1&"' AND C = '"&B2&"') OR (C = '"&B1&"' AND B ='"&B2&"')")

أبحث عن الاتجاهات

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

على سبيل المثال ، يعثر الاستعلام أدناه على متوسط ​​الأهداف لكل لعبة ، حسب كل عام منذ عام 1900.

=QUERY(data, "SELECT YEAR(A), AVG(D) + AVG(E) WHERE YEAR(A) >= 1900 GROUP BY YEAR(A)")

إذا قمت برسم نتيجة الاستعلام كرسم بياني خطي ، يمكنك البدء فورًا في رؤية الاتجاهات بمرور الوقت.

ترتيب النتائج

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

يجد هذا الاستعلام أعلى عشرة مطابقات من حيث الدرجات في مجموعة البيانات.

=QUERY(data, "SELECT * ORDER BY (D+E) DESC LIMIT 10")

لاحظ ORDER BYالبيان. يقوم هذا بفرز الصفوف وفقًا للأعمدة المحددة. هنا ، يفرز الاستعلام الناتج حسب عدد الأهداف التي تم تسجيلها في اللعبة.

و DESCتشير الكلمة إلى فرز في ترتيب تنازلي (و ASCالكلمة كان فرز لهم في ترتيب تصاعدي).

أخيرًا ، LIMITتقصر الكلمة الأساسية الإخراج على عدد معين من الصفوف (في هذه الحالة ، عشرة).

يبدو أنه كانت هناك بعض الألعاب الجميلة من جانب واحد في أوقيانوسيا!

ما هي المدن التي استضافت أكثر مباريات كأس العالم؟

والآن لنأخذ مثالًا أخيرًا لتجميع كل شيء معًا وتحفيز خيالك.

يبحث هذا الاستعلام عن المدن العشر الأولى التي استضافت معظم مباريات كأس العالم FIFA.

=QUERY(data, "SELECT G, COUNT(A) WHERE F = 'FIFA World Cup' GROUP BY G ORDER BY COUNT(A) DESC LIMIT 10")

حان الآن دورك

نأمل أن تكون قد وجدت هذه المقالة مفيدة. إذا كنت مرتاحًا للمنطق في كل مثال ، فأنت على استعداد لتجربة SQL الحقيقي.

سيقدم هذا مفاهيم مثل JOINS والاستعلامات المتداخلة ووظائف WINDOW. عندما تتقن ذلك ، فإن قدرتك على معالجة البيانات ستنتهي.

هناك عدد من الأماكن للبدء بتعلم SQL. جرب الأمثلة التفاعلية في w3schools!