Jetstack
Zpět na blog Blog

Export do tabulek — každý pohled jako tabulka

Publikováno 1. září 2022

Technická ilustrace k článku Jetstacku

„Jen to potřebuju v tabulce“ je jedna z nejčastějších vět v každé organizaci, která pracuje s daty. Účetní chce srovnat faktury za čtvrtletí s bankovními výpisy a nástroj na srovnávání chce tabulku. Manažer chce sdílet snímek letošního pipeline s někým, kdo do platformy přístup nemá, a e-mail s přílohou v tabulce je společná řeč. Analytik chce dělat kontingenční tabulky, filtrovat a křížově porovnávat způsoby, které platforma sama nenabízí, a tabulka je místo, kde tahle práce vzniká. Platforma, která dělá export z každého pohledu snadným — se správnými sloupci, ve správných formátech a bez selhání na velkém výběru — je platforma, které uživatelé se svými daty věří.

Exportovat lze z každého pohledu. Tabulkové pohledy, seznamy, kanbanové nástěnky, kalendářní pohledy — když to v platformě vidíte, můžete to předat do tabulky. Tlačítko exportu je u všech pohledů stejné, takže se uživatelé nemusí u každého typu pohledu učit jiný postup. U tabulek, kde se export používá nejčastěji, je to na jedno kliknutí: aktuální pohled, aktuální filtry, aktuální seskupení — všechno se promítne do výstupu.

Sloupce se řídí pohledem. Export respektuje nastavení sloupců pohledu, ze kterého vznikl. Pokud uživatel tři sloupce skryl, zbytek přeuspořádal a dva důležité připnul vlevo, tabulka odpovídá tomu, na co se dívá. Zní to samozřejmě, ale samozřejmé to není — spousta platforem exportuje celoplatformní výchozí sadu sloupců, která má s pohledem na obrazovce pramálo společného, a nutí uživatele dělat v tabulce znovu to, co už udělali v pohledu. Bereme „to, na co se díváte“ jako zadání pro „to, co chcete exportovat“, a to bývá správně.

Formátování exportu podle vlastnosti řeší drobnosti, díky kterým je tabulka po příchodu použitelná. Data se objeví jako data, ne jako řetězce v ISO formátu, které si Excel může a nemusí přebrat po svém. Čísla se objeví jako čísla, se správným počtem desetinných míst. Hodnoty výběrových vlastností se vykreslí s lidsky srozumitelnými popisky, ne s interními identifikátory. Částky si podrží svůj měnový kontext. Odkazy na jiné záznamy se vykreslí jako zobrazovaná hodnota odkazovaného záznamu, s možností přidat i sloupec s identifikátorem pro další zpracování. Tahle rozhodnutí se dělají u každé vlastnosti zvlášť, podle stejné logiky vykreslování, která řídí zobrazení na obrazovce, takže tabulka odpovídá tomu, co už uživatel vidí.

Hodnoty ve zvláštním formátu jsou únikový ventil pro vlastnosti, jejichž podoba na obrazovce nemá pro tabulku ten správný tvar. Stavová plaketka s ikonou a barvou je užitečný prvek na obrazovce; v tabulce má být prostou textovou hodnotou. Ukazatel průběhu zobrazený jako grafika se má exportovat jako procento. Vlastnost se štítky se může exportovat jako seznam oddělený čárkami, i když je na obrazovce sbírkou barevných čipů. Každý typ vlastnosti ví, jak se pro export reprezentovat, a právě tahle reprezentace přistane v souboru.

Surové versus zobrazované hodnoty vrací volbu uživateli tam, kde na tom záleží. Exportu pro další zpracování v datovém nástroji prospívají surové hodnoty — identifikátory, čísla v plné přesnosti, nelokalizovaná data — protože navazující nástroje mají radši konzistentní, strojově čitelný obsah. Exportu ke čtení prospívají zobrazované hodnoty — naformátované částky, přeložené popisky, lokalizovaná data — protože lidé mají radši verzi, která vypadá správně. Podporované jsou oba režimy; uživatel si vybere ten, který jeho úkolu sedí.

Velké výsledky se řeší cestou úlohy na pozadí. Export deseti tisíc řádků je zdlouhavá operace, která by při naivním provedení buď vypršela, vyčerpala paměť, nebo na minutu zamkla uživateli sezení. Platforma velké exporty rozpozná a přesune je na pozadí: uživatel klikne na export, dostane oznámení, že běží, a pracuje dál. Jakmile je úloha hotová, do schránky mu spadne oznámení s odkazem na hotový soubor. Tohle je jedna z těch funkcí, které jsou u malých exportů neviditelné a u velkých vyloženě nezbytné.

Volba „exportovat vše“ pokrývá běžný případ, kdy uživatel chce celý výsledek, ne jen aktuální stránku. Pohled stránkovaný po padesáti řádcích má i tak tlačítko „exportovat vše“, které stáhne celý dotaz, projde výsledek paměťově bezpečným způsobem a vytvoří kompletní soubor. Pro reportovací postupy, které potřebují „celou datovou sadu, ne jen to, co vidím na obrazovce“, je právě tahle volba tím, co uživatel doopravdy hledá.

Zásuvné exportéry jsou příběh rozšiřitelnosti pro případy, kdy výchozí tvar výstupu není úplně ono. Prostředí může potřebovat export naformátovaný podle konkrétní šablony, kterou vyžaduje externí regulátor — určité sloupce, určitá záhlaví, určité formáty hodnot. Tvůrci mohou zaregistrovat vlastní exportéry, které vyprodukují přesně požadovaný tvar a při exportu se dají vybrat vedle výchozího. Vlastní exportér používá stejný dotaz a stejná data, jen je uspořádá podle svých vlastních pravidel. Takhle se řeší okrajové požadavky na export, aniž by kvůli nim všichni ostatní museli mít složitější výchozí nastavení.

Přísliby exportu uzavírají smyčku mezi tím, že uživatel chce exportovat, a hotovým souborem. Jakmile uživatel klikne na export, platforma se zaváže soubor vyrobit; uživatel může zavřít záložku, přejít na jiný záznam, dělat úplně nesouvisející práci a export se přesto dokončí. Výsledný soubor se objeví v oznámeních, jakmile bude hotový, s přímým odkazem ke stažení. U velkých exportů, které trvají několik minut, je to rozdíl mezi funkcí, která se dá používat, a takovou, u níž musí uživatel hlídat načítací kolečko.

Exporty nejsou žádná paráda. Jsou to funkce, které má každá platforma, většina špatně, a rozdíl mezi dobrým a špatným provedením se ukáže jen ve chvílích, na kterých uživatelům záleží nejvíc — na konci kvartálu, při auditu, při naléhavé žádosti ředitele o „ten seznam, hned“. Bereme exporty jako plnohodnotnou funkci a vsadili jsme na části, které dělají rozdíl — věrnost sloupců, práci s velkými výběry, kontrolu formátu, vlastní exportéry. Ke zbytku příběhu o práci s daty: článek o pohledech popisuje, jak uživatelé svá data vidí, článek o tabulkovém pohledu popisuje hlavní plochu pro export, článek o importu dat popisuje odpovídající cestu opačným směrem a článek o úložišti souborů popisuje, kam se dají velké exporty uložit pro pozdější přístup.