A Műveletek, az összetett marketing rendszerek lelke c. bejegyzésben már megismerhetted a műveletek típusait, beállításait. Ebben a cikkben megismered, hogyan használhatsz haladó függvényeket az adatmódosítást végző műveletekben, például dátumok, számok, logikai értékek és szövegek módosítására.
A bejegyzés tartalma:
Dátum és időpont függvények, műveletek
Ebben a részben megismerheted a dátum típusú függvényeket és azt, hogy hogyan végezhetsz módosítást dátum és időpont mezőkön.
Fontos: A dátum és időpont módosításakor kérjük szentelj különös figyelmet a szóközök (space-ek) használatára! Az egyszerűség kedvéért piros alulvonással ( _ ) egy példán bemutatjuk, hogy hol kell szóköznek szerepelnie:
curdate()_+10_day
Aktuális dátum vagy időpont beírása: Amennyiben a bal oldalon (cél lista) dátum vagy időpont típusú mezőt választottál ki, a jobb oldalon nem csak konkrét dátumot vagy időpontot írhatsz be, hanem további lehetőségeid is vannak:
curdate()- beírja az aznapi dátumot (yyyy.mm.dd.)curtime()- időpont típusú mező esetén beírja a művelet végrehajtásának időpontját másodperc pontossággal (yyyy.mm.dd. hh:mm:ss)curhour()- beírja a művelet lefutásának óráját számként
Dátum módosítása: Mind dátum, mind időpont típusú mező értékét növelheted vagy csökkentheted az alábbi lehetőségekkel:
+n day - a mai dátumot növeli 'n' nappal, ahol 'n' értéke bármilyen egész szám, és azt írja be:
curdate() +n dayvagycurtime() +n day-n day - a mai dátumot csökkenti 'n' nappal, ahol 'n' értéke bármilyen egész szám, és azt írja be:
curdate() -n dayvagycurtime() -n day+n week - a mai dátumot növeli 'n' héttel, ahol 'n' értéke bármilyen egész szám, és azt írja be:
curdate() +n weekvagycurtime() +n week-n week - a mai dátumot csökkenti 'n' héttel, ahol 'n' értéke bármilyen egész szám, és azt írja be:
curdate() -n weekvagycurtime() -n week+n month - a mai dátumot növeli 'n' hónappal, ahol 'n' értéke bármilyen egész szám, és azt írja be:
curdate() +n monthvagycurtime() +n month-n month - a mai dátumot csökkenti 'n' hónappal, ahol 'n' értéke bármilyen egész szám, és azt írja be:
curdate() -n monthvagycurtime() -n month+n year - a mai dátumot növeli 'n' évvel, ahol 'n' értéke bármilyen egész szám, és azt írja be:
curdate() +n yearvagycurtime() +n year-n year - a mai dátumot csökkenti 'n' évvel, ahol 'n' értéke bármilyen egész szám, és azt írja be:
curdate() -n yearvagycurtime() -n yearFontos:Ha már meglévő dátum mező értékét szeretnéd növelni pl. 9 nappal (tehát [datummezo] +9 day), abban az esetben ez a módosítás listán belül végzett adatmódosítással érvényesíthető, listákon átívelően ez a módosítás nem fog végbemenni.
Időpont módosítása: Amennyiben a bal oldalon (cél lista) időpont típusú mezőt választasz ki, a jobb oldalon nem csak konkrét dátumot írhatsz be, hanem további időpont módosítási lehetőségei is vannak. Ezek:
curtime() +n minute- a mezőben lévő dátumhoz hozzáad 'n' percet, az 'n' értéke bármilyen egész szám lehetcurtime() -n minute- a mezőben lévő dátumból kivon 'n' percet, az 'n' értéke bármilyen egész szám lehetcurtime() +n hour- a mezőben lévő dátumhoz hozzáad 'n' órát, az 'n' értéke bármilyen egész szám lehetcurtime() -n hour- a mezőben lévő dátumból kivon 'n' órát, az 'n' értéke bármilyen egész szám lehet
Két dátum vagy időpont között eltelt napok beírása: Két dátum vagy diőpont mező értéke vagy egy fix dátum és egy dátum mező értéke között eltelt napok számát adja vissza. Jobb oldalra ezt írd:
datediffdays([dátummező1],[dátummező2])vagy ha egy fix dátumból szeretnéd kivonni egy dátum mező értékét akkordatediffdays([dátummező],2014-12-01). Az első dátummező vagy fix dátum legyen a későbbi dátum, a második a korábbi, így pozitív számként kerül meghatározásra a két dátum között eltelt napok száma. Tehát ha az első dátum mezőben 2014-12-31 szerepel a másodikban 2014-12-01, akkor az eredmény 31 lesz. A függvényhívás eredménye pozitív vagy negatív egész szám, így az eredményt szám típusú mezőbe kell elmenteni.Két dátum vagy időpont között eltelt órák vagy másodpercek száma: Két időpont mező értéke vagy egy fix időpont és egy időpont mező értéke között eltelt órák vagy másodpercek számát adja vissza. Ha az eltelt órák számát szeretné visszakapni, akkor a jobb oldalra ezt írd:
timediffhours([időpontmező1],[időpontmező2]), ha az eltelt másodpercek számát, akkor ezt:timediffsecs([időpontmező1],[időpontmező2]). Ha egy fix időpontból szeretnéd kivonni egy időpont mező értékét akkortimediffhours([időpontmező],2014-12-01 12:10:00)vagytimediffsecs([időpontmező],2014-12-01 12:10:00)kifejezést használd. Az első időpontmező vagy fix időpont legyen a későbbi dátum, a második a korábbi, így pozitív számként kerül meghatározásra a két időpont között eltelt órák vagy másodpercek száma. Tehát ha az első időpont mezőben 2017-12-31 13:00:00 szerepel a másodikban 2017-12-31 12:00:00, akkor az eredmény 1 óra vagy 3600 másodperc lesz. Az időpont mezők egyike vagy mindegyike helyett használhatsz dátum mezőt vagy fix idődátumot is, ez esetben a dátum a 00:00:00 idővel fog kiegészülni feldolgozáskor. A függvényhívás eredménye pozitív vagy negatív egész szám, így az eredményt szám típusú mezőbe kell elmenteni.
Szám mezők művetei
Ebben a részben megismered, hogyan végezhetsz műveleteket (összeadás, kivonás, szorzás, osztás) szám típusú mezőkkel.
Érték növelése konkrét összeggel: Amennyiben a jobb oldalra azt írod, hogy:
+n, ahol 'n' értéke egész szám, akkor a cél listában az adott mező értékét növelheted 'n' értékével.Érték növelése mező értékével: Amennyiben a jobb oldalra
+[mezo_neve]kifejezést írod, ahol a használt mező a forrás lista egy szám típusú mezője, akkor a cél listában az adott mező értékét növelheted a forrás lista hivatkozott mezőjének értékével. Ennek a műveletnek az a feltétele, hogy a cél listában kiválasztott mező szám típusú mező legyen.Érték csökkentése konkrét összeggel: Amennyiben a jobb oldalra azt írod, hogy:
+(-n), ahol 'n' értéke egész szám, akkor a cél listában az adott mező értékét csökkentheted 'n' értékével.Érték csökkentése mező értékével: Amennyiben a jobb oldalra
+(-[mezo_neve])kifejezést írod, ahol a használt mező a forrás lista egy szám típusú mezője, akkor a cél listában az adott mező értékét csökkentheted a forrás lista hivatkozott mezőjének értékével. Ennek a műveletnek az a feltétele, hogy a cél listában kiválasztott mező szám típusú mező legyen.Érték szorzása konkrét összeggel: Amennyiben a forrás lista mezőhöz (jobb oldal) annyit írsz, hogy:
*n, ahol 'n' értéke egész szám vagy tizedestört (pl.:1.27), akkor a cél listában (bal oldal) az adott mező értéke megszorzásra kerül 'n' értékével. Ennek a műveletnek az a feltétele, hogy a cél listában kiválasztott mező szám típusú mező legyen.Érték szorzása mező értékével: Amennyiben a forrás lista mezőhöz (jobb oldal) annyit írsz, hogy:
*[mezo_neve], ahol 'mezo_neve' a forrás listában található mező neve, akkor a cél listában (bal oldal) az adott mező értéke megszorzásra kerül a forráslistában megadott mező értékével. Ennek a műveletnek az a feltétele, hogy a cél listában kiválasztott mező szám típusú mező legyen.Érték osztása konkrét összeggel: Amennyiben a forrás lista mezőhöz (jobb oldal) annyit írsz, hogy:
/n, ahol 'n' értéke egész szám vagy tizedestört (pl.:1.27), akkor a cél listában (bal oldal) az adott mező értéke elosztásra kerül 'n' értékével. Ennek a műveletnek az a feltétele, hogy a cél listában kiválasztott mező szám típusú mező legyen.Érték osztása mező értékével: Amennyiben a forrás lista mezőhöz (jobb oldal) annyit írsz, hogy:
/[mezo_neve], ahol 'mezo_neve' a forrás listában található mező neve, akkor a cél listában (bal oldal) az adott mező értéke elosztásra kerül a forráslistában megadott mező értékével. Ennek a műveletnek az a feltétele, hogy a cél listában kiválasztott mező szám típusú mező legyen.Érték adása két vagy több mező összegével, különbségével, szorzatával vagy hányadával. Amennyiben a forrás lista mezőhöz (jobb oldal) annyit írsz, hogy:
[szam_mezo_1]+[szam_mezo_2]vagy[szam_mezo_1]-[szam_mezo_2]vagy[szam_mezo_1]*[szam_mezo_2]valamint[szam_mezo_1]/[szam_mezo_2], ahol 'szam_mezo_1' illetve a 'szam_mezo_2' a forrás listában található szám típusú mezők nevei, akkor a cél listában (bal oldal) az adott mező értéke a két szám mező összege / különbsége / szorzata / hányada lesz. Ennek a műveletnek az a feltétele, hogy a cél listában kiválasztott mező is szám típusú mező legyen. Tetszőleges számú mezőt összeadhatsz, összeszorozhatsz. A 1szam_mezo1' illetve 'szam_mezo_2' helyett pozitív szám értéket is használhatsz, így a következő kifejezések szintén helyesek:n+[szam_mezo_2],[szam_mezo_1]+n,n-[szam_mezo_2],[szam_mezo_1]-n,n*[szam_mezo_2],[szam_mezo_1]*n,n/[szam_mezo_2],[szam_mezo_1]/n.
Szöveg függvények
Ezekkel a függvényekkel a mezőkben tárolt szöveges adatokat módosíthatod vagy kombinálhatod.
Szöveg hozzáfűzése meglévő mező értékéhez (összefűzés). Lehetőséged van a művelet cél listájában lévő szöveges mező értékéhez hozzáfűzni egy fix szöveget vagy a forrás lista egy mezőjének értékét. Első lépésként válaszd ki a cél lista azon mezőjét, amelyhez szöveget szeretnél fűzni. (Ehhez a mező típusa vagy "rövid szöveges mező", vagy "több soros szövegdoboz" kell legyen). Ezután kattints a [...] gombra. Ha fix szöveget szeretnél hozzáfűzni a mező meglévő értékéhez, válaszd ki a Módosító függvények közül a Fix szöveg hozzáfűzése opciót, majd kattints a beszúrás gombra. A beviteli mezőben megjelenik a +"Hozzáfűzendő szöveg" tartalom. A beillesztett szöveg részt írd át a hozzáfűzni kívánt szövegre (az idézőjelek nem szükségesek a működéshez). Ha egy mező értékét szeretnéd hozzáfűzni, akkor válaszd a Mező értékének hozzáfűzése opciót, majd kattints a Beszúrás gombra. Ezután a megjelenő legördülőből válaszd ki a hozzáfűzendő mezőt.
Véletlenszerű szöveg beírása: példa:
"MKT"+random(5)A mezőbe egy fix szöveg és utána adott karakterszámú véletlenszerű szöveget ír be. Szintaxis:"szöveg"+random(véletlenszöveg karakterszáma)A véletlenszöveg karakterszáma értékének megfelelő hosszúságú véletlen karaktersorozat (számok és betűk vegyesen) kerülnek generálásra. Ha nem szeretne a véletlenszerű szöveg elé írni semmit, akkor az idézőjelek közé ne írjon semmit.
