Jak používat grafy

Published: 2025-07-15 | Jan Procházka

Tento návod ukazuje, jak používat DbGate pro vytváření pěkných a informačně bohatých grafů. Předpokládám, že jste již k databázi pomocí DbGate připojeni a umíte spouštět SQL dotazy nebo používat návrhář dotazů pro získání dat z SQL tabulek.

Můžete také použít ukázkové databáze v DbGate Online Demo, já pro ilustrační účely použiji tabulku Invoice z ukázkové databáze Chinook.

Časová osa (timeline) graf

Jedním ze základních grafů je graf časové osy. Je to čárový graf s časem na ose X.

Pokud spustíte následující dotaz:

SELECT InvoiceDate, Total from Invoice

DbGate rozpozná 2 grafy:

Tip: zkuste vybrat jen sloupce, které potřebujete pro graf. Automatická detekce hledá všechny kombinace grafů, z nichž některé nedávají smysl. Tyto grafy jsou nabízeny, pokud spustíte jednoduchý dotaz se všemi sloupci:

Jak můžete vidět, DbGate rozpozná více grafů, ale pravděpodobně použijete jen 2 z nich.

Přizpůsobení grafu

Po kliknutí na jeden z rozpoznaných grafů můžete použít tlačítko „Customize“ pro změnu grafu. Toto jsou nejdůležitější možnosti přizpůsobení:

  • Typ grafu
    • Sloupcový (Bar)
    • Čárový (Line)
    • Timeline – speciální případ čárového grafu s časem na ose X
    • Koláčový (Pie)
    • Polar area
  • Pole osy X
  • Seskupovací pole. Seskupování je silná funkce pro tvorbu grafů, vysvětlím ji níže
  • Pole osy Y. Na ose Y můžete mít více polí, pak se zobrazí více grafů
    • Pro každou množinu dat je k dispozici speciální pole „Count“, které počítá řádky
  • Agregační funkce – Součet, Minimum, Maximum, Průměr, První hodnota, Poslední hodnota

Konfigurace grafu je uložena k dotazu, na začátku SQL souboru. Pokud tedy spustíte stejný dotaz znovu, zobrazí se stejný graf. Konfiguraci můžete také přímo upravit ve formátu YAML, pokud vám to vyhovuje.

Seskupování

Seskupování lze použít, pokud potřebujete zobrazit více grafů z jedné množiny dat. Chtěl bych zobrazit celkové fakturované částky podle roku, seskupené podle země.

Takže musíme do výsledné sady přidat sloupec Country:

SELECT InvoiceDate, Total, BillingCountry from Invoice where BillingCountry in ('USA', 'Canada', 'Brazil', 'France', 'Germany')

Algoritmus automatické detekce nyní rozpozná 6 grafů, klikněte na graf „Total by Invoice Date“, seskupený podle země, a poté klikněte na „Customize“.

Uvidíte něco takového, což nevypadá příliš použitelně:

Ale když změníte „Chart type“ na „Bar“ a „X axis transform“ na „Date (Year)“, graf vypadá mnohem lépe.

Jak vidíte, seskupování podle data může být provedeno v enginu pro vykreslování grafů, není nutné to dělat v SQL. Pro větší výsledky však samozřejmě bude seskupování provedené nativně v SQL efektivnější, protože se provede přímo na databázovém serveru.

Počet skupin je omezen na 32, nedává smysl mít v jednom grafu větší počet čar/sloupců. Pokud je tento limit překročen, graf se nezobrazí.

Závěr

Ukázal jsem základní použití funkce grafů v DbGate. Můžete nám zanechat komentáře k tomuto tématu na X tweet. Více informací o grafech najdete v dokumentaci