HelpWorking with tablesSloupce

Vzorec

Sloupec, který počítá hodnotu z jiných sloupců – kompletní přehled funkcí, jak se shodují typy hodnot a jak do vzorce vložit hodnoty z relací.

Sloupec Vzorec spočítá hodnotu z jiných sloupců – spojí jméno a příjmení, vynásobí cenu počtem kusů nebo spočítá počet dní do termínu. Hodnota se počítá automaticky nad každým záznamem – měníte ji tedy přes sloupce, ze kterých vzorec počítá.

Na rozdíl od ostatních typů zadáváte vzorec rovnou při zakládání sloupce a upravíte ho později volbou Upravit vzorec. Datový zdroj přitom má mít aspoň jeden záznam – do úplně prázdného zdroje tedy nejdřív přidejte řádek a vzorec zakládejte potom.

Jak vzorec zadáte

Vzorec píšete do editoru, kde skládáte dvě věci:

  • Sloupce – odkazy na hodnoty jiných sloupců. Vyberete je z nabídky (hledání Hledat sloupec…) a vloží se jako barevný odkaz.
  • Funkce a operátory – například SUM, IF, CONCAT, nebo operátory +, -, *, /, & (spojení textu) a porovnání ==, >, >=, <, <=.

U každé funkce editor ukazuje její argumenty, co vrací a příklad. Vzorec se průběžně ověřuje a pod ním vidíte živou ukázku výsledku. Vzorec můžete i vygenerovat pomocí AI – slovy popíšete, co má počítat, a DATIFY AI sestaví výraz (a navrhne i název a popis sloupce).

Odkazy na sloupce

Do vzorce vložíte odkaz na jiný sloupec a jeho hodnota vstoupí do výpočtu. Každý typ sloupce se ve vzorci chová jako určitý typ hodnoty:

Typ sloupceVe vzorci vystupuje jako
Text, Odkaz na web, Email, Výběr jedné možnostiText
Číslo, Měna, Procenta, PořadíČíslo
DatumDatum
CheckboxAno/Ne
Výběr více možností, Příloha, Sloupec z jiné tabulkySeznam hodnot

Vzorec pracuje s běžnými sloupci, ne s jiným vzorcem – vzorce se neřetězí, takže mezivýpočet napište rovnou do jednoho vzorce. Odkaz na jiný vzorec DATIFY označí jako Neznámý sloupec.

Hodnoty z relací a výběrů (seznamy)

Sloupce Sloupec z jiné tabulky, Výběr více možností a Příloha nedávají jednu hodnotu, ale seznam – u vazby jsou to názvy navázaných záznamů, u výběru více možností jednotlivé štítky, u přílohy názvy souborů. Se seznamem pracují jen některé funkce; obalte ho proto funkcí, která seznam zpracuje:

  • COUNT(seznam) – kolik hodnot seznam má. Typicky kolik navázaných záznamůCOUNT({Objednávky}) spočítá, kolik objednávek klient má.
  • ARRAY_JOIN(seznam, oddělovač) – spojí hodnoty do textu, ARRAY_JOIN({Štítky}, ", ").
  • SUM, AVG, MIN, MAX – nad seznamem čísel (například nad číselným sloupcem přeneseným přes vazbu).
  • CONCAT seznam textů rovnou spojí čárkami.

Vazba (Sloupec z jiné tabulky) se nastaveným Výpočtem se naopak chová jako jedno Číslo (spočítaný souhrn), takže ji lze použít přímo. Vzorec navíc musí nakonec vrátit jednu hodnotu, ne seznam – když odkaz na seznam necháte „holý", DATIFY napoví, ať ho obalíte (COUNT(...), ARRAY_JOIN(...) apod.).

Typy hodnot a jejich shoda

Každá funkce očekává argumenty určitého typu (Číslo, Text, Datum, Ano/Ne nebo Seznam). Když typ nesedí, vzorec je neplatný (Nekompatibilní typy). Několik pravidel:

  • Porovnání (==, >, <…) i funkce IF vyžadují, aby obě porovnávané hodnoty byly stejného typu. U IF musí mít obě větve (když ano / když ne) stejný typ – a ten je i výsledkem.
  • Spojení textu (CONCAT / &) je jediné, kde se typy převádějí automaticky: čísla, data i seznamy se převedou na text.
  • Výsledný typ vzorce (Číslo, Text, Datum, nebo Ano/Ne) určuje, jak se sloupec chová dál – jaké nabídne filtry a agregace. Vrací-li vzorec číslo, dá se v patičce sečíst; vrací-li text, chová se jako textový sloupec.
  • Čísla se zaokrouhlují na šest desetinných míst.

