Profielexpressies
Een profielexpressie is een regel waarmee je beschrijft aan welke voorwaarden een profiel moet voldoen. Je gebruikt profielexpressies op verschillende plaatsen in de Marketing Suite, bijvoorbeeld om profielen te selecteren, te filteren of te ordenen.
Een eenvoudige profielexpressie ziet er bijvoorbeeld zo uit:
woonplaats = 'Amsterdam' OR woonplaats = 'Rotterdam'
In een profielexpressie kun je databasevelden, collectievelden en interesses gebruiken. Met operators, haakjes en functies kun je eenvoudige en complexe regels opbouwen.
Veldwaardes vergelijken
De volgende operators kun je gebruiken om veldwaardes te vergelijken:
=: is gelijk aan!=: is ongelijk aan<: is kleiner dan>: is groter dan<=: is kleiner dan of gelijk aan>=: is groter dan of gelijk aanLIKE: vergelijkt met een patroonIN: vergelijkt met meerdere waardesIS: controleert bijvoorbeeld opNULL
De meeste operators spreken voor zichzelf. De operator LIKE gebruik je om
patronen te vergelijken. Daarbij kun je de wildcards * en ? gebruiken om
respectievelijk meerdere tekens of één teken te matchen:
woonplaats LIKE '*dam*'
Met IN controleer je of een veld één van meerdere mogelijke waardes bevat:
woonplaats IN ('Amsterdam', 'Rotterdam')
Met IS controleer je bijvoorbeeld of een veld geen waarde heeft:
voornaam IS NULL
Boolean operators
Met boolean operators en haakjes combineer je meerdere vergelijkingen tot één expressie.
AND: aan beide vergelijkingen moet worden voldaanOR: aan minstens één vergelijking moet worden voldaanNOT: draait het resultaat om
Bijvoorbeeld:
(woonplaats = 'Den Haag' OR woonplaats = 'Utrecht') AND telefoonnummer LIKE '06*'
Stringfuncties
In een profielexpressie kun je ook functies gebruiken om tekstwaardes te bewerken.
concat(veld1, veld2, ...): plakt meerdere waardes aan elkaarlength(veld): geeft de lengte van een veldwaarde teruglower(veld): zet tekst om naar kleine lettersupper(veld): zet tekst om naar hoofdletterstrim(veld): verwijdert witruimte aan het begin en eindeltrim(veld): verwijdert witruimte aan het beginrtrim(veld): verwijdert witruimte aan het eindereplace(veld, waarde, vervanging): vervangt tekst in een veldwaardesubstr(veld, start, lengte): haalt een deel van een tekst op
De functie substr() is 0-based. De eerste drie letters krijg je dus met:
substr(veld, 0, 3)
Je kunt de laatste parameter weglaten om de substring tot het einde op te
halen. Ook kun je negatieve waardes gebruiken om vanaf het einde van de tekst
te tellen. Bijvoorbeeld om te controleren of een plaatsnaam eindigt op dam:
substr(woonplaats, -3) = 'dam'
Datumfuncties
Voor datumvelden zijn speciale functies beschikbaar.
year(veld): haalt het jaartal uit een datumveldmonth(veld): haalt het maandnummer op, waarbij januari gelijk is aan1day(veld): haalt de dag van de maand optoday(): geeft de huidige datum terugnow(): geeft de huidige datum en tijd terugshift(veld, aantal, eenheid): verschuift een datumformat(veld, format): geeft een datum terug in een andere notatie
Je kunt deze functies bijvoorbeeld gebruiken om profielen te vinden van mensen die vandaag jarig zijn:
year(geboortedatum) = year(today()) AND month(geboortedatum) = month(today()) AND day(geboortedatum) = day(today())
Of van mensen die over een week jarig zijn:
year(geboortedatum) = year(shift(today(), 7, 'day')) AND month(geboortedatum) = month(shift(today(), 7, 'day')) AND day(geboortedatum) = day(shift(today(), 7, 'day'))
De functie shift() ondersteunt de eenheden year, month en day.
De functie format() ondersteunt onder meer de volgende procentcodes:
%Y: jaar in vier cijfers, zoals2026%y: jaar in twee cijfers, zoals26%m: maandnummer met voorloopnul%c: maandnummer zonder voorloopnul%d: dag van de maand met voorloopnul%e: dag van de maand zonder voorloopnul%H: uur van00tot23%i: minuten van00tot59%s: seconden van00tot59
Daarmee kun je bijvoorbeeld ook controleren of iemand vandaag jarig is:
format(geboortedatum, '%Y-%m-%d') = format(now(), '%Y-%m-%d')