Filtrování záznamů
Na každé stránce CRM, na které najdete seznam záznamů, najdete také nabídku Zobrazení, která dovoluje aplikovat filtry na záznamy v databázi.
Vytvořit filtr správně může být někdy obtížné, ale na druhou stranu jsou filtry v InTouch CRM natolik mocným nástrojem, že věnovat jim pozornost se opravdu vyplatí.
Editor filtru zobrazíte volbou Filtrovat... v nabídce Zobrazení. Takto vypadá, pokud nemáte žádné filtrovací pravidlo:
Máte k dispozici tři tlačítka, pomocí kterých lze přidávat potřebná pravidla, přičemž ve většině případů vystačíte s prvním z nich.
- + podmínka
- Slouží k přidání jednoduché podmínky do seznamu filtrovacích pravidel.
- + [podmínky]
- Umožňuje přidat blok pod-podmínek, se kterými se bude zacházet, jako s uzávorkovaným logickým výrazem.
- + [odkazující záznamy]
- Lze vytvořit podmínku, která vybírá záznamy v tomto seznamu podle toho jaké jiné seznamy se na tento typ záznamů odkazují (představte si např.
firmy, které něco minulý měsíc objednaly
).
První podmínka (filtrovací pravidlo)
Stiskem tlačítka + podmínka vložíte pravidlo do filtru:
Každé filtrovací pravidlo (podmínka) je tvořeno názvem sloupce, podle kterého se filtruje (2), operátorem (3) a hodnotou (4). Pokud je pravidel více, je důležité věnovat pozornost i spojení (1), které určuje, jak se z jednotlivých pravidel složí výsledný logický výraz.
Na obrázku výše jsme vytvořili jednoduchou podmínku, která vyfiltruje všechny kontakty z Prahy.
Spojení
Spojení určuje doslova způsob spojení tohoto filtrovacího pravidla s předchozím filtrovacím pravidlem. Pro první pravidlo je spojení ignorováno (nic mu nepředchází). Jsou pouze dva typy spojení:
Spojení | Význam |
---|---|
a | vyfiltruje položky, které vyhoví oběma nadefinovaným pravidlům |
nebo | vyfiltrují se položky, které vyhoví alespoň jednomu pravidlu |
Operátor
Operátor určuje typ podmínky. Aplikace podporuje následující operátory:
Operátor | Vyhoví položky, které... |
---|---|
začíná | začínají na zadanou hodnotu |
končí | končí na zadanou hodnotu |
obsahuje | obsahují zadanou hodnotu |
neobsahuje | neobsahují zadanou hodnotu |
= | jsou stejné, jako zadaná hodnota |
<> | jsou různé od zadané hodnoty |
< | jsou menší než zadaná hodnota |
<= | jsou menší nebo stejné, jako zadaná hodnota |
> | jsou větší než zadaná hodnota |
>= | jsou větší nebo stejné, jako zadaná hodnota |
je prázdný | nejsou vyplněné |
není prázdný | jsou vyplněné |
je jedním z | jsou stejné, jako některá ze zadaných odnot (oddělené čárkou v poli hodnota) |
není jedním z | nejsou stejné, jako jakákoliv ze zadaných odnot (oddělené čárkou v poli hodnota) |
Příklady filtrovacích pravidel
- Příjmení < ko
- vyhoví záznamy, které obsahují příjmení začínající abecedně níže než písmeno
K
a z příjmeních začínajících naK
jen ty, u kterých druhé písmenko je opět abecedně níže než písmenoO
- Poslední změna >= 5.12.2016
- vyfiltruje záznamy, které byly změněny ode dne 5.12.2016 včetně
- Jméno je jedním z Aleš, Jana, Milan
- vyhoví záznamy, které obsahují jména Aleš nebo Jana nebo Milan
Příklad filtru s více podmínkami
Předpokládejme, že chcete vyfiltrovat z adresáře kontaktů všechny firmy z Prahy, které mají vyplněné IČO. K tomu účelu budete potřebovat dvě filtrovací podmínky, které složí dohromady filtr:
(1) - Všimněte si ikonky v každém řádku s podmínkou. Pomocí ní můžete odstranit z filtru podmínku, kterou nepotřebujete.
(2) - Pomocí úchytů na pravé straně každé podmínky je můžete myší přetahovat jinam a měnit tak jejich pořadí.
Filtrování podle datumu a času
Speciální zmínku si zaslouží filtrování podle časových údajů. To proto, že uživatelé často chtěji vytvářet podmínky, které nebudou obsahovat fixní časové údaje (např. záznamy vytvořené od 1.1.2019), ale spíše dynamické časové údaje, které se vypočítají podle aktuálního času až při použití filtru (např. záznamy vytvořené od začátku tohoto roku - hodnota se bude měnit podle toho, ve kterém roce filtr použijete).
Když začnete zadávat podmínku s časovou hodnotou, systém bude očekávat fixní datum a čas. Nicméně, všimněte si na obrázku výše nenápadné volby pod kalendáříkem Dynamicky. Když zaškrtnete okénko Dynamicky, kalendář se promění v panel pro dynamické (relativní) vložení času.
Na panelu můžete symbolicky určit datum, které bude relativní k aktuálnímu okamžiku. Např.
Začátek měsíce / Posun = 0
značí začátek tohoto měsíce (první den, čas 00:00)
Začátek měsíce / Posun = -1
značí začátek předchozího měsíce (první den, čas 00:00)
Konec měsíce / Posun = 1
značí konec příštího měsíce (poslední den, čas 23:59:59)
Konec roku / Posun = 0
značí konec tohoto roku (31.12. 23:59:59)
...
Dynamické datumy jsou v textovém poli vyjádřeny symbolicky:
Kód | Význam |
---|---|
NOW() | Nahradí se aktuálním datumem a časem |
DSTART(n) | Nahradí se aktuálním datumem s časem 00:00:00. K tomuto datumu je přičteno n dní. |
DEND(n) | Nahradí se aktuálním datumem s časem 23:59:59. K tomuto datumu je přičteno n dní. |
WMSTART(n) | Nahradí se posledním pondělkem s časem 00:00:00. K tomuto datumu je přičteno n týdnů. |
WMEND(n) | Nahradí se nejbližší nedělí s časem 23:59:59. K tomuto datumu je přičteno n týdnů. |
WSSTART(n) | Nahradí se poslední nedělí s časem 00:00:00. K tomuto datumu je přičteno n týdnů. |
WSEND(n) | Nahradí se nejbližší sobotou s časem 23:59:59. K tomuto datumu je přičteno n týdnů. |
MSTART(n) | Nahradí se prvním dnem v měsíci s časem 00:00:00. K tomuto datumu je přičteno n měsíců. |
MEND(n) | Nahradí se posledním dnem v měsíci s časem 23:59:59. K tomuto datumu je přičteno n měsíců. |
QSTART(n) | Nahradí se prvním dnem v kvartálu s časem 00:00:00. K tomuto datumu je přičteno n kvartálů. |
QEND(n) | Nahradí se posledním dnem v kvartálu s časem 23:59:59. K tomuto datumu je přičteno n kvartálů. |
YSTART(n) | Nahradí se prvním dnem v roce s časem 00:00:00. K tomuto datumu je přičteno n let. |
YEND(n) | Nahradí se posledním dnem v roce s časem 23:59:59. K tomuto datumu je přičteno n let. |
Kódy začínající na WM
a WS
reprezentují začátek resp. konec týdne. WM
reprezentuje týden počítaný od pondělka, WS
reprezentuje týden počítaný od neděle (např. v USA). Hodnota n
může být kladné i záporné celé číslo.
Závorkování filtrovacích podmínek
Určitě si pamatujete ze školy, že výraz x + y × z
se vyhodnocuje tak, že se nejprve vynásobí y × z
a následně se přičte x
. Pokud bychom chtěli napřed sčítat, je třeba napsat závorku (x + y) × z
.
S logickými výrazy je to podobné, akorát se místo součinu ×
používá logický součin ∧
(nebo také and
, česky a
) a místo součtu +
se používá logický součet ∨
(nebo také or
, česky nebo
).
Zapamatujte si: logické spojení
a
se vždy vyhodnocuje přednebo
Logický výraz x nebo y a z
(matematik by napsal x ∨ y ∧ z
, programátor by napsal x OR y AND z
) se tedy bude vyhodnocovat tak, že se nejprve zjistí, zda současně platí y a z
a následně se testuje, jestli platí a
.
Zkusme příklad, ve kterém se pokusíme vyfiltrovat všechny kontakty z Prahy a Brna, které mají v databázi vyplněné IČO. Všimněte si, jak je čeština zrádná - napsali jsme Prahy a Brna, i když je zřejmé, že firma nemůže mít sídlo ve dvou městech současně Správně by bylo z Prahy nebo Brna.
Pokud byste filtr udělali jako na příkladu výše, bylo by to špatně kvůli přednostnímu vyhodnocování logického součinu a
před logickým součtem nebo
. CRM by neprve zjistilo všechny kontakty s IČem, které jsou z Brna a k nim by přibralo všechny kontakty z Prahy. Pražské kontakty by se v seznamu záznamů objevily i když by neměly vyplněné IČo, což není náš záměr.
Musíme tedy vytvořit závorku
(tlačítkem +[ podmínky ]), do které nejprve zahrneme první dvě podmínky, a pak přidáme pravidlo týkající se IČa. Takto by měl vypadat správně konstruovaný filtr:
Jakmile přidáváte do filtru podmínky spojené pomocí
nebo
, zbystřete. Je velmi pravděpodobné, že budete potřebovat závorkovat.
Filtr přes odkazující záznamy
Toto je kapitola pro náročnější uživatele :-). Od verze 6.1 umí InTouch CRM filtrovat přes odkazující záznamy. K čemu je to dobré? Představte si, že byste v adresáři chtěli vyfiltrovat všechny VIP zákazníky, kteří si objednali zboží v minulém roce. Něco takového se obvykle řeší momocí speciálních tiskových sestav, protože informace o objednávkách jsou v jiné části systému než jsou informace o kontaktech. Filtr přes odkazující záznamy takový výběr dokáže. Představte si, jak to může pomoct vašim marketérům.
Každá objednávka v CRM odkazuje na kontakt v adresáři, který objednávku podal. Je jednoduché (s tím, co už znáte z této kapitoly) vyfiltrovat objednávky z loňského roku. Je jistě jednoduché vyfiltrovat VIP kontakty. Je třeba obojí dát nějak dohromady. Filtr přes odkazující záznamy je vlastně spojení dvou filtrů z různých částí systému do složitějšího výběru. Slovně by se takový filtr dal popsat:
- Vybereme všechny objednávky z loňského roku.
- Odkazy z těchto objednávek do adresáře použijeme jako základ pro výběr kontaktů.
- K tomu přidáme podmínku, že kontakt musí být VIP.
Filtr přes odkazující záznamy začínáme tvořit v seznamu záznamů, ve kterém chceme vidět konečný výsledek filtru. V tomto případě to bude v seznamu kontaktů. Do filtru kontaktů vložíme filtr objednávek pomocí tlačítka + [odkazující záznamy].
Na obrázku lze vidět kompletní filtr, který navíc demonstruje i dynamické filtrování podle času.
Filtr přes odkazující záznamy je možné vnořit vícekrát a získat tak výstupy, pro které se v jednodušších systémech musí programovat zakázková sestava. Příklady:
- Objednávky, které obsahují produkt od určitého dodavatele.
- Zákazníci, kteří za poslední měsíc navštívili naše webové stránky.
- Zákazníci, kterým se poslední půlrok netelefonovalo ani nemailovalo.