ÚvodPlatformaCeníkOtázkyNápovědaKontakt Kivea FlexiKivea PohodaKivea účetnictvíKivea fakturace Vyzkoušet zdarma

Co to je?

Poznámka pro administrátory: Tento průvodce vysvětluje, jak používat “Chytré nástroje” (funkce) k transformaci a analýze dat za běhu. Pokrývá věci jako výpočet DPH, extrahování let z dat nebo počítání položek v objednávce.

Pro koho je to určeno? Administrátoři by si to měli přečíst, aby pochopili, jak mohou provádět matematické a datové analýzy přímo ve svých vyhledáváních. Je to zvláště užitečné pro vytváření sestav. Vývojáři budou tyto funkce rozsáhle používat v automatizovaných pracovních postupech.

Klíčové výhody pro e-shop:

  • Automatizovaná matematika: Filtrujte produkty na základě vypočítaných hodnot (jako je “cena s DPH”), aniž byste potřebovali samostatné pole v databázi.
  • Časové přehledy: Snadno najděte objednávky z konkrétního roku, měsíce nebo dokonce hodiny dne.
  • Souhrnné zprávy: Okamžitě počítejte, sčítejte nebo průměrujte data (např. “ukaž mi zákazníky s celkovou hodnotou objednávky nad 500 USD”).
  • Čištění textu: Vyčistěte výsledky vyhledávání převodem jmen na malá písmena nebo oříznutím mezer navíc.

Funkce a agregace

Vestavěné funkce umožňují transformovat a analyzovat data přímo v podmínkách filtru.

[navigate:where-basics.md|Základní filtry|filter] [navigate:where-advanced.md|Rozšířené filtry|database]


Funkce pro datum a čas

Extrahujte specifické komponenty z polí data/času nebo vypočítejte hranice časových období.

Extrakční funkce

year(dateOfIssue) = 2023 and month(requestedDeliveryDate) = 12

[badge:Functions|secondary|right]

Čtvrtletí a týden

quarter(dateOfIssue) = 4 and dayofweek(dateOfIssue) = 1

[badge:Functions|secondary|right]

Funkce pro rozsah dat

Tyto funkce vrací přesné počáteční a koncové hranice pro časová období.

dateOfIssue >= startOfYear(now()) and dateOfIssue <= endOfMonth(now())

[badge:Functions|secondary|right]


Agregační funkce

Provádějte výpočty napříč MNOHA relacemi (one-to-many, many-to-many) pro výkonné analýzy.

Základní agregace

count(variants) >= 3 and sum(variants.priceWithVat) > 1000

[badge:Aggregation|secondary|right]

Filtrovaná agregace

Počítejte nebo vypočítávejte hodnoty pouze pro související záznamy, které odpovídají specifické podmínce.

count(variants[priceWithVat > 100]) > 2

[badge:Aggregation|secondary|right]

Průměr, minimum a maximum

avg(variants.priceWithVat) > 500 and min(variants.weight) > 1

[badge:Aggregation|secondary|right]


Aritmetické operátory

Provádějte matematické operace na číselných polích a hodnotách pomocí standardních pravidel priority (*, /, % před +, -).

Výpočty ceny a množství

priceWithVat * 1.21 > 100 and standardPrice - 5 > 10

[badge:Arithmetic|secondary|right]

Modulo a seskupování

actionPrice % 2 = 0 and (priceWithoutVat - purchasePriceWithoutVat) * 1.21 > 500

[badge:Arithmetic|secondary|right]


Řetězcové a matematické funkce

Textové transformace

lower(name) = "iphone" and length(description) > 50

[badge:Functions|secondary|right]

Vyhledávání a extrahování řetězců

indexof(email, "@") > 0 and substring(username, 0, 3) = "PRD"

[badge:Functions|secondary|right]

Matematické zaokrouhlování

round(priceWithVat) = 100 and floor(weight) = 4

[badge:Math|secondary|right]


Referenční tabulka

Funkce Kategorie Popis Příklad
now() Speciální Aktuální časové razítko createdAt > now()
me() Speciální ID aktuálního uživatele createdBy_id = me()
count() Agregace Počet souvisejících záznamů count(variants) > 3
sum() Agregace Součet číselného pole sum(variants.priceWithVat) > 100
avg() Agregace Průměr číselného pole avg(variants.weight) > 4
min() Agregace Minimální hodnota min(variants.priceWithVat) > 10
max() Agregace Maximální hodnota max(variants.priceWithVat) < 100
year() Datum/Čas Extrahování roku year(createdAt) = 2023
month() Datum/Čas Extrahování měsíce (1-12) month(createdAt) = 12
day() Datum/Čas Extrahování dne (1-31) day(createdAt) = 25
hour() Čas Extrahování hodiny (0-23) hour(createdAt) = 14
round() Matematika Zaokrouhlení na nejbližší celé číslo round(priceWithVat) = 100
concat() Řetězec Kombinování řetězců concat(firstname, surname) = "JohnDoe"
indexof() Řetězec Nalezení pozice podřetězce indexof(email, "@") > 0
trim() Řetězec Odstranění mezer trim(name) = "Product"
isnull() Speciální Kontrola, zda je hodnota null isnull(ean) = true

Reference rozsahu dat

Období Funkce začátku Funkce konce
Rok startOfYear(date) endOfYear(date)
Měsíc startOfMonth(date) endOfMonth(date)
Den startOfDay(date) endOfDay(date)
Hodina startOfHour(date) endOfHour(date)