Přehled funkcí

Funkce se zapisují jako NÁZEV(argument1, argument2…). Tři tečky u argumentu znamenají, že jich může být víc.

Matematické a agregační

FunkceCo děláPříklad
SUM(hodnoty…)Sečte čísla; přijme i seznam čísel.SUM(cena, daň)
AVG(hodnoty…)Průměr čísel; přijme i seznam.AVG(skóre1, skóre2)
MIN(hodnoty…)Nejnižší hodnota – čísla nebo data.MIN(cena, sleva)
MAX(hodnoty…)Nejvyšší hodnota – čísla nebo data.MAX(od, do)
COUNT(seznam)Počet hodnot v seznamu.COUNT({Objednávky})
ABS(číslo)Absolutní hodnota.ABS(-5)
SUB(a, b)Rozdíl a − b.cena - sleva
MUL(hodnoty…)Součin.cena * počet
DIV(a, b)Podíl a ÷ b.celkem / počet

Text

FunkceCo děláPříklad
CONCAT(hodnoty…)Spojí hodnoty do textu; čísla, data i seznamy převede na text.CONCAT(Jméno, " ", Příjmení)
CONTAINS(text, hledaný)Ano/Ne – obsahuje text daný podřetězec.CONTAINS(název, "faktura")
LEFT(text, počet)Prvních N znaků textu.LEFT(kód, 3)
RIGHT(text, počet)Posledních N znaků textu.RIGHT(kód, 4)
ARRAY_JOIN(seznam, oddělovač)Spojí seznam hodnot do textu odděleného zvoleným znakem.ARRAY_JOIN({Štítky}, ", ")

Datum

FunkceCo děláPříklad
TODAY()Dnešní datum.TODAY()
DATE_ADD(datum, počet, jednotka)Přičte k datu; jednotka day, week, month nebo year.DATE_ADD(vznik, 1, "day")
DAY(datum)Den v měsíci jako číslo.DAY(termín)
MONTH(datum)Měsíc jako číslo.MONTH(termín)
YEAR(datum)Rok jako číslo.YEAR(termín)
IS_BEFORE(datum1, datum2)Ano/Ne – je datum1 před datum2.IS_BEFORE(začátek, konec)
IS_AFTER(datum1, datum2)Ano/Ne – je datum1 po datum2.IS_AFTER(konec, začátek)

Porovnání (vrací Ano/Ne)

FunkceCo děláPříklad
EQUAL(a, b)Jsou hodnoty stejné? Obě musí být stejného typu.stav == "Hotovo"
GREATER(a, b)Je a větší než b? (čísla nebo data)cena > 1000
GREATER_OR_EQUAL(a, b)Je a větší nebo rovno b?cena >= 1000
LESS(a, b)Je a menší než b?cena < 1000
LESS_OR_EQUAL(a, b)Je a menší nebo rovno b?cena <= 1000

Logické

FunkceCo děláPříklad
AND(podmínky…)Ano, když platí všechny podmínky.AND(cena > 0, sklad > 0)
OR(podmínky…)Ano, když platí aspoň jedna podmínka.OR(vip, sleva > 0)
EMPTY(hodnota)Ano, když je hodnota prázdná.EMPTY(vlastník)
IF(podmínka, když ano, když ne)Vrátí jednu ze dvou hodnot podle podmínky; obě musí být stejného typu.IF(cena > 1000, "drahé", "levné")

Když vzorec nefunguje

Vzorec se ověřuje ve dvou krocích – zápis hned v editoru a typy na pozadí (Vzorec se ověřuje…). Dokud není v pořádku, uvidíte Vzorec je neplatný a jednu z příčin:

  • Neplatný počet vstupních parametrů – funkce dostala víc nebo míň argumentů, než čeká.
  • Chyba v zápisu – překlep nebo špatně uzavřené závorky.
  • Nekompatibilní typy – hodnota je jiného typu, než funkce potřebuje (třeba text tam, kde má být číslo).
  • Neznámá funkce / Neznámý sloupec – název funkce neexistuje, nebo odkaz míří na sloupec, se kterým vzorec nepracuje (například jiný vzorec).

Související články

On this page