Hi AJO experts,
I would like to see birthdate is equal to 59 years old and 60 and 65. How can I do it in Expression editor in AJO condition.
It is not working.
Please suggest.
Kind regards,
Vidhi
Views
Replies
Total Likes
Kindly use the following expression
Age -> {%= toInt((ageInMonths(toDateTimeOnly(profile.person.birthDate))/ 12)) %}
{%# if toInt((ageInMonths(toDateTimeOnly(profile.person.birthDate))/ 12)) = 59
or toInt((ageInMonths(toDateTimeOnly(profile.person.birthDate))/ 12)) = 60
or toInt((ageInMonths(toDateTimeOnly(profile.person.birthDate))/ 12)) = 65 %}
Display Relevant Content
{%else%}
Fallback
{%/if%}
Views
Replies
Total Likes
@VidhiKh1 try this
(
yearsBetween(now(), profile.person.birthDate) == 59
||
yearsBetween(now(), profile.person.birthDate) == 60
||
yearsBetween(now(), profile.person.birthDate) == 65
)
Views
Replies
Total Likes
Hi these solutions are not working in expression editor: I get error that it is invalid.
Views
Replies
Total Likes
Previous example I shared was with respect to personalization editor. You can adapt your condition by looking at the example mentioned here https://experienceleaguecommunities.adobe.com/t5/journey-optimizer-questions/getting-age-field/m-p/6...
(
(
(toInteger(substr(toString(now()),0,4))) -
(toInteger(substr(toString(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}),0,4)))
) == 59
)
or
(
(
(toInteger(substr(toString(now()),0,4))) -
(toInteger(substr(toString(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}),0,4)))
) == 60
)
or
(
(
(toInteger(substr(toString(now()),0,4))) -
(toInteger(substr(toString(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}),0,4)))
) == 65
)
Views
Replies
Total Likes
@VidhiKh1 In the advanced expression editor you can compare age in years directly with the age()
helper, then combine the three values with OR logic:
(age(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}) = 59
or age(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}) = 60
or age(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}) = 65)
• age(date)
returns the number of whole years between now and the date you pass (it already handles leap years for you).
• The =
operator checks for equality, and the or
operator lets any of the three comparisons pass.If you prefer a more compact form you can use the in()
collection operator:
in([59,60,65], age(#{ExperiencePlatform.ProfileFieldGroup.profile.person.birthDate}))
Views
Replies
Total Likes