AirTable - tabuľkové dáta, lepšie.

AirTable - tabuľkové dáta, lepšie.

Študent? Podnikateľ? Novinár? Či len hobistický zberateľ? Je slušná šanca, že ste si už potrebovali niekam odložiť a zorganizovať nejaké dáta. Často používame Excel a v čoraz viac aj online alternatívy, ako sú Google Docs či Office 365. No akonáhle chceme pracovať so závislosťami medzi dátami, je to zložitejšie: Možno máme jednoduchý CRM systém s tabuľkou spoločností a tabuľku kontaktných osôb – ale ako ich prepojiť, aby sme pre jednu spoločnosť vedeli nájsť všetky kontaktné osoby? Vtedy sa nám hodia vzťahy – niečo, čo v klasickom Exceli ide ťažko, napriek tomu, že koncept je jednoduchý. V takýchto rolách vynikajú databázy, no nie každý si môže dovoliť zriadiť si vlastnú.

Práve na túto špecifickú niku mieri AirTable. Je to tabuľková webová aplikácia podobná Google Docs, s jedným veľkým rozdielom: umožňuje ľahko definovať vzťahy medzi tabuľkami. Jej rozhranie je jednoduché a prehľadné a zatiaľ nemá toľko funkcionality, čo bežná tabuľková (spreadsheet) aplikácia. No nie je ani chudobná: podporuje zdieľanie prístupu na čítanie pomocou linku, alebo kolaboratívnu prácu s tímom ľudí. K záznamom sa dajú nahrávať prílohy – obrázky či dokumenty. Poskytuje aj API a rôzne integrácie, napríklad na Slack alebo Zapier. Naštartovať vás pomôže aj kopa predpripravených scenárov, ktoré si môžete prezrieť.
Myslím, že ešte zažije veľký boom – mnoho malých (a šokujúco veľa veľkých) firiem riadi svoje interné procesy pomocou Excelov. Už len upgrade na AirTable by predstavoval značné zlepšenie.

Evidencia pôžičiek

Tak som sa rozhodol AirTable vyskúšať. Pripravil som si Excel súbor s krátkym zoznamom kníh a podujal sa vyklikať aplikáciu (tu nazývanú “base”), ktorá bude evidovať pôžičky – komu som akú knihu požičal a kedy. Jej hlavné funkcie majú byť:

  • Zoznam kníh. Chcem vedieť, aké knihy mám. - Z toho vyplýva aj viacero požiadaviek na štruktúru dát – chcem môcť filtrovať podľa väzby a mať aj databázu informácií o vydavateľoch.
  • Zoznam kamarátov. Ak som niekomu požičal a knihu nevrátil, chcem si to môcť poznačiť, aby som sa na neho nezabudol mračiť vždy, keď ho stretnem.
  • Zoznam pôžičiek, aktuálnych aj vrátených.
  • Aplikácia musí umožniť zjednodušené pohľady na dáta: - Chcem vidieť, pri ktorých knihách mi ešte v evidencii chýbajú vydavatelia.
  • Chcem vidieť zoznam aktuálne požičaných kníh ako podklad na pravidelné hromženie na ľudí, čo mi nevrátili knihy.

