Lucrul cu date devine o abilitate din ce în ce mai importantă la locul de muncă modern.

Datele nu mai sunt domeniul analiștilor și al inginerilor de software. Cu tehnologia actuală, oricine poate lucra cu date pentru a analiza tendințele și pentru a-și informa deciziile.

Un concept fundamental atunci când se lucrează cu date este „interogarea” unui set de date. Aceasta este pentru a pune literalmente întrebări despre un set de date. Un limbaj de interogare este un limbaj software care oferă o sintaxă pentru a pune astfel de întrebări.

Dacă nu aveți nicio experiență în scris întrebări, acestea pot părea puțin intimidante. Cu toate acestea, cu puțină practică, puteți stăpâni elementele de bază.

Iată cum puteți începe Foi de calcul Google.

Limbaj de interogare API Google Visualization

Este posibil să utilizați deja Foi de calcul Google pentru o mare parte din munca dvs. de zi cu zi. Poate că sunteți familiarizat cu utilizarea acestuia pentru a genera diagrame și grafice.

Limbaj de interogare API Google Visualization este magia care funcționează în culise pentru a face acest lucru posibil.

Dar știați că puteți accesa această limbă prin intermediul QUERY() funcţie? Poate fi un instrument puternic pentru lucrul cu foi mari de date.

Există o mulțime de asemănări între limbajul de interogare și SQL.

În ambele cazuri, definiți un set de date de coloane și rânduri și alegeți diferite coloane și rânduri, specificând diverse criterii și condiții.

În acest articol, datele de exemplu vor proveni dintr-un fișier CSV mare care conține rezultate internaționale de fotbal între 1872 și 2019. Puteți descărcați datele din Kaggle.

Într-o nouă foaie Google, încărcați fișierul CSV. Puteți selecta toate datele cu Ctrl + A (sau Cmd + A pe Mac).

Din panglica meniului, alegeți Date> Intervalele denumite … și apelați intervalul selectat de genul „date”. Acest lucru va face mai ușor să lucrați cu.

Acum, sunteți gata să începeți interogarea datelor. Creați o filă nouă în foaia de calcul, iar în celula A1, creați o nouă filă QUERY() formulă.

Obțineți toate meciurile din Anglia

Această primă interogare găsește toate rândurile din setul de date în care Anglia este fie echipa de acasă, fie echipa de deplasare.

QUERY() formula ia cel puțin două argumente. Primul este intervalul numit, care va fi setul de date solicitat. Al doilea este un șir care conține interogarea reală.

=QUERY(data, "SELECT * WHERE B = 'England' OR C = 'England'")
Incepeti interogarea datelor cu acest limbaj de interogare simplu

Să descompunem asta.

SELECT * solicită returnarea tuturor coloanelor din setul de date. Dacă doriți doar coloanele A, B și C, ați scrie SELECT A, B, C.

Apoi, includeți un filtru pentru a găsi doar rândurile în care coloana B sau coloana C conțin echipa 'England'. Asigurați-vă că utilizați ghilimele unice pentru șirurile din interogare. Ghilimelele duble sunt folosite pentru a deschide și a închide interogarea în sine.

Această formulă returnează toate rândurile în care a jucat Anglia. Dacă doriți să căutați o altă echipă, pur și simplu schimbați condiția din filtru.

Numără toate meciurile amicale

În continuare, să numărăm câte meciuri amicale sunt în setul de date.

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

Aceasta folosește limbajul de interogare COUNT() funcţie. Acesta este un exemplu de funcție agregată. Funcțiile agregate rezumă mai multe rânduri într-unul singur.

De exemplu, în acest set de date există 16.716 rânduri în care coloana F este egală 'Friendly'. În loc să returneze toate aceste rânduri, interogarea returnează un singur rând – care le numără în schimb.

1612131609 63 Incepeti interogarea datelor cu acest limbaj de interogare simplu

Alte exemple de funcții agregate includ MAX(), MIN() și AVG(). În loc să returneze toate rândurile care se potrivesc cu interogarea, găsește valorile maxime, minime și medii.

Grupa după turneu

Funcțiile agregate pot face mai mult dacă utilizați un GROUP BY declarație alături de ei. Această interogare află câte meciuri au fost jucate de fiecare tip de turneu.

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

Această interogare grupează datele setate de fiecare dintre valorile din coloana F. Apoi contorizează câte rânduri există în fiecare grup.

1612131609 922 Incepeti interogarea datelor cu acest limbaj de interogare simplu

Poți să folosești GROUP BY pe mai multe coloane. De exemplu, pentru a afla câte meciuri s-au jucat în fiecare țară după turneu, utilizați interogarea de mai jos:

=QUERY(data, "SELECT H, F, COUNT(A) GROUP BY H, F")
1612131610 975 Incepeti interogarea datelor cu acest limbaj de interogare simplu

Să încercăm o filtrare mai avansată.

Obțineți toate meciurile Anglia vs Germania

Puteți specifica o logică de filtrare mai complexă folosind AND și OR Cuvinte cheie. Pentru lizibilitate, vă poate ajuta să utilizați paranteze în jurul fiecărei părți a filtrului.

De exemplu, pentru a găsi toate meciurile dintre Anglia și Germania:

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

Acest filtru are două criterii – unul în care Anglia este echipa gazdă și Germania sunt în deplasare, iar celălalt invers.

1612131611 901 Incepeti interogarea datelor cu acest limbaj de interogare simplu

Utilizarea validării datelor facilitează alegerea oricăror două echipe din setul de date.

Apoi, puteți scrie o interogare care utilizează valorile diferitelor celule din filtrul său. Nu uitați să utilizați ghilimele simple pentru identificarea șirurilor din interogare și ghilimele duble pentru a deschide și închide diferite bucăți ale interogării.

=QUERY(data, "SELECT * WHERE (B = '"&B1&"' AND C = '"&B2&"') OR (C = '"&B1&"' AND B ='"&B2&"')")
1612131611 841 Incepeti interogarea datelor cu acest limbaj de interogare simplu

Funcțiile și filtrele agregate fac instrumente puternice atunci când sunt utilizate în combinație. Odată ce vă simțiți confortabil cu modul în care funcționează, puteți începe să căutați tot felul de tendințe interesante în setul de date.

De exemplu, interogarea de mai jos găsește obiectivele medii pe joc, în fiecare an începând cu 1900.

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

Dacă trasați rezultatul interogării ca un grafic liniar, puteți începe imediat să vedeți tendințele în timp.

Ordonarea rezultatelor

Uneori, nu sunteți interesat să găsiți toate rândurile potrivite într-un set de date. Adesea, veți dori să le sortați în funcție de anumite criterii. Poate că doriți doar să găsiți primele zece înregistrări.

Această interogare găsește primele zece meciuri cu cele mai mari punctaje din setul de date.

=QUERY(data, "SELECT * ORDER BY (D+E) DESC LIMIT 10")
1612131612 880 Incepeti interogarea datelor cu acest limbaj de interogare simplu

Observați ORDER BY afirmație. Aceasta sortează rândurile în funcție de coloanele specificate. Aici, interogarea sortează rezultatul după numărul de goluri marcate în joc.

DESC cuvântul cheie indică sortarea în ordine descrescătoare ( ASC cuvânt cheie i-ar fi sortat în ordine crescătoare).

În cele din urmă, LIMIT cuvântul cheie restricționează ieșirea la un număr dat de rânduri (în acest caz, zece).

Se pare că au existat câteva jocuri destul de unilaterale în Oceania!

Ce orașe au găzduit cele mai multe meciuri de Cupa Mondială?

Și acum, pentru un ultim exemplu, pentru a aduce totul împreună și pentru a vă pune imaginația în practică.

Această interogare găsește primele zece orașe care au găzduit cele mai multe meciuri ale Cupei Mondiale FIFA.

=QUERY(data, "SELECT G, COUNT(A) WHERE F = 'FIFA World Cup' GROUP BY G ORDER BY COUNT(A) DESC LIMIT 10")
1612131612 808 Incepeti interogarea datelor cu acest limbaj de interogare simplu

Acum e rândul tău

Sperăm că ați găsit util acest articol. Dacă sunteți confortabil cu logica din fiecare exemplu, atunci sunteți gata să încercați SQL real.

Aceasta va introduce concepte precum JOINS, interogări imbricate și funcții WINDOW. Când le stăpânești, puterea ta de a manipula date va trece prin acoperiș.

Există o serie de locuri pentru a începe cu învățarea SQL. Încercați exemple interactive la w3schools!