Articles

Excel do SQL: dlaczego warto zmienić

Jeśli używasz w pracy aplikacji arkuszy kalkulacyjnych, takich jak Excel lub Arkusze Google, te problemy mogą być ci znane:

  • łatwo jest dokonać przypadkowych zmian w danych
  • trudno jest odtworzyć starą analizę na nowych danych (tyle kroków do zapamiętania!)
  • to powolne z dużymi zestawami danych
  • udostępnianie gigantycznych arkuszy kalkulacyjnych przez e-mail jest kłopotliwe

aplikacje arkuszy kalkulacyjnych są przystępne, wszechobecne i elastyczne. Mogą łączyć komórki, dodawać komentarze, obracać dane, formatować tabele i tworzyć wykresy. Ale z elastycznością wiąże się ryzyko. Mogą one prowadzić do większej pracy, więcej czekania, więcej bólów głowy wersjonowania i mniejszej dokładności. Na szczęście SQL może być szybszy, łatwiejszy i bezpieczniejszy niż Excel. Czytaj dalej, aby dowiedzieć się, czym jest SQL i zobaczyć, dlaczego jest to lepszy sposób manipulowania i analizowania danych.

wady Excela

zacznijmy od praktycznego zastosowania. Spójrz na tę tabelę Pokémonów i ich cechy:

Name Type Weight
bulbasaur grass 15
charmander fire 19
squirtle water 20
pikachu electric 13
oddish grass 12
snorlax normal 1014
mewtwo psychic 269

Suppose that we want to use Excel to filter out everything but the name i typ każdego Pokémona typu trawy w tabeli. W programie Excel musimy użyć instrukcji krok po kroku, aby uzyskać dane:

  • Otwórz tabelę Pokémon
  • Dodaj filtr do kolumny „type”
  • filtr dla type = „grass”
  • usuń wszystkie kolumny z wyjątkiem „name”

w tym momencie edytowaliśmy dane (potencjalne błędy), nie mamy nigdzie zapisanej kopii kroków (trudnej do replikacji) i będziemy musieli wysłać wiadomość e-mail do Cały plik do naszych kolegów trenerów Pokémon (bolesna Kontrola wersji).

wraz ze wzrostem tabeli Pokemonów, Excel – lub Arkusze Google-zwalnia. Jeśli liczba wierszy jest w tysiącach, może to naprawdę zaszkodzić naszemu przepływowi pracy. Jeśli kiedykolwiek utknąłeś wpatrując się w Wiadomość „Wiatraczek śmierci” lub „nieoczekiwanie Zakończ Excel”, znasz ból.

co to jest SQL?

SQL jest po prostu językiem używanym w programowaniu. Kiedy mówimy „use SQL”, mamy na myśli to:

  • Twoje dane są przechowywane w relacyjnej bazie danych, która składa się z tabel. Tabele te zwykle wyglądają jak jeden arkusz w programie Excel, z wierszami i kolumnami.
  • pobierasz dane i wykonujesz analizę za pomocą zapytań, które są zestawem instrukcji napisanych w SQL. Możesz zapisać je w ten sam sposób, w jaki zapisujesz plik tekstowy.
  • zamiast opisywać, jak uzyskać dane-jak w Excelu lub arkuszach-Twoje zapytania opisują, jakie dane chcesz. Możesz uruchomić te zapytania za pomocą interpretera SQL, który wykonuje niezbędne kroki wyszukiwania i analizy.

Excel do SQL: po co przełączać?

SQL jest znacznie szybszy niż Excel. W SQL może zająć kilka minut, aby zrobić to, co w programie Excel zajmuje prawie godzinę. Excel może technicznie obsługiwać milion wierszy, ale to przed tabelami przestawnymi, wieloma kartami i funkcjami, których prawdopodobnie używasz.

SQL oddziela również analizę od danych. Podczas korzystania z SQL dane są przechowywane oddzielnie od analizy. Zamiast wysyłać pocztą e-mail ogromny plik Excel, można wysłać małe pliki tekstowe zawierające instrukcje do analizy. Każdy z członków drużyny ma dostęp do tych samych danych, dzięki czemu może samodzielnie przeprowadzić analizę. Nie muszą zarządzać wersjami plików ani ryzykować uszkodzenia danych i mogą je ponownie uruchomić na dowolnych innych danych.

wszystko to przyczynia się do poważnego zapotrzebowania pracodawców na umiejętności SQL.

Pożegnaj się z „wiatraczkiem śmierci”

analizuj dane za pomocą SQL

jak działają zapytania?

pamiętasz tabelę Pokemonów?

Name Type Weight
bulbasaur grass 15
charmander fire 19
squirtle water 20
pikachu electric 13
oddish grass 12
snorlax normal 1014
mewtwo psychic 269

With SQL, we can write queries to declare exactly what we want from the data. Na przykład:

to zapytanie mówi „Chcę nazwę i typ każdego Pokémona w tabeli pokemon, która jest typem 'grass’.”

nasza wynikowa tabela będzie wyglądać następująco:

Nazwa Typ
bulbasaur trawa
oddish trawa

Podzielmy to zapytanie:

  • SELECT jest słowem kluczowym, które mówi SQL do rozpoczęcia zapytania
  • name Itype są kolumnami wpokemon tabela
  • FROM jest słowem kluczowym, które mówi zapytaniu, aby spojrzeć napokemon tabela
  • WHERE filtruje nasze dane na określonych warunkach

porównaj to z równoważną pracą w Excelu. Zamiast podejmować szereg kroków, które są podatne na błędy, powolne do wykonania, trudne do replikacji i uciążliwe do udostępniania, zapytania SQL mogą być szybsze, łatwiejsze i bezpieczniejsze.

czy nadal mogę używać formuł w SQL?

Jeśli jesteś zaawansowanym użytkownikiem programu Excel, możesz wahać się, czy zrezygnować ze znanych formuł, takich jak ta:

lub ta:

SQL oferuje tę samą funkcjonalność, z większą czytelnością, dzięki strukturalnej i Angielskiej składni. SUM służy do dodawania wielu wartości, aCASE służy do obsługi logiki warunkowej. Na przykład:

lub:

pierwsze polecenie zwraca sumę wszystkich wag w tabeli pokemon. Druga instrukcja zwraca dwie kolumny: nazwę każdego Pokémona i etykietę rozmiaru („small” jeśli jest poniżej 5, „medium”jeśli jest poniżej 15, itd.). Zauważ, że SQL używa konkretnych nazw kolumn zamiast odwołań do abstrakcyjnych komórek i słów takich jak WHEN I THEN zamiast nawiasów i przecinków.

Możesz również użyć tabel przestawnych. Co zajmuje ci siedem kliknięć w programie Excel, zajmie ci siedem naciśnięć klawiszy w SQL-po prostu wpisz GROUP BY:

to zapytanie zwróci całkowitą wagę wszystkich Pokemonów, które należą do każdego typu:

Typ Waga
trawa 27
ogień 19
woda 20
elektryczny 13
normalny 1014
psychiczny 269

To polecenie SQL jest bardziej zwięzłe i konkretne niż lista instrukcji potrzebnych do opisania tego samego pivota w programie Excel, a polecenie można uruchomić na wielu zestawach danych przy niewielkim wysiłku. Innymi słowy, polecenie SQL jest łatwe do przejrzenia i łatwo można je przenieść.

Podsumowując

Aplikacje arkuszy kalkulacyjnych, takie jak arkusze i Excel, są świetne do prezentacji, wykresów i małych analiz, ale mogą być niewystarczające do zadań wymagających cięższego podnoszenia. SQL może wykonać większość tych zadań szybciej i jest bardziej przyjazny dla użytkownika od początku do końca.

Jeśli chcesz sam poeksperymentować z SQL lub nie uważasz, że Pokemon jest wystarczająco przekonujący, wypróbuj nasz darmowy „dlaczego warto uczyć się SQL?”kurs, napisany przez projektanta programu nauczania danych Codecademy i szefa Data Science, Hillary Green-Lerman.

Jeśli chcesz poznać tajniki języka i poćwiczyć go z prawdziwymi danymi, możesz nauczyć się SQL od podstaw w najnowszym Pro Intensive Codecademy. Gdy uczysz się i ulepszasz SQL, będziesz mógł przenieść więcej obciążenia z programu Excel na SQL, rezerwując program Excel jako ostatni etap, aby tworzyć atrakcyjne tabele i wykresy.

Sonny Li i Dan Layfield przyczynili się do tego artykułu.