O použiteľnosti AirTable hovorí aj fakt, že keď som začínal, nevedel som o ňom nič a za pol hodinu bolo všetko hotové. (Napísanie tohoto článku mi isto bude trvať dlhšie. 🙂 Výsledok vyzerá nejak takto[1]:

(Táto verzia je skompaktnená, aby krajšie vyzerala. Plnú nájdete tu.)

Import dát

Prvý krok: dostať tam nejaké dáta, čo už mám. Takto nejak vyzerá môj vstup:

[1-startovacie-da1-startovacie-data-excel

Vytvoríme novú base, pri zozname tabuliek klikneme na “+” a vyberieme “Import a spreadsheet.” Spoliehal som sa na štandardný CSV import, ale vysvitlo, že AirTable má okrem neho ešte lepšiu možnosť: skopírovať dáta z Excelu a vložiť ich priamo do okienka. Hotovo.

![2-import-cp](htt![2-import-cp](htt2-import-cp

Základná štruktúra

Dáta sú importované, ale zatiaľ sme nezískali nič navyše. Prvými kandidátmi na zlepšenie sú stĺpce Väzba a Jazyk: na pohľad je jasné, že nadobúdajú iba niekoľko málo hodnôt. Spravíme z nich teda “Single select”. Stačí kliknúť na Configure v hlavičke stĺpca.

![3-typ-stlpca](ht![3-typ-stlpca](ht3-typ-stlpca

Použité hodnoty sú pekne zobrazené.

![4-zoznam-hodnot]![4-zoznam-hodnot]4-zoznam-hodnot

Rovnaký postup aplikujeme na stĺpec Jazyk.

Teraz chceme databázu vydavateľov. Pridáme novú tabuľku (opäť klik na “+” a tentokrát “Create empty table”) a vložíme mená vydavateľov – ale tak, aby sa každé vyskytovalo iba raz. (Odstrániť duplicity sa ľahko dá pomocou každého slušného textového editoru – napríklad v SublimeText stačí ctrl+shift+p -> unique, prípadne ešte F9 na usporiadanie podľa abecedy.) Pridáme stĺpce s dodatočnými informáciami podľa potreby (v tomto prípade iba Sídlo) a hotovo.

![6-vydavatelia](h![6-vydavatelia](h6-vydavatelia

Linky

Teraz prichádza dôvod, prečo sa vôbec nejakým AirTable zahadzujeme – prepojenia. Linky. Máme tabuľku kníh a chceme sa môcť prekliknúť na informáce o vydavateľovi. Namiesto pridania nového stĺpca môžeme zmeniť typ stĺpca Vydavateľstvo na typ Link a ako cieľ vybrať Vydavateľov. (Ak nechceme, aby jedna kniha mohla mať viac vydavateľov, nezaškrtneme “Allow linking to multiple records.”)

[7-link-vydavatel7-link-vydavatelia

Bum! AirTable šikovne zmenil texty na odkazy. Kliknutím teraz môžeme pristúpiť na konkrétny záznam.

Všimnime si, ako dobre to už teraz funguje: pri zadávaní novej knihy je prakticky nemožné urobiť preklep a zadať tak nesprávne vydavateľstvo alebo väzbu.

![9-nova-kniha](ht![9-nova-kniha](ht9-nova-kniha

Pridanie novej tabuľky s kamarátmi a jej naplnenie je teraz už rutina.

![8-kamarati](http![8-kamarati](http8-kamarati

Tabuľka Pôžičky je trochu zložitejšia. Jej úlohou je pamätať si, kedy si kto požičal čo. Nie je náhoda, že polovica slov v tej vete sú zámená: hlavnou úlohou tabuľky v princípe je spájať záznamy Kniha so záznamami Kamarát a prilepiť nejaké dodatočné dáta. Zadefinujeme teda Link na obe zmienené tabuľky. Pridáme stĺpec “Požičané dňa” typu “Date” a “Vrátené” typu “Checkbox”.

![10-pozicane-dna]![10-pozicane-dna]10-pozicane-dna

No čo so stĺpcom “Name”? V každej tabuľke je už od začiatku, na nič ho nepotrebujeme a nedá sa zmazať. Tomuto druhu stĺpca sa hovorí “kľúč” – slúži na identifikáciu konkrétneho riadku. (Ako by sme mohli urobiť od Knihy odkaz typu “kniha je požičaná, v tomto zázname Pôžička,” keby nebol spôsob, ako jednotlivé riadky Pôžičky od seba odlíšiť? Nejaký kľúč určite potrebujeme.)

Tak vytvoríme umelý[2]. Je to jednoduché – stačí kliknúť v hlavičke “Name” stĺpca na Configure a zmeniť jeho typ na “Auto Number.” Všimnite si, že každému záznamu ihneď pribudlo číslo.

![11-pozicky](http![11-pozicky](http11-pozicky

Vždy, keď si prezeráme zoznam kníh, chceme byť upozornení, ak knihu má niekto požičanú. Mohli by sme použiť Link stĺpec ako vždy doteraz, no vznikla nám jedna nepríjemnosť: v Link stĺpci sa zobrazuje kľúč záznamu, takže namiesto mena človeka uvidíme iba číslo. To vyrieši nový stĺpec typu Lookup, ktorý umožní z linkovanej tabuľky zobraziť hodnotu niektorého stĺpca. Takže si vyberieme Pôžičky a Kamarát.

![12-lookup](https![12-lookup](https12-lookup

Poznámka: na to, aby to fungovalo, musí medzi tabuľkami existovať Link, ale nemusíme sa naň pozerať – v hlavičke daného stĺpca klikneme na “Hide column.”

Pohľady

Blížime sa ku koncu. Máme funkčnú a dobre prepojenú databázu kníh, vydavateľov aj pôžičiek. Vieme ale, že niektoré konkrétne veci nás budú zaujímať častejšie – napríklad ktoré knihy ešte nemajú vydavateľa, alebo ktoré sú práve požičané.

Na to slúžia pohľady (views) – preddefinované nastavenia zobrazenia dát. Pridáme si teda nový typu “Grid view.” Skryjeme stĺpce čo pre daný účel nepotrebujeme (ISBN, link na Pôžičku). Pridáme filter, aby sa zobrazovali iba tie záznamy knihy, ktoré má niekto požičané. A nastavíme triedenie podľa stĺpca s menom kamaráta, aby knihy požičané tým istým človekom boli pri sebe.

![14-filter](https![14-filter](https14-filter

Teraz sa môžeme voľne prepínať medzi hlavným pohľadom so všetkými knihami a vyfiltrovaným zoznamom tých požičaných.

![13-pohlady](http![13-pohlady](http13-pohlady

Záver

Tu je výsledok v celej svojej kráse. (Ale iba na prezeranie – upravovať dáta nemôžete.) Urobili sme všetko, čo sme si na začiatku dali za cieľ za necelú pol hodinu. AirTable je mocný nástroj a aj pri použití platenej verzie môže v komerčnom prostredí ušetriť značné náklady. (Bezplatná verzia má viacero obmedzení, najviac asi bude cítiť maximum riadkov povolených v jednej base nastavený na 1200.)

![15-views](https:![15-views](https:15-views

Rozhodne je ešte čo zlepšovať – napríklad mi chýba možnosť posielať link priamo na konkrétny view alebo definovať zložitejšie relácie. Ale to všetko má čas. Trochu sa s AirTable pohrajte a snáď poslúži aj vám.


  1. Cool! AirTable umožňuje aj preview embedding. ↩︎

  2. V hantírke známy ako “surrogate key.” Ale to pravdepodobne buď už viete, alebo nikdy nebudete potrebovať. :) ↩︎