Översikt över beräknade datauttryck
Du kan använda datauttryck för att definiera beräknade anpassade fält i Adobe Workfront. Beräknade uttryck kopplar befintliga Workfront-fält i satser som genererar ett nytt fält.
Du kan använda beräknade datauttryck i:
-
Ett beräknat anpassat fält i ett anpassat formulär
Mer information om hur du skapar beräknade anpassade fält i anpassade formulär i Workfront finns i Lägg till beräknade fält i ett formulär.
-
En beräknad anpassad kolumn i en rapport eller lista när du använder textläge
Mer information om hur du använder textläge i rapporter och vyer finns i Översikt över textläge.
Syntax för beräknade anpassade fält kontra beräknade anpassade kolumner
Även om funktionerna du använder är desamma kan syntaxen för att skapa ett uttryck i ett beräknat anpassat fält skilja sig från den för att skapa en beräknad anpassad kolumn.
Skillnaderna mellan de två syntaxerna är:
Exempel:
-
I ett anpassat fält, i ett anpassat formulär för uppgifter, använder du följande för att generera namnet på det överordnade projektet för den uppgift där det anpassade formuläret är kopplat:
{project}.{name}
-
I en anpassad kolumn i en rapport använder du följande för att lägga till en anpassad kolumn för projektnamn i en aktivitetsrapport:
valuefield=project:name
eller
valueexpression={project}.{name}
note tip TIP Samma syntax gäller för alla rapportelement i textläge där beräkningsuttryck används: vyer, filter, grupperingar, uppmaningar.
Mer information om syntaxen som du måste använda i en beräknad anpassad kolumn finns i Översikt över textläge.
Datauttryck som du kan använda
I listorna nedan definieras de tillgängliga uttryck som du kan använda när du skapar en av de tre olika typerna av beräknade anpassade fält i Workfront:
Du kan använda uttrycken nedan för att skapa beräknade anpassade kolumner. Du måste dock använda rätt syntax för en beräknad anpassad kolumn, enligt beskrivningen i avsnittet Syntax för beräknade anpassade fält kontra beräknade anpassade kolumner i den här artikeln.
Anpassade fält för datum och tid date-time-calculated-custom-fields
Du kan skapa ett anpassat datum- eller tidsfält med följande uttryck:
Lägger till antalet dagar till datumet. Talvärdet kan innehålla delar av dagar. 1.5 lägger till exempel till en och en halv dag till datumet.
Uttrycket formateras på följande sätt:
ADDDAYS(date, number)
Lägger till antalet veckodagar till datumet. Det här uttrycket lägger bara till heltalsvärden till datumet, avrundat nedåt.
Uttrycket formateras på följande sätt:
ADDWEEKDAYS(date, number)
Lägger till antalet månader till datumet och formateras enligt följande:
ADDMONTHS(date, number)
Lägger till antalet år i datumet och formateras enligt följande:
ADDYEARS(date, number)
Rensar tidsdelen av ett datum och formateras enligt följande. I det här exemplet är datumet startdatum för ett arbetsobjekt.
CLEARTIME({entryDate})
Konverterar en sträng till ett datum och formateras enligt följande:
DATE(string)
Returnerar antalet dagar mellan de två datumen, med beaktande av start- och slutdagarna för den valda perioden samt tidsstämplarna för dessa dagar. Om starttiden för startdatumet till exempel är 3 PM räknas inte startdagen som en hel dag.
Uttrycket formateras på följande sätt:
DATEDIFF(date1, date2)
Returnerar dag i månaden för datumet som ett tal mellan 1 och 31.
Uttrycket formateras på följande sätt. I det här exemplet är datumet startdatum för ett arbetsobjekt.
DAYOFMONTH({entryDate})
Returnerar veckodag för datumet som ett tal mellan 1 (söndag) och 7 (lördag).
Uttrycket formateras på följande sätt. I det här exemplet är datumet startdatum för ett arbetsobjekt.
DAYOFWEEK({entryDate})
Returnerar det totala antalet dagar i månaden med datumet som ett tal och formateras enligt följande. I det här exemplet är datumet startdatum för ett arbetsobjekt.
DAYSINMONTH({entryDate})
Returnerar det totala antalet veckodagar mellan datumet och slutet av veckan, eller slutet av månaden, beroende på vilket som inträffar först. I det här exemplet är datumet startdatum för ett arbetsobjekt.
Uttrycket formateras på följande sätt:
DAYSINSPLITWEEK({entryDate})
Returnerar det totala antalet dagar under datumåret som ett tal och formateras enligt följande. I det här exemplet är datumet startdatum för ett arbetsobjekt.
DAYSINYEAR({entryDate})
Returnerar det senaste datumet i listan och har följande format:
DMAX(date1, date2, ...)
Returnerar det tidigaste datumet i listan och formateras enligt följande:
DMIN(date1, date2, ...)
Returnerar timmen för datumet som ett tal mellan 0 och 23.
Uttrycket formateras på följande sätt. I det här exemplet är datumet startdatum för ett arbetsobjekt.
HOUR({entryDate})
Returnerar minuten för datumet som ett tal mellan 0 och 60, formaterat enligt följande. I det här exemplet är datumet startdatum för ett arbetsobjekt.
MINUTE({entryDate})
Returnerar månaden för datumet som ett tal mellan 1 och 12, formaterat enligt följande. I det här exemplet är datumet startdatum för ett arbetsobjekt.
MONTH({entryDate})
Returnerar den andra delen av datumet som ett tal mellan 0 och 60, formaterat enligt följande. I det här exemplet är datumet startdatum för ett arbetsobjekt.
SECOND({entryDate})
Returnerar antalet veckodagar mellan två datum, med beaktande av start- och slutdagarna för den valda perioden samt tidsstämplarna för dessa dagar. Om starttiden för startdatumet till exempel är 3 PM räknas inte startdagen som en heldag.
Uttrycket formateras på följande sätt:
WEEKDAYDIFF(date2, date1)
Returnerar antalet schemalagda minuter mellan datumen enligt standardschemat.
Uttrycket formateras på följande sätt:
WORKMINUTESDIFF(date1, date2)
Returnerar datumåret som ett fyrsiffrigt tal, formaterat enligt följande. I det här exemplet är datumet startdatum för ett arbetsobjekt.
YEAR({entryDate})
Matematiskt beräknade anpassade fält mathematical-calculated-custom-fields
Du kan skapa ett beräknat anpassat fält som använder några av följande matematiska uttryck:
Returnerar talets absoluta värde och formateras enligt följande. I det här exemplet används antalet objekt under objektet som det anpassade formuläret är kopplat till.
ABS({numberOfChildren})
Returnerar medelvärdet av tal och formateras enligt följande:
AVERAGE(number1, number2, ...)
Avrundar ett tal uppåt till närmaste heltal och formateras enligt följande. I det här exemplet används antalet objekt under objektet som det anpassade formuläret är kopplat till.
CEIL({numberOfChildren})
Dividerar alla tal i angiven ordning och med följande format:
DIV(number1, number2, ...)
Avrundar ett tal nedåt till närmaste heltal och formateras enligt följande. I det här exemplet används antalet objekt under objektet som det anpassade formuläret är kopplat till.
FLOOR({numberOfChildren})
Returnerar det naturliga logaritmvärdet för talet och formateras enligt följande:
LN({numberOfChildren})
Returnerar logaritmvärdet för number2 till bastalet1 och formateras enligt följande:
LOG(number1, number2)
Returnerar det största objektet i listan och formateras enligt följande:
MAX(item1, item2, ...)
Returnerar det minsta objektet i listan och formateras enligt följande:
MIN(item1, item2, ...)
Konverterar en sträng till ett tal och formateras enligt följande:
NUMBER(string)
Returnerar ett tal upphöjt till en potens och formateras enligt följande:
POWER(number, power)
Multiplicerar alla tal och formateras enligt följande:
PROD(number1, number2, ....)
ANMÄRKNING
När du multiplicerar fält som innehåller timmar ska du kontrollera om databasen sparar timmarna i markerade fält på några minuter, timmar eller sekunder. Om timmarna sparas i minuter eller sekunder men visas i timmar i Workfront-gränssnittet kan du behöva räkna med konverteringen från minuter eller sekunder till timmar när du skriver ett uttryck med den här beräkningen.
Avrundar talet upp till angivna decimaler och formateras enligt följande:
ROUND(number, precision)
Ordnar talen i stigande ordning och formateras enligt följande:
SORTASCNUM(number1,number2, ...)
Ordnar talen i fallande ordning och formateras enligt följande:
SORTDESCNUM(number1, number2, ...)
Returnerar en kvadratrot av ett tal och formateras enligt följande. I det här exemplet används antalet objekt under objektet som det anpassade formuläret är kopplat till.
SQRT({numberOfChildren})
Subtraherar alla tal i angiven ordning och formateras enligt följande:
SUB(number1, number2, ...)
Lägger till alla tal och formateras enligt följande:
SUM(number1, number2, ...)
Textberäknade anpassade fält text-calculated-custom-fields
Du kan skapa ett beräknat anpassat fält som visar ett textformaterat värde med följande uttryck:
Används med andra uttryck för att välja ett värde från en lista baserat på ett indexvärde.
Ett indexvärde är ett fält eller en funktion som returnerar ett numeriskt värde (vanligtvis i ett känt intervall).
Uttrycket formateras på följande sätt:
CASE(indexNumber, value1, value2, ...)
Följande uttryck returnerar till exempel namnet på veckodagen, där 1=söndag, 2=måndag och så vidare, i en beräknad kolumn:
CASE(DAYOFWEEK({entryDate}),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
Fungerar bäst med andra uttryck som returnerar ett tal, till exempel DAYOFWEEK, DAYOFMONTH och MONTH.
Sammanfogar strängen och formateras enligt följande:
CONCAT(string1,"separator", string2)
Här följer några exempel på avgränsare som du kan inkludera:
- ett blanksteg: " "
- ett streck: "-"
- ett snedstreck: "/"
- ett komma: ","
- a word: "or", "and"
Returnerar true om strängen findText finns i strängen withinText och har följande format:
CONTAINS(findText, withinText)
Undertrycker alla specialtecken i strängen så att de kan inkluderas i ett URL-argument.
Uttrycket formateras på följande sätt:
ENCODEURL(string)
Utvärderar ett villkor som du anger och returnerar värdet för trueExpression om det är true, eller värdet för falseExpression om det är false.
Uttrycket formateras på följande sätt:
IF(condition, trueExpression, falseExpression)
Du kan till exempel jämföra två olika datumfält följt av ett sant/falskt resultat som en datasträng:
IF({projectedCompletionDate}>{plannedCompletionDate},"Off Track","On Track")
I det dagliga talet betyder den här satsen:"OM mitt objekts beräknade slutförandedatum är"Större än" det planerade slutförandedatumet för mitt objekt, visar du sedan ordet"Av-spår" i det här fältet. Annars visar du ordet"Vid spår"."
Om du inte vill märka uttrycken true eller false måste du infoga en tom etikett i programsatsen, till exempel:
IF({projectedCompletionDate}>{plannedCompletionDate},"","On Track")
eller
IF({projectedCompletionDate}>{plannedCompletionDate},"Off Track","")
Mer information om hur du skapar IF-satser finns i Översikt över IF-satser.
Gör att du kan söka efter ett specifikt värde i en sträng med möjliga värden. Om värdet som du söker efter är lika med ett av de angivna värdena returnerar uttrycket trueExpression, annars returneras falseExpression.
Uttrycket formateras på följande sätt:
IFIN(value, value1, value2,..., trueExpression, falseExpression)
Du kan till exempel hitta en specifik projektägare och markera projekten med en angiven tagg i en projektvy:
IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","Marketing Team","Other Teams")
I det dagliga talet betyder det här meddelandet:"Om projektägaren är Jennifer Campbell eller Rick Kuvec markerar du projektet med"Marketing Team", annars markerar du det med"Other Teams"."
Om du inte vill märka uttrycken true eller false måste du infoga en tom etikett i programsatsen, till exempel:
IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","","Other Teams")
eller
IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","Marketing Team","")
Returnerar true om värdet är lika med ett av de angivna värdena, annars returneras false.
Uttrycket formateras på följande sätt:
IN(value, value1[, value2...])
Returnerar true om värdet är null eller tomt, annars returneras false.
Uttrycket formateras på följande sätt:
ISBLANK(value)
Returnerar ett angivet antal tecken från den vänstra sidan av en sträng och formateras enligt följande:
LEFT(string, length)
Returnerar längden på en sträng och formateras enligt följande:
LEN(string)
Returnerar strängen med gemener och formateras enligt följande:
LOWER(string)
Ersätter alla förekomster av sträng2 med sträng3 i sträng1.
Uttrycket formateras på följande sätt:
REPLACE(string1, string2, string3)
Returnerar ett angivet antal tecken från strängens högra sida och formateras enligt följande:
RIGHT(string, length)
Returnerar indexvärdet för den första förekomsten av findText i strängen withinText, med början vid den angivna startpositionen, eller -1 om texten inte hittas.
Uttrycket formateras på följande sätt:
SEARCH(findText, withinText, start)
Konverterar ett tal till en sträng och formateras enligt följande:
STRING(number)
Sorterar en lista med strängar i stigande ordning och formateras enligt följande:
SORTASCSTRING(string1, string2, ...)
Sorterar en lista med strängar i fallande ordning och formateras enligt följande:
SORTDESCSTRING(string1, string2, ...)
Returnerar tecken i en sträng baserat på det start- och slutindex som anges och formateras enligt följande:
SUBSTR({string}, number of start position, number of end position)
Tar bort mellanrum från början och slutet av en sträng och formateras enligt följande:
TRIM(string)
Returnerar en sträng med versaler och formateras enligt följande:
UPPER(string)