Skip to main content
Workday User Guide
Laatst bijgewerkt: 2024-06-28
Korte referentie Prism-expressie

Korte referentie Prism-expressie

Conversiefuncties

Functie
Omschrijving
Voorbeeld
Hiermee wordt een valutaveld gemaakt op basis van a
NUMERIC
waarde en a
TEXT
of
INSTANCE
waarde die een geldige valutacode bevat. Als de valutacode niet geldig is, retourneert deze functie NULL.
BUILD_CURRENCY([Sale Price], [Currency Code])
Converteert gegevenswaarden van het ene veldtype (gegevenstype) naar het andere.
CAST([Region] AS Instance(eecb565181284b6a8ae8b45dc3ed1451))
CAST(99.99 AS decimal(10,3))
retourneert
99.990
.
CAST(99.99 AS decimal(20,2))
retourneert
99.99
.
CAST(99.999 AS decimal(10,2))
retourneert
100.00
.
Geconverteerd:
LONG
waarden voor
DATE
waarden, waarbij het ingevoerde getal het aantal milliseconden sinds de epoch vertegenwoordigt.
EPOCH_MS_TO_DATE(1360260240000) returns
2013-02-07T18:04:00:000Z
Neemt een valutawaarde en extraheert het numerieke bedrag als a
NUMERIC
waarde.
EXTRACT_AMOUNT([Salary])
Duurt tot
CURRENCY
waarde en extraheert de valutacode als een
INSTANCE
waarde.
EXTRACT_CODE([Salary])
Duurt tot
CURRENCY
waarde en extraheert de valutacode als a
TEXT
waarde.
EXTRACT_CODE_TEXT([Salary])
Geconverteerd:
TEXT
,
BOOLEAN
,
INTEGER
,
LONG
, of
NUMERIC
waarden voor
BOOLEAN
.
TO_BOOLEAN([is_contingent])
Geconverteerd:
TEXT
waarden die geldige gegevens met valutanotatie bevatten
CURRENCY
waarden.
TO_CURRENCY("1234.56 USD")
TO_CURRENCY(CONCAT(TO_STRING([Grant Price]), [Grant Code]))
Geconverteerd:
TEXT
waarden voor
DATE
waarden en geeft de notatie van de datum- en tijdelementen in de tekenreeks aan.
TO_DATE([order_date],"yyyy.MM.dd 'at' HH:mm:ss z")
Geconverteerd:
TEXT
,
BOOLEAN
,
INTEGER
,
LONG
,
DOUBLE
, of
NUMERIC
waarden voor
NUMERIC
waarden met het standaard aantal cijfers vóór en achter de komma.
TO_DECIMAL([average_rating])
Geconverteerd:
TEXT
,
BOOLEAN
,
INTEGER
,
LONG
, of
DOUBLE
waarden voor
DOUBLE
(een type numeriek) waarden.
TO_DOUBLE([average_rating])
Geconverteerd:
TEXT
,
BOOLEAN
,
INTEGER
,
LONG
, of
DOUBLE
waarden voor
INTEGER
(gehele getallen) waarden. Bij conversie:
DOUBLE
waarden, wordt alles achter de komma afgekapt (niet naar boven of beneden afgerond).
TO_INT([average_rating])
Geconverteerd:
TEXT
,
BOOLEAN
,
INTEGER
,
LONG
,
DECIMAL
,
DATE
, of
DOUBLE
waarden voor
Long
(gehele getallen) waarden. Bij conversie:
Decimal
of
DOUBLE
waarden, wordt alles achter de komma afgekapt (niet naar boven of beneden afgerond).
TO_LONG([average_rating])
Converteert waarden van andere gegevenstypen naar:
TEXT
(teken)waarden.
TO_STRING([sku_number])

Datumfuncties

Functie
Omschrijving
Voorbeeld
Hiermee wordt het opgegeven tijdsinterval toegevoegd aan a
DATE
waarde.
DATE_ADD([invoice_date], 45, "day")
Berekent tijd tussen 2
DATE
waarden (
value1
-
value2
) en wordt afgekapt tot dagen (rekening houdend met zomertijd).
DAYS_BETWEEN([ship_date], [order_date])
Retourneert het opgegeven gedeelte van a
DATE
waarde.
EXTRACT("hour",[order_date])
Berekent het gehele aantal uren (zonder minuten, seconden en milliseconden) tussen twee
DATE
waarden (
value1
-
value2
).
HOURS_BETWEEN([ship_date],[order_date])
Berekent het gehele aantal milliseconden tussen twee
DATE
waarden (
value1
-
value2
).
MILLISECONDS_BETWEEN([request_timestamp], [response_timestamp])
Berekent het hele aantal minuten (zonder seconden en milliseconden) tussen twee
DATE
waarden (
value1
-
value2
).
MINUTES_BETWEEN([impression_timestamp], [conversion_timestamp])
Berekent het hele aantal seconden (milliseconden) tussen twee
DATE
waarden (
value1
-
value2
).
SECONDS_BETWEEN([impression_timestamp], [conversion_timestamp])
Retourneert de huidige systeemdatum en -tijd als a
DATE
waarde (geen tijdgegevens). Het kan worden gebruikt in andere expressies met:
DATE
typevelden, zoals
YEAR_DIFF
. Houd er rekening mee dat de waarde van
TODAY
wordt alleen geëvalueerd op het moment dat een gegevensset wordt gepubliceerd (deze wordt niet opnieuw geëvalueerd bij elke query).
YEAR_DIFF(TODAY(), [birthdate])
Wordt afgekapt
DATE
waarde in de opgegeven notatie.
TRUNC(TO_DATE([order_date], "MM/dd/yyyy HH:mm:ss"), "day")
Hiermee wordt het aantal jaren met breuken tussen twee berekend:
DATE
waarden (
value1
-
value2
).
YEAR_DIFF(TODAY(), [birthdate])

Informatieve functies

Functie
Omschrijving
Voorbeeld
Retouren
0
als de geretourneerde waarde is
NULL
, en
1
als de geretourneerde waarde is
NOT NULL
. Dit is handig voor het berekenen van andere berekeningen waarbij u NULL-waarden wilt uitsluiten (zoals bij het berekenen van gemiddelden).
IS_VALID([sale_amount])

Instancefuncties

Functie
Omschrijving
Voorbeeld
Hiermee wordt een veld met meerdere instances geconstrueerd op basis van een of meer opgegeven velden met meerdere instances of instancevelden.
CREATE_MULTI_INSTANCE([Journal1], [Journal2], [Journal3])
Vergelijkt een veld met meerdere instances of een instanceveld met een veld met meerdere instances, een instanceveld of met een lijst met instancewaarden. Het resultaat is 'waar' als er ten minste één instancewaarde in het eerste argument voorkomt en 'onwaar' als geen enkele instancewaarde voorkomt .
INSTANCE_CONTAINS_ANY([Worktags], [Cost Center 1], [Cost Center 2])
Retourneert het totale aantal instancewaarden in een veld met meerdere instances of instances. Deze functie retourneert 0 wanneer het veld leeg is.
INSTANCE_COUNT([Journal Lines])
Vergelijkt een veld met meerdere instances of een instanceveld met een veld met meerdere instances, een instanceveld of met een lijst met instancewaarden en controleert of het eerste argument exact matcht met de instancewaarden die in de andere argumenten zijn opgegeven.
INSTANCE_EQUALS([Worktags], [Cost Center 1], [Cost Center 2])
Vergelijkt een veld met meerdere instances met een veld met meerdere instances, een instanceveld of met een lijst met instancewaarden. Het resultaat is 'waar' als elke instancewaarde in het eerste argument voorkomt en 'onwaar' als er niet ten minste één instancewaarde aanwezig is.
INSTANCE_IS_SUPERSET_OF([Worktags], [Cost Center 1], [Cost Center 2])

Logische functies

Functie
Omschrijving
Voorbeeld
Evalueert elke rij in de gegevensset op basis van een of meer invoervoorwaarden en voert het opgegeven resultaat uit wanneer aan de invoervoorwaarden wordt voldaan.
CASE WHEN [gender] = "M" THEN "Male" WHEN [gender] = "F" THEN "Female" ELSE "Unknown" END
Retourneert de eerste geldige waarde (
NOT NULL
waarde) in een door komma's gescheiden lijst met expressies.
COALESCE([hourly_wage] * 40 * 52, [salary])

Wiskundige functies

Functie
Omschrijving
Voorbeeld
DIV
Deelt door twee
LONG
waarden en retourneert een quotiëntwaarde van het type
LONG
(het resultaat wordt afgekapt tot 0 decimalen).
DIV(TO_LONG([file_size]), 1024)
EXP
Verhoogt de wiskundige constante
e
tot de macht (exponent) van een numerieke waarde en retourneert een waarde van het type
DOUBLE
.
EXP([Value])
Retourneert het grootste gehele getal dat kleiner is dan of gelijk is aan het invoerargument.
FLOOR(32.6789) returns
32.0
Gegevenswaarden worden gelijkmatig gepartitioneerd in het opgegeven aantal buckets. Er wordt een hash van de invoerwaarde gemaakt en aan die waarde een bucketnummer toegewezen. Gelijke waarden worden altijd gehasht naar hetzelfde bucketnummer.
HASH([username],20)
LN
Retourneert de natuurlijke logaritme van een getal. De natuurlijke logaritme is de logaritme ten opzichte van het grondtal
e
, waarbij
e
(Getal van Euler) is een wiskundige constante die ongeveer gelijk is aan 2,718281828. De natuurlijke logaritme van een getal
x
is de macht tot waartoe de constante
e
moet worden verhoogd om gelijk te zijn aan
x
.
LN(2.718281828) returns
1
MOD
Deelt 2
LONG
of
INTEGER
waarden en retourneert de restwaarde van het type
LONG
of
INTEGER
(het resultaat wordt afgekapt tot 0 decimalen).
MOD(TO_LONG([file_size]), 1024)
numerieke waarde verheft tot de macht (exponent) van een andere numerieke waarde en retourneert een waarde van het type
DOUBLE
.
100 * POW([end_value]/[start_value], 0.2) - 1
Rondt een numerieke waarde af op het opgegeven aantal decimalen en retourneert de waarde van het type
DOUBLE
.
ROUND(32.4678954,2) returns
32.47

Tekstfuncties

Functie
Omschrijving
Voorbeeld
Vergelijkt twee
TEXT
argumenten die een CIDR-masker en een IP-adres vertegenwoordigen, en retourneert
1
als het IP-adres binnen het opgegeven subnetmasker valt of
0
als dit niet het geval is.
CIDR_MATCH("60.145.56.0/24", "60.145.56.246") returns
1
Retourneert a
TEXT
door de resultaten van meerdere . samen te voegen (te combineren)
TEXT
expressies.
CONCAT([month], "/", [day], "/", [year])
Extraheert de waarde van de opgegeven cookie-ID uit een door puntkomma's gescheiden lijst met sleutel/waarde-paren voor cookies. Deze functie kan worden gebruikt om een bepaalde cookiewaarde te extraheren uit de kolom 'Cookie voor gecombineerd webtoegangslogboek'.
EXTRACT_COOKIE("SSID=ABC; vID=44", "vID") returns
44
Extraheert de waarde voor de opgegeven sleutel uit een tekenreeks met sleutel/waarde-paren met scheidingstekens.
EXTRACT_VALUE("firstname;daria|lastname;hutch", "lastname", ";", "|") returns
hutch
Retourneert de oorspronkelijke bestandsnaam van het bronbestandssysteem wanneer de gegevens afkomstig zijn uit een basisgegevensset. Als Workday nieuw voor u is, hebt u geen toegang om basisgegevenssets te maken of te bewerken.
TO_DATE(SUBSTRING(FILE_NAME(), 0, 8), "yyyyMMdd")
Converteert een hexadecimaal gecodeerd
TEXT
waarde toe aan een tekstweergave van een IP-adres.
HEX_TO_IP(AB20FE01) returns
171.32.254.1
Retourneert een geheel getal dat de positie aangeeft van een teken in een tekenreeks die gelijk is aan het eerste teken van een subtekenreeks. De
INSTR
De functie '' is vergelijkbaar met de functie FIND in Excel, behalve dat de eerste letter positie 0 is en de volgorde van de argumenten is omgekeerd.
INSTR([url], "http://", -1, 1)
Retourneert de versie zonder escapetekens van een Java Unicode-tekenreeks als a
TEXT
waarde.
CASE WHEN [currency] == JAVA_STRING("\u00a5") THEN "yes" ELSE "no" END
Retourneert a
TEXT
door de resultaten van meerdere . samen te voegen (te combineren)
TEXT
waarden met het scheidingsteken tussen elke niet-nullwaarde.
JOIN_STRINGS("/", [month], [day], [year])
Extraheert a
NUMERIC
waarde uit een veld in een JSON-object.
JSON_DECIMAL([top_scores], "test_scores.2")
Extraheert a
DOUBLE
waarde uit een veld in een JSON-object.
JSON_DOUBLE([top_scores], "test_scores.2")
Extraheert een
INTEGER
waarde uit een veld in een JSON-object.
JSON_INTEGER([top_scores], "test_scores.2")
Extraheert a
LONG
waarde uit een veld in een JSON-object.
JSON_LONG([top_scores], "test_scores.2")
Extraheert a
TEXT
waarde uit een veld in een JSON-object.
JSON_STRING([misc], "hobbies.0")
Retourneert het aantal tekens in a
TEXT
waarde.
LENGTH([name])
Retourneert meerdere uitvoerwaarden die zijn verpakt in één tekenreeks van sleutel/waarde-paren, gescheiden door de standaardscheidingstekens voor sleutels en paren. De geretourneerde tekenreeks heeft een indeling die kan worden gelezen door de
EXTRACT_VALUE
functie.
PACK_VALUES
gebruikt dezelfde scheidingstekens voor sleutels en paren die
EXTRACT_VALUE
gebruikt (de Unicode-escapereeksen)
u0003
and
u0002
, respectievelijk).
PACK_VALUES("ID", [custid], "Age", [age])
Voert een match uit voor een hele tekenreeks met a
TEXT
waarde met een reguliere expressie en retourneert het gedeelte van de tekenreeks dat overeenkomt met de eerste vastleggingsgroep van de reguliere expressie.
REGEX([email], "^[a-zA-Z0-9._%+-]+@
([a-zA-Z0-9._-]+)
\.[a-zA-Z]{2,4}$")
Evalueert een
TEXT
De waarde wordt vergeleken met een reguliere expressie om te bepalen of er een match is. De gematchte tekenreeksen worden vervangen door de opgegeven vervangingswaarde.
REGEX_REPLACE([phone_number], "([0-9]{3})\.([[0-9]]{3})\.([[0-9]]{4})", "\($1\) $2-$3")
Retourneert de tekens van een tekenreekswaarde in de tegenovergestelde volgorde.
REVERSE("123 Main Street")
Retourneert de opgegeven tekens van a
TEXT
waarde op basis van de opgegeven begin- en optionele eindpositie.
SUBSTRING([name], 0, 1)
Converteert alle alfabetische tekens in a
TEXT
waarde in kleine letters.
TO_LOWER("123 Main Street") returns
123 main street
Retourneert a
TEXT
waarde met de eerste letter van elk woord met een hoofdletter.
TO_PROPER("123 Alameda de las Pulgas, San Mateo CA")
Converteert alle alfabetische tekens in a
TEXT
waarde in hoofdletters.
TO_UPPER("123 Main Street")
Verwijdert voorloop- en volgspaties uit a
TEXT
waarde.
TRIM([area_code])
Hiermee wordt XML gebruikt en de eerste tekenreeks geretourneerd die overeenkomt met de opgegeven XPath-expressie.
XPATH_STRING([address], "//address[@type='home']/zipcode")

URL-functies

Functie
Omschrijving
Voorbeeld
Retourneert het autoriteitsgedeelte van een URL-tekenreeks. Het autoriteitsgedeelte van een URL is het gedeelte met informatie over het lokaliseren van en verbinding maken met de server.
URL_AUTHORITY("http://user:password@mycompany.com:8012/mypage.html")
Retourneert het fragmentgedeelte van een URL-tekenreeks.
URL_FRAGMENT("http://workday.com/news.php?topic=press#Workday%20News")
Retourneert het host-, domein- of IP-adresgedeelte van een URL-tekenreeks.
URL_HOST("http://user:password@mycompany.com:8012/mypage.html")
Retourneert het padgedeelte van een URL-tekenreeks.
URL_PATH("http://workday.com/company/contact.html")
Retourneert het poortgedeelte van een URL-tekenreeks.
URL_PORT("http://user:password@mycompany.com:8012/mypage.html")
Retourneert het protocolgedeelte (of URI-schemanaam) van een URL-tekenreeks.
URL_PROTOCOL("http://www.workday.com")
Retourneert het querygedeelte van een URL-tekenreeks.
URL_QUERY("http://workday.com/news.php?topic=press&timeframe=today")
Decodeert een
TEXT
waarde die is gecodeerd met de
application/x-www-form-urlencoded
mediatype.
URLDECODE("N%2FA%20or%20%22not%20applicable%22")

Vensterfuncties

Functie
Omschrijving
Voorbeeld
AVG
Is een aggregatiefunctie voor vensters die rijen partitioneert in groepen, rijen ordent op een veld en het gemiddelde van alle geldige numerieke waarden in de groep retourneert. Alle waarden in de groep worden bij elkaar opgeteld en gedeeld door het aantal geldige rijen (NOT NULL). U kunt gebruiken
AVG
om voortschrijdende gemiddelden te berekenen.
AVG([Sales]) OVER( PARTITION BY [Employee] ORDER BY [SalesDate] DESC ROWS UNBOUNDED PRECEDING)
Is een aggregatiefunctie voor vensters die rijen partitioneert in groepen, rijen ordent op een veld en het totale aantal geldige rijen (NOT NULL) in de groep retourneert. U kunt gebruiken
COUNT
samen met andere functies om cumulatieve aggregaties te berekenen.
COUNT([Sales]) OVER( PARTITION BY [Employee] ORDER BY [SalesDate] DESC ROWS UNBOUNDED PRECEDING)
Is een aggregatiefunctie voor vensters die rijen partitioneert in groepen, rijen ordent op een veld en de waarde van de eerste rij in de groep retourneert.
LAG
Is een aggregatiefunctie voor vensters die rijen partitioneert in groepen, rijen ordent op een veld en de waarde retourneert van een veld in de rij met de opgegeven verschuiving vóór (boven) de huidige rij in de groep.
[Salary] - (LAG([Salary], 1, [Salary]) OVER( PARTITION BY [Employee_Name] ORDER BY [Eff_Date] ASC) )
Is een aggregatiefunctie voor vensters die rijen partitioneert in groepen, rijen ordent op een veld en de waarde van de laatste rij in de groep retourneert.
Is een aggregatiefunctie voor vensters die rijen partitioneert in groepen, rijen ordent op een veld en de waarde van een veld in de rij op de opgegeven verschuiving na (onder) de huidige rij in de groep retourneert.
[Salary] - (LEAD([Salary], 1, [Salary]) OVER( PARTITION BY [Employee_Name] ORDER BY [Eff_Date] DESC) )
MAX
Is een aggregatiefunctie voor vensters die rijen partitioneert in groepen, rijen ordent op een veld en de maximale (hoogste) waarde in de groep retourneert.
MAX([Comp Change]) OVER( PARTITION BY [Supervisory Org], [Quarter] ORDER BY [Comp Change] DESC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING )
MIN
Is een aggregatiefunctie voor vensters die rijen partitioneert in groepen, rijen ordent op een veld en de minimale (laagste) waarde in de groep retourneert.
MIN([Comp Change]) OVER( PARTITION BY [Supervisory Org], [Quarter] ORDER BY [Comp Change] ASC ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING )
Is een aggregatiefunctie voor vensters die wordt gebruikt om een rangnummer toe te wijzen aan elke rij in een groep. Als meerdere rijen dezelfde rangordewaarde hebben (er is een gelijkspel), wordt dezelfde rangordewaarde toegewezen aan de gekoppelde rijen en wordt de volgende rangorde overgeslagen.
RANK() OVER( PARTITION BY [Employee] ORDER BY [Sales] DESC)
Is een aggregatiefunctie voor vensters die rijen partitioneert in groepen, rijen ordent op een veld en een uniek volgnummer toewijst aan elke rij in een groep, te beginnen bij 1 voor de eerste rij in elke groep.
ROW_NUMBER
wijst altijd een unieke waarde toe aan elke rij in een groep. Misschien wilt u
ROW_NUMBER
om een unieke ID te maken voor elke rij in uw gegevensset.
ROW_NUMBER() OVER( PARTITION BY [Employee] ORDER BY [Sales] DESC)
SUM
Is een aggregatiefunctie voor vensters die rijen partitioneert in groepen, rijen ordent op een veld en het totaal van alle waarden in de groep retourneert. U kunt gebruiken
SUM
om lopende totalen te berekenen.
SUM([fieldA]) OVER( PARTITION BY [fieldB] ORDER BY [Month] RANGE 11 PRECEDING)

Rekenkundige operatoren

Operator
Betekenis
Voorbeeld
+
Toevoeging:
[amount] + 10
Voeg 10 toe aan de waarde van het veld [amount].
-
Aftrekken
[amount] - 10
Trek 10 af van de waarde van het veld [amount].
*
Vermenigvuldiging
[amount] * 100
Vermenigvuldig de waarde van het veld [amount] met 100.
/
Divisie
[bytes] / 1024
Deel de waarde van het veld [bytes] door 1024 en retourneer het quotiënt.

Vergelijkingsoperatoren

Operator
Betekenis
Voorbeeld
=
of
==
Gelijk aan
[order_date] = "12/22/2016"
>
Groter dan
[age] > 18
!>
Niet groter dan (equivalent aan)
<
)
[age] !> 8
<
Kleiner dan
[age] < 30
!<
Niet minder dan (equivalent aan)
>=
)
[age] !< 12
>=
Groter dan of gelijk aan
[age] >= 20
<=
Kleiner dan of gelijk aan
[age] <= 29
<>
of
!=
of
^=
Niet gelijk aan
[age] <> 30
BETWEEN
min_value
AND
max_value
Test of een datum- of numerieke waarde binnen de
minimum-
en
maximumwaarden
valt (inclusief).
[year] BETWEEN 2014 AND 2016
IN(
list
)
Test of een waarde binnen een set valt.
[product_type] IN("tablet","phone","laptop")
LIKE("
pattern
")
Eenvoudig inclusief hoofdlettergevoelige tekenpatroonmatching. De
*
teken matcht met een willekeurig aantal tekens. De
?
teken matcht met exact 1 (één) teken.
[last_name] LIKE("?utch*")
Komt overeen met
Kutcher
,
hutch
maar niet
met Krutcher
of
crutch
[company_name] LIKE("workday")
Komt overeen met
Workday
of
workday
waarde
IS NULL
Controleer of een veldwaarde of expressie null (leeg) is.
[ship_date] IS NULL
Wordt geëvalueerd als
'waar'
wanneer het veld
'ship_date'
leeg is

Logische operatoren

Operator
Betekenis
Voorbeeld
AND
Test of twee voorwaarden waar zijn.
OR
Test of een van de twee voorwaarden waar is.
NOT
Hiermee wordt de waarde van andere operatoren omgekeerd.
  • year
    NOT
    BETWEEN 2013 AND 2016
  • first_name
    NOT
    LIKE("Jo?n*")
    Omvat
    John
    ,
    Jonny
    maar niet
    Jon
    of
    Joann
  • Weekday
    NOT
    IN("Saturday", "Sunday")
  • purchase_date IS
    NOT
    NULL
    Wordt geëvalueerd als
    'waar'
    als het veld
    'purchase_date'
    niet leeg is