Почните да испитујете податке помоћу овог једноставног језика упита

Рад са подацима постаје све важнија вештина на савременом радном месту.

Подаци више нису домен аналитичара и софтверских инжењера. Помоћу данашње технологије свако може да ради са подацима како би анализирао трендове и информисао своје доношење одлука.

Основни концепт при раду са подацима је „постављање упита“ скупу података. Ово је буквално постављање питања о скупу података. Језик упита је софтверски језик који пружа синтаксу постављања таквих питања.

Ако немате искуства са писањем упита, они могу изгледати помало застрашујуће. Међутим, уз мало вежбе можете савладати основе.

Ево како можете да започнете у Гоогле табелама.

Језик упита Гоогле АПИ-ја за визуелизацију

Можда већ користите Гоогле табеле за већи део свог свакодневног посла. Можда вам је познато како га користите за генерисање графикона и графикона.

Језик упита Гоогле АПИ за визуелизацију је магија која делује иза кулиса да би то омогућила.

Али да ли сте знали да можете приступити овом језику путем QUERY()функције? То може бити моћан алат за рад са великим листовима података.

Постоји много сличности између језика упита и СКЛ-а.

У оба случаја дефинишете скуп података колона и редова и одабиром различитих колона и редова одређујете различите критеријуме и услове.

У овом чланку примери података потичу из велике ЦСВ датотеке која садржи међународне фудбалске резултате између 1872. и 2019. Податке можете преузети са Каггле-а.

У нову Гоогле табелу отпремите ЦСВ датотеку. Све податке можете одабрати помоћу Цтрл + А (или Цмд + А на Мац-у).

На траци менија одаберите Подаци> Именовани опсези ... и назовите изабрани опсег некако попут 'подаци'. Ово ће олакшати рад са.

Сада сте спремни да започнете испитивање података. Направите нову картицу у табели и у ћелији А1 направите нову QUERY()формулу.

Набавите све мечеве Енглеске

Овај први упит проналази све редове у скупу података где је Енглеска или домаћи или гостујући тим.

QUERY()Формула траје најмање два аргумента. Први је именовани опсег, који ће бити тражени скуп података. Други је низ који садржи стварни упит.

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

Раздвојимо ово.

SELECT *тражи да врати све колоне у скупу података. Да желите само колоне А, Б и Ц, писали бисте SELECT A, B, C.

Даље, укључујете филтер да бисте пронашли само редове у којима колона Б или колона Ц садрже тим 'England'. Обавезно користите једноструке наводнике за низове унутар упита. Двоструки наводници се користе за отварање и затварање самог упита.

Ова формула враћа све редове у којима је играла Енглеска. Ако желите да потражите други тим, једноставно промените стање у филтеру.

Преброј све пријатељске утакмице

Даље, рачунајмо колико је пријатељских мечева у скупу података.

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

Ово користи COUNT()функцију језика упита . Ово је пример агрегатне функције. Збирне функције сумирају многе редове у један.

На пример, у овом скупу података постоји 16.716 редова где је колона Ф једнака 'Friendly'. Уместо да врати све ове редове, упит враћа један ред - који их уместо тога броји.

Други примери агрегатне функције укључују MAX(), MIN()и AVG(). Уместо да врати све редове који се подударају са упитом, уместо тога проналази њихове максималне, минималне и просечне вредности.

Група по турниру

Збирне функције могу учинити више ако GROUP BYуз њих користите наредбу. Овај упит открива колико је мечева одиграно за сваки тип турнира.

=QUERY(data, "SELECT F, COUNT(A) GROUP BY 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кључна реч ограничава излаз на дати број редова (у овом случају десет).

Изгледа да је у Океанији било неких прилично једностраних игара!

Који су градови угостили највише утакмица Светског купа?

А сада још један последњи пример да све спојимо и покренемо машту.

Овим упитом пронађено је десет најбољих градова који су били домаћини највише утакмица ФИФА-иног светског купа.

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

Сада је на тебе ред

Надам се да вам је овај чланак био користан. Ако вам је пријатна логика у сваком примеру, спремни сте да испробате прави СКЛ.

Ово ће представити концепте као што су ЈОИНС, угнијежђени упити и ВИНДОВ функције. Када их савладате, ваша моћ манипулације подацима проћи ће кроз кров.

Постоји низ места за почетак учења СКЛ-а. Испробајте интерактивне примере на в3сцхоолс!