Avancerad redigering av uttryck advanced-expression-editing

Om avancerad redigering av uttryck about-advanced-expression-editing

När du redigerar ett uttryck måste du ange villkor manuellt för att skapa en regel.

I det här läget kan du använda avancerade funktioner. Med de här funktionerna kan du ändra de värden som används för att utföra specifika frågor, som att ändra datum, strängar, numeriska fält, sortering, o.s.v.

Det går också att använda arbetsflödenas händelsevariabler när du redigerar uttryck. Mer information om detta hittar du i avsnittet Anpassa aktiviteter med händelsevariabler.

Du kan redigera uttryck för att:

  • definiera en fråga via alternativet Advanced mode som är tillgängligt när en regel läggs till.

  • redigera ett uttryck i ett arbetsflöde. Om du till exempel vill lägga till ytterligare data i en aktivitet.

  • Redigera ett synlighetsvillkor för att definiera hur ett block i HTML-redigeraren ska visas. I det här fallet redigeras uttrycket i JavaScript-format och erbjuder inte avancerade funktioner som standard.

Redigera ett uttryck edit-an-expression

Med versionen för avancerade uttryck kan du manuellt definiera ett uttryck som passar dina behov.

Du kan använda redigering av uttryck i fönstret Målgrupp när du skapar ett e-postmeddelande eller i en frågeaktivitet när du skapar ett arbetsflöde.

  1. Du kommer åt redigeringsfönstret för uttryck via någon av metoderna som beskrivs i avsnittet Om redigering av avancerade uttryck. Det innehåller följande element:

    • Ett inmatningsfält där uttrycket är definierat.
    • Listan med tillgängliga fält som kan användas i uttrycket och som motsvarar måldimensionen för frågan (se Måldimensioner och resurser).
    • Listan med tillgängliga funktioner, sorterade efter kategori.

  2. Redigera uttrycket genom att ange ett uttryck direkt i motsvarande fält eller genom att använda listorna med tillgängliga fält och funktioner.

    Om du dubbelklickar på ett fält eller ett uttryck läggs det till i det uttryck där markören är placerad.

    Du kan använda arbetsflödenas händelsevariabler för att skapa ett uttryck. Mer information om detta hittar du i avsnittet Anpassa aktiviteter med händelsevariabler.

  3. Ge regeln ett specifikt namn om det behövs. Det angivna namnet visas som regelnamn på arbetsytan för frågeredigeraren.

Om du redigerar ett uttryck kan du anpassa målgruppsuttrycket för att anpassa målgruppen efter behov.

Relaterade ämnen:

Uttryckssyntax expression-syntax

Standardsyntax standard-syntax

Standarduttrycken består av ett eller flera villkor som överensstämmer med följande syntaxelement:

  • Varje villkor har formatet <value1> <comparison operator> <value2> där:

    • <value1> är ett fält eller en funktion. Exempel: @created för datum då en profil skapades eller Year(@created) för året då en profil skapades.
    • <comparison operator> är en av operatörerna i avsnittet Jämförelseoperatörer. Den här operatören definierar jämförelsemetoden mellan <value1> och <value2>.
    • <value2> är ett fält, en funktion eller ett värde som matas in manuellt.
    note note
    NOTE
    Typdata för <value1> och <value2> måste vara identiska. Om till exempel <value1> är ett datum måste även <value2> vara ett datum.
  • Om du vill använda flera villkor kan de kombineras med logiska operatörer.

    • AND: Två villkor korsas.
    • OR: Två villkor kombineras.

Exempel:

Year(@created) = Year(GetDate()) AND Month(@created) = Month(GetDate())

I det här exemplet används de profiler vars skapandedatum är den aktuella månaden och det aktuella året.

JavaScript syntax javascript-syntax

När du definierar synlighetsvillkoren för ett textblock i HTML-redigeraren måste du använda ett uttryck med JavaScript-typsyntax.

JavaScript-uttryck består av ett eller flera villkor och de använder följande syntaxelement:

  • Varje villkor har formatet <context> <comparison operator> <value2> där:

    • <context> är ett fält eller en funktion som gör att du kan ange kontexten. Till exempel context.profile.@email för en profils e-postadress eller context.profile.firstName.length() för antalet tecken i en profils förnamn.
    • <comparison operator> är en av operatörerna i avsnittet Jämförelseoperatörer. Den här operatören definierar jämförelsemetoden mellan <context> och <value2>.
    • <value2> är ett fält, en funktion eller ett värde som matas in manuellt.
    note note
    NOTE
    Typdata för <context> och <value2> måste vara identiska. Om till exempel <context> är ett datum måste även <value2> vara ett datum.
  • Om du vill använda flera villkor kan de kombineras med logiska operatörer.

    • &&: Två villkor korsas.
    • ||: Två villkor kombineras.

Exempel:

context.profile.age > 21 && context.profile.firstName.length() > 0

I det här exemplet används profiler som är äldre än 21 år och vars förnamn har angetts (symboliseras av att fältet firstName innehåller minst ett tecken).

Jämförelseoperatorer comparison-operators

För vissa regler kan du med frågeredigeraren välja ett värde som definierar villkoret.

Villkoren måste kopplas till värden med någon av följande operatörer.

Operatör
Standardsyntax
JavaScript-syntax
Beskrivning
Exempel
Equal to
=
==
Det första värdet måste vara helt identiskt med det andra värdet.
@lastName = Martin hämtar profiler vars efternamn är Martin, med endast dessa identiska tecken.
Greater than
>
>
Det första värdet måste kategoriserat vara större än det andra värdet.
@age > 50 hämtar profiler som är äldre än "50", så "51", "52", o.s.v.
Less than
<
<
Det första värdet måste vara mindre än det andra värdet.
@created < DaysAgo(100) hämtar alla profiler som skapats i databasen för mindre än 100 dagar sedan.
Greater than or equal to
>=
>=
Det första värdet måste vara större än eller lika med det andra värdet.
@age >= 30 hämtar profiler som är 30 år eller äldre.
Less than or equal to
<=
<=
Det första värdet måste vara mindre än eller lika med det andra värdet.
@age <= 60 hämtar profiler som är 60 år eller yngre.
Different
!=
!=
Det första värdet måste vara ett annat än det andra värdet.
@language != English hämtar profiler som inte har definierats som engelska.
Contains
IN
N/A
Det första värdet måste innehålla det andra värdet.
@domain IN mail. Här returneras alla domännamn med värdet "mail" i resultatet. Därför utgör domännamnet "gmail.com" en del av det returnerade resultatet.
Like
LIKE
N/A
Like är mycket lik operatören Contains. Du kan infoga ett %-jokertecken i värdet som eftersöks.
@lastName LIKE Mart%n. Här fungerar ersättningstecknet % som ett "jokertecken" för att hitta namnet "Martin" i det hypotetiska fallet att stavningen inte är korrekt.
Not like
NOT
N/A
Liknar Like. Du kan inte återställa det angivna värdet. Även här måste det angivna värdet innehålla jokertecknet %.
@lastName NOT Smi%h. Här motsvarar mottagarna namnet "Smi%h" (så Smith, o.s.v.) returneras inte som ett resultat.
Is empty
IS NULL
N/A
Det första värdet måste motsvara ett tomt värde.
@mobilePhone IS NULL hämtar alla profiler vars mobiltelefonnummer inte har angetts.
recommendation-more-help
3ef63344-7f3d-48f9-85ed-02bf569c4fff