Datatransformeringsuttryck i mappning av dataflöde

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dataflöden är tillgängliga både i Azure Data Factory och Azure Synapse Pipelines. Den här artikeln gäller mappning av dataflöden. Om du inte har använt transformationer kan du läsa den inledande artikeln Transformera data med hjälp av ett mappningsdataflöde.

Den här artikeln innehåller information om uttryck och funktioner som stöds av Azure Data Factory och Azure Synapse Analytics i mappning av dataflöden.

Uttrycksfunktioner

I Data Factory och Synapse-pipelines använder du uttrycksspråket för funktionen för att mappa dataflöde för att konfigurera datatransformationer.

Uttrycksfunktion Uppgift
Abs Absolutvärde för ett tal.
Acos Beräknar ett cosinus-inverterat värde.
Add Lägger till ett par strängar eller siffror. Lägger till ett datum till ett antal dagar. Lägger till en varaktighet till en tidsstämpel. Lägger till en matris av liknande typ till en annan. Samma som operatorn + .
addDays Lägg till dagar till ett datum eller en tidsstämpel. Samma som operatorn + för datum.
addMonths Lägg till månader till ett datum eller en tidsstämpel. Du kan också skicka en tidszon.
and Logisk AND-operator. Samma som &&.
Asin Beräknar ett inverterat sinusvärde.
Atan Beräknar ett inverterat tangentvärde.
atan2 Returnerar vinkeln i radianer mellan den positiva x-axeln i ett plan och punkten som ges av koordinaterna.
Mellan Kontrollerar om det första värdet finns mellan två andra värden. Numeriska värden, strängvärden och datetime-värden kan jämföras
bitwiseAnd Bitvis and-operator över heltalstyper. Samma som & operatorn
bitwiseOr Bitvis Or-operator över heltalstyper. Samma | som-operatorn
bitwiseXor Bitvis Or-operator över heltalstyper. Samma | som-operatorn
v2b Beräknar Sammanfattning 2 av en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd som bara kan vara multiplar av 8 mellan 8 & 512. Det kan användas för att beräkna ett fingeravtryck för en rad
v2bBinary Beräknar Sammanfattning 2 av en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd som bara kan vara multiplar av 8 mellan 8 & 512. Det kan användas för att beräkna ett fingeravtryck för en rad
Fall Baserat på alternerande villkor tillämpas ett värde eller ett annat. Om antalet indata är jämnt är det andra standardvärdet NULL för det sista villkoret.
cbrt Beräknar kubroten för ett tal.
Ceil Returnerar det minsta heltal som inte är mindre än talet.
coalesce Returnerar det första inte null-värdet från en uppsättning indata. Alla indata ska vara av samma typ.
columnNames Hämtar namnen på alla utdatakolumner för en dataström. Du kan skicka ett valfritt dataströmnamn som det andra argumentet.
Kolumner Hämtar värdena för alla utdatakolumner för en dataström. Du kan skicka ett valfritt dataströmnamn som det andra argumentet.
Jämföra Jämför två värden av samma typ. Returnerar negativt heltal om value1 < value2, 0 if value1 == value2, positive value if value1 > value2.
Concat Sammanfogar ett variabelt antal strängar. Samma som operatorn + med strängar.
concatWS Sammanfogar ett variabelt antal strängar tillsammans med en avgränsare. Den första parametern är avgränsaren.
Cos Beräknar ett cosinusvärde.
Cosh Beräknar ett hyperboliskt cosinus för ett värde.
crc32 Beräknar CRC32-hashen för en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd som bara kan vara av värdena 0(256), 224, 256, 384, 512. Det kan användas för att beräkna ett fingeravtryck för en rad.
currentDate Hämtar det aktuella datumet då jobbet börjar köras. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
currentTimestamp Hämtar den aktuella tidsstämpeln när jobbet börjar köras med lokal tidszon.
currentUTC Hämtar den aktuella tidsstämpeln som UTC. Om du vill att din aktuella tid ska tolkas i en annan tidszon än klustrets tidszon kan du skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Standardvärdet är den aktuella tidszonen. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. Om du vill konvertera UTC-tiden till en annan tidszon använder du fromUTC() .
dayOfMonth Hämtar dagen i månaden givet ett datum.
dayOfWeek Hämtar veckodagen givet ett datum. 1 - söndag, 2 - måndag ..., 7 - lördag.
dayOfYear Hämtar dagen på året givet ett datum.
Dagar Varaktighet i millisekunder för antal dagar.
Grader Konverterar radianer till grader.
Dela Dividerar par med tal. Samma som / operatorn .
dropLeft Tar bort så många tecken som möjligt från vänster om strängen. Om den begärda listrutan överskrider längden på strängen returneras en tom sträng.
dropRight Tar bort så många tecken från höger om strängen. Om den begärda listrutan överskrider längden på strängen returneras en tom sträng.
endsWith Kontrollerar om strängen slutar med den angivna strängen.
Motsvarar Jämförelse är lika med operator. Samma som ==-operatorn.
equalsIgnoreCase Jämförelsen är lika med operatorn ignorerar case. Samma som <=> operatorn.
Fly Undviker en sträng enligt ett format. Literalvärden för godkänt format är "json", "xml", "ecmascript", "html", "java".
Uttryck Resulterar i ett uttryck från en sträng. Det här är samma sak som att skriva det här uttrycket i en icke-literal form. Detta kan användas för att skicka parametrar som strängrepresentationer.
Fakulteten Beräknar faktorn för ett tal.
Falska Returnerar alltid ett falskt värde. Använd funktionen om syntax(false()) det finns en kolumn med namnet "false".
Golvet Returnerar det största heltal som inte är större än talet.
fromBase64 Avkodar den angivna base64-kodade strängen.
fromUTC Konverterar till tidsstämpeln från UTC. Du kan även skicka tidszonen i form av "GMT", "PST", "UTC", "America/Cayman". Standardvärdet är den aktuella tidszonen. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
större än Operatorn Comparison Greater. Samma som > operatorn.
större än eller lika med Jämförelse större än eller lika med operator. Samma som >= operatorn.
Största Returnerar det största värdet i listan med värden som indata som hoppar över null-värden. Returnerar null om alla indata är null.
hasColumn Söker efter ett kolumnvärde efter namn i dataströmmen. Du kan skicka ett valfritt dataströmnamn som det andra argumentet. Kolumnnamn som är kända vid designtiden bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.
Timme Hämtar timvärdet för en tidsstämpel. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
Timmar Varaktighet i millisekunder för antal timmar.
Iif Baserat på ett villkor tillämpas ett värde eller ett annat. Om annan är ospecificerad betraktas den som NULL. Båda värdena måste vara kompatibla (numeriska, sträng...).
iifNull Kontrollerar om den första parametern är null. Om inte null returneras den första parametern. Om null returneras den andra parametern. Om tre parametrar anges är beteendet detsamma som iif(isNull(value1), value2, value3) och den tredje parametern returneras om det första värdet inte är null.
initCap Konverterar den första bokstaven i varje ord till versaler. Ord identifieras som avgränsade med blanksteg.
Instr Söker efter positionen(1 baserat) för delsträngen i en sträng. 0 returneras om det inte hittas.
isDelete Kontrollerar om raden är markerad för borttagning. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isError Kontrollerar om raden har markerats som fel. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isIgnore Kontrollerar om raden har markerats för att ignoreras. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isInsert Kontrollerar om raden är markerad för infogning. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isMatch Kontrollerar om raden matchas vid uppslag. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
Ärnull Kontrollerar om värdet är NULL.
isUpdate Kontrollerar om raden är markerad för uppdatering. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isUpsert Kontrollerar om raden är markerad för infogning. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
jaroWinkler Hämtar JaroWinkler-avståndet mellan två strängar.
lastDayOfMonth Hämtar det sista datumet i månaden givet ett datum.
Minst Jämförelse mindre än eller lika med operator. Samma som <= operator.
Vänster Extraherar en delsträng som börjar vid index 1 med antalet tecken. Samma som SUBSTRING(str, 1, n).
length Returnerar längden på strängen.
Mindre Jämförelse mindre operator. Samma som < operatorn.
mindre än eller lika med Jämförelse mindre än eller lika med operator. Samma som <= operator.
Levenshtein Hämtar avståndet mellan två strängar.
som Mönstret är en sträng som matchas bokstavligen. Undantagen är följande specialsymboler: _ matchar ett tecken i indata (liknar . i posix reguljära uttryck)
Leta upp Söker efter positionen(1 baserat) för delsträngen i en sträng som startar en viss position. Om positionen utelämnas beaktas den från början av strängen. 0 returneras om det inte hittas.
Logga in Beräknar loggvärdet. En valfri bas kan anges i annat fall med ett Euler-nummer om det används.
log10 Beräknar loggvärdet baserat på 10 bas.
Lägre Gemener i en sträng.
lpad Vänster utfyllnad av strängen med den angivna utfyllnaden tills den har en viss längd. Om strängen är lika med eller större än längden trimmas den till längden.
Ltrim Vänster trimmar en sträng med inledande tecken. Om den andra parametern är ospecificerad rensas blanksteget. Annars trimmas alla tecken som anges i den andra parametern.
md5 Beräknar MD5-sammanfattningen av en uppsättning kolumner med olika primitiva datatyper och returnerar en hexadexsträng på 32 tecken. Det kan användas för att beräkna ett fingeravtryck för en rad.
Millisekund Hämtar millisekundvärdet för ett datum. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
millisekunder Varaktighet i millisekunder för antal millisekunder.
Minus Subtraherar tal. Subtrahera antalet dagar från ett datum. Subtrahera varaktighet från en tidsstämpel. Subtrahera två tidsstämplar för att få skillnad i millisekunder. Samma som operatorn - .
Minuters Hämtar minutvärdet för en tidsstämpel. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
Minuter Varaktighet i millisekunder i antal minuter.
Mod Modulus av par med tal. Samma som operatorn % .
månad Hämtar månadsvärdet för ett datum eller en tidsstämpel.
månaderBetween Hämtar antalet månader mellan två datum. Du kan avrunda beräkningen. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
Multiplicera Multiplicerar par med tal. Samma som operatorn * .
Förneka Negerar ett tal. Omvandlar positiva tal till negativa och vice versa.
nextSequence Returnerar nästa unika sekvens. Talet är endast i följd inom en partition och föregås av partitionId.
Normalisera Normaliserar strängvärdet till att avgränsa accenterade Unicode-tecken.
Inte Logisk negationsoperator.
notEquals Jämförelsen är inte lika med operatorn . Samma som !=-operatorn.
notNull Kontrollerar om värdet inte är NULL.
null Returnerar ett NULL-värde. Använd funktionen om syntax(null()) det finns en kolumn med namnet "null". Alla -åtgärd som använder resulterar i ett NULL-värde.
eller Logisk OR-operator. Samma som | | .
pMod Positiv modulus av par med tal.
Partitionid Returnerar det aktuella partitions-ID som indataraden finns i.
Makt Höjer ett tal till en annans kraft.
Radianer Konverterar grader till radianer
Slumpmässiga Returnerar ett slumptal givet ett valfritt startvärdet inom en partition. Startvärdet ska vara ett fast värde och används tillsammans med partitionId för att skapa slumpmässiga värden
regexExtract Extrahera en matchande delsträng för ett visst regex-mönster. Den sista parametern identifierar matchningsgruppen och är standardvärdet 1 om det utelämnas. Använd <regex> (bakåtcitat) för att matcha en sträng utan undantag.
regexMatch Kontrollerar om strängen matchar det angivna regex-mönstret. Använd <regex> (bakåtcitat) för att matcha en sträng utan undantag.
regexReplace Ersätt alla förekomster av ett regex-mönster med en annan delsträng i den angivna strängen Använd (bakåtcitat) för att matcha <regex> en sträng utan undantag.
regexSplit Delar upp en sträng baserat på en avgränsare baserat på regex och returnerar en matris med strängar.
Ersätta Ersätt alla förekomster av en delsträng med en annan delsträng i den angivna strängen. Om den sista parametern utelämnas är standardvärdet tom sträng.
Omvänd Inverterar en sträng.
Rätt Extraherar en delsträng med antal tecken från höger. Samma som SUBSTRING(str, LENGTH(str) – n, n).
rlike Kontrollerar om strängen matchar det angivna regex-mönstret.
Runda Avrundar ett tal med en valfri skala och ett valfritt avrundningsläge. Om skalan utelämnas är standardvärdet 0. Om läget utelämnas används standardinställningen ROUND_HALF_UP(5). Värdena för avrundning inkluderar
rpad Högermarkerar strängen med den angivna utfyllnaden tills den har en viss längd. Om strängen är lika med eller större än längden trimmas den till längden.
rtrim Höger rensar en sträng med avslutande tecken. Om den andra parametern är ospecificerad rensas blanksteget. Annars trimmas alla tecken som anges i den andra parametern.
Andra Hämtar det andra värdet för ett datum. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
Sekunder Varaktighet i millisekunder i antal sekunder.
sha1 Beräknar SHA-1-sammanfattningen av en uppsättning kolumner med varierande primitiva datatyper och returnerar en hexadexsträng på 40 tecken. Det kan användas för att beräkna ett fingeravtryck för en rad.
sha2 Beräknar SHA-2-sammanfattningen av en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd som bara kan vara av värdena 0(256), 224, 256, 384, 512. Det kan användas för att beräkna ett fingeravtryck för en rad.
Synd Beräknar ett sinusvärde.
Sinh Beräknar ett hyperboliskt sinusvärde.
Soundex Hämtar soundex koden för strängen.
Split Delar upp en sträng baserat på en avgränsare och returnerar en matris med strängar.
Rot Beräknar kvadratroten för ett tal.
startsWith Kontrollerar om strängen börjar med den angivna strängen.
subDays Subtrahera dagar från ett datum eller en tidsstämpel. Samma som operatorn - för datum.
submonths Subtrahera månader från ett datum eller en tidsstämpel.
Delsträng Extraherar en delsträng med en viss längd från en position. Positionen är 1 baserat. Om längden utelämnas är den som standard slut på strängen.
Tan Beräknar ett tangensvärde.
Tanh Beräknar ett hyperboliskt tangensvärde.
Översätta Ersätt en uppsättning tecken med en annan uppsättning tecken i strängen. Tecken har 1 till 1 ersättning.
Trimma Trimmar en sträng med inledande och avslutande tecken. Om den andra parametern är ospecificerad rensas blanksteget. Annars trimmas alla tecken som anges i den andra parametern.
Sant Returnerar alltid ett sant värde. Använd funktionen om syntax(true()) det finns en kolumn med namnet "true".
typeMatch Matchar typen av kolumn. Kan endast användas i mönsteruttryck.number matchar kort, heltal, lång, dubbel, flyttal eller decimal, heltalsmatchningar korta, heltal, långa, bråkmatchningar double, flyttal, decimal- och datetime-matchningar av datum- eller tidsstämpeltyp.
unescape Unescapes a string according to a format. Literalvärden för godkänt format är "json", "xml", "ecmascript", "html", "java".
Övre Versaler en sträng.
uuid Returnerar genererat UUID.
weekOfYear Hämtar veckan på året givet ett datum.
Veckor Varaktighet i millisekunder i antal veckor.
Xor Logisk XOR-operator. Samma som operatorn ^ .
år Hämtar årsvärdet för ett datum.

Mängdfunktioner

Följande funktioner är bara tillgängliga i aggregerings-, pivot-,pivot- och fönstertransformningar.

Mängdfunktion Uppgift
approxDistinctCount Hämtar det ungefärliga aggregerade antalet distinkta värden för en kolumn. Den valfria andra parametern är att kontrollera uppskattningsfelet.
Avg Hämtar medelvärdet av värden för en kolumn.
avgIf Baserat på ett villkor hämtar medelvärdet av värden för en kolumn.
Samla Samlar in alla värden för uttrycket i den aggregerade gruppen till en matris. Strukturer kan samlas in och omvandlas till alternativa strukturer under den här processen. Antalet objekt är lika med antalet rader i gruppen och kan innehålla null-värden. Antalet insamlade objekt ska vara litet.
count Hämtar det aggregerade antalet värden. Om de valfria kolumnerna anges ignoreras NULL-värden i antalet.
countDistinct Hämtar det aggregerade antalet distinkta värden för en uppsättning kolumner.
Countif Baserat på ett villkor hämtar det aggregerade antalet värden. Om den valfria kolumnen anges ignoreras NULL-värden i antalet.
covariancePopulation Hämtar populationens kvarians mellan två kolumner.
covariancePopulationIf Hämtar populationens kvarians för två kolumner baserat på ett villkor.
covarianceSample Hämtar exempelkvariansen för två kolumner.
covarianceSampleIf Hämtar samvariansen för två kolumner baserat på ett villkor.
Första Hämtar det första värdet för en kolumngrupp. Om den andra parametern ignoreNulls utelämnas antas den vara false.
isDistinct Söker efter om en kolumn eller uppsättning kolumner är distinkt. Null räknas inte som ett distinkt värde
Toppighet Hämtar stapeln.
så här: Hämtar kolumnrubriken baserat på ett villkor.
Senaste Hämtar det sista värdet för en kolumngrupp. Om den andra parametern ignoreNulls utelämnas antas den vara false.
Max Hämtar det maximala värdet för en kolumn.
maxIf Hämtar det maximala värdet för en kolumn baserat på ett villkor.
medelvärde Hämtar medelvärdet av värden för en kolumn. Samma som AVG.
meanIf Baserat på ett villkor hämtar medelvärdet av värden för en kolumn. Samma som avgIf.
min Hämtar det minsta värdet för en kolumn.
minIf Hämtar det minsta värdet för en kolumn baserat på ett villkor.
Skewness Hämtar snedheten i en kolumn.
skevhetIf Hämtar en kolumns skevhet baserat på ett villkor.
stddev Hämtar standardavvikelsen för en kolumn.
stddevIf Hämtar standardavvikelsen för en kolumn baserat på ett villkor.
stddevPopulation Hämtar populationens standardavvikelse för en kolumn.
stddevPopulationIf Hämtar populationens standardavvikelse för en kolumn baserat på ett villkor.
stddevSample Hämtar exemplets standardavvikelse för en kolumn.
stddevSampleIf Hämtar exemplets standardavvikelse för en kolumn baserat på ett villkor.
Summan Hämtar den aggregerade summan av en numerisk kolumn.
sumDistinct Hämtar den sammanställda summan av distinkta värden för en numerisk kolumn.
sumDistinctIf Baserat på kriterier hämtar den aggregerade summan av en numerisk kolumn. Villkoret kan baseras på valfri kolumn.
sumIf Baserat på kriterier hämtar den aggregerade summan av en numerisk kolumn. Villkoret kan baseras på valfri kolumn.
Varians Hämtar variansen för en kolumn.
varianceIf Hämtar variansen för en kolumn baserat på ett villkor.
variancePopulation Hämtar populationens varians för en kolumn.
variancePopulationIf Hämtar populationens varians för en kolumn baserat på ett villkor.
varianceSample Hämtar den objektiva variansen för en kolumn.
varianceSampleIf Hämtar den objektiva variansen för en kolumn baserat på ett villkor.

Matrisfunktioner

Matrisfunktioner utför transformningar på datastrukturer som är matriser. Dessa omfattar särskilda nyckelord för att adressera matriselement och index:

  • #acc representerar ett värde som du vill inkludera i dina enskilda utdata när du minskar en matris
  • #index representerar det aktuella matrisindexet, tillsammans med matrisindexnummer #index2, #index3 ...
  • #item representerar det aktuella elementvärdet i matrisen
Matrisfunktion Uppgift
matris Skapar en matris med objekt. Alla objekt ska vara av samma typ. Om inga objekt anges är en tom strängmatris standard. Samma som en []-genereringsoperator.
Söker efter elementet i ett matrisindex. Indexet är 1-baserat. Out-of-bounds-index resulterar i ett null-värde. Söker efter ett värde i en karta givet en nyckel. Om nyckeln inte hittas returneras null.
Innehåller Returnerar true om något element i den angivna matrisen utvärderas som sant i det angivna predikatet. Contains förväntar sig en referens till ett element i predikatfunktionen som #item.
Distinkta Returnerar en distinkt uppsättning objekt från en matris.
Utom Returnerar en skillnadsuppsättning för en matris från en annan släppa dubbletter.
Filter Filtrerar element från matrisen som inte uppfyller det angivna predikatet. Filtret förväntar sig en referens till ett element i predikatfunktionen som #item.
Hitta Hitta det första objektet från en matris som matchar villkoret. Det tar en filterfunktion där du kan adressera objektet i matrisen som #item. För djupt kapslade kartor kan du referera till de överordnade kartorna med hjälp av #item_n(#item_1, #item_2...).
Platta Plattar ut matriser eller matriser till en enda matris. Matriser med atomiska objekt returneras oförändrade. Det sista argumentet är valfritt och är som standard falskt för att platta ut rekursivt mer än en nivå djup.
I Kontrollerar om ett objekt finns i matrisen.
intersect Returnerar en skärningspunktsuppsättning med distinkta objekt från 2 matriser.
Karta Kartor varje element i matrisen till ett nytt element med hjälp av det angivna uttrycket. Map förväntar sig en referens till ett element i uttrycksfunktionen som #item.
mapIf Villkorlig mappning av en matris till en annan matris med samma eller mindre längd. Värdena kan vara av valfri datatyp, inklusive structTypes. Det tar en mappningsfunktion där du kan adressera objektet i matrisen som #item och aktuellt index som #index. För djupt kapslade kartor kan du referera till de överordnade kartorna med #item_[n](#item_1, #index_1...) hjälp av notationen .
mapIndex Kartor varje element i matrisen till ett nytt element med hjälp av det angivna uttrycket. Map förväntar sig en referens till ett element i uttrycksfunktionen som #item och en referens till elementindexet som #index.
mapLoop Loopar från 1 till längd för att skapa en matris med den längden. Det tar en mappningsfunktion där du kan hantera indexet i matrisen som #index. För djupt kapslade kartor kan du referera till de överordnade kartorna med hjälp av #index_n(#index_1, #index_2...) notation.
Minska Ackumulerar element i en matris. Reduce förväntar sig en referens till en ackumulator och ett element i den första uttrycksfunktionen som #acc och #item och förväntar sig att det resulterande värdet som #result ska användas i den andra uttrycksfunktionen.
Storlek Söker efter storleken på en matris eller mappningstyp
Skiva Extraherar en delmängd av en matris från en position. Positionen är 1 baserat. Om längden utelämnas blir strängens slut som standard.
Sortera Sorterar matrisen med hjälp av den angivna predikatfunktionen. Sort förväntar sig en referens till två på varandra följande element i uttrycksfunktionen som #item1 och #item2.
Utvecklas Delar upp en matris i en uppsättning rader och upprepar värdena för de återstående kolumnerna på varje rad.
Unionen Returnerar en union med distinkta objekt från 2 matriser.

Funktioner för cachelagrad sökning

Följande funktioner är bara tillgängliga när du använder en cachelagrad sökning när du har inkluderat en cachelagrad mottagare.

Cachelagrad sökningsfunktion Uppgift
Sökning Söker efter den första raden från den cachelagrade mottagaren med de angivna nycklarna som matchar nycklarna från den cachelagrade mottagaren.
mlookup Söker efter alla matchande rader från den cachelagrade mottagaren med hjälp av de angivna nycklarna som matchar nycklarna från den cachelagrade mottagaren.
Produktionen Returnerar den första raden i resultatet av cache-mottagaren
Utgångar Returnerar hela utdataraduppsättningen för resultatet av cache-mottagaren

Konverteringsfunktioner

Konverteringsfunktioner används för att konvertera data och testa för datatyper

Konverteringsfunktion Uppgift
isBitSet Kontrollerar om en bitposition har angetts i den här bituppsättningen
setBitSet Anger bitpositioner i den här bituppsättningen
isBoolean Kontrollerar om strängvärdet är ett booleskt värde enligt reglerna för toBoolean()
isByte Kontrollerar om strängvärdet är ett bytevärde beroende på ett valfritt format enligt reglerna för toByte()
isDate Kontrollerar om indatadatumsträngen är ett datum med ett valfritt format för indatadatum. Se Javas SimpleDateFormat för tillgängliga format. Om formatet för indatadatum utelämnas är standardformatet yyyy-[M]M-[d]d . Godkända format är [ yyyy, yyyy-[M]M, yyyy-[M]M-[d]d, yyyy-[M]M-[d]dT* ]
isShort Kontroller av strängvärdet är ett kort värde givet ett valfritt format enligt reglerna för toShort()
isInteger Kontroller av strängvärdet är ett heltalsvärde beroende på ett valfritt format enligt reglerna för toInteger()
isLong Kontroller av strängvärdet är ett långt värde givet ett valfritt format enligt reglerna för toLong()
isNan Kontrollera om det här inte är ett tal.
isFloat Kontroller av strängvärdet är ett flyttalsvärdet givet ett valfritt format enligt reglerna för toFloat()
isDouble Kontroller av strängvärdet är ett dubbelt värde beroende på ett valfritt format enligt reglerna för toDouble()
isDecimal Kontroller av strängvärdet är ett decimalvärde beroende på ett valfritt format enligt reglerna för toDecimal()
isTimestamp Kontrollerar om datumsträngen för indata är en tidsstämpel med ett valfritt tidsstämpelformat för indata. Se Javas SimpleDateFormat för tillgängliga format. Om tidsstämpeln utelämnas används yyyy-[M]M-[d]d hh:mm:ss[.f...] standardmönstret. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Tidsstämpeln stöder upp till millisekundprecision med värdet 999 Se Javas SimpleDateFormat för tillgängliga format.
toBase64 Kodar den angivna strängen i base64.
toBinary Konverterar numeriska/datum/tidsstämpel/strängar till binär representation.
toBoolean Konverterar värdet ('t', 'true', 'y', 'yes', '1') till true och ('f', 'false', 'n', 'no', '0') till false och NULL för andra värden.
toByte Konverterar numeriska värden eller strängar till ett bytevärde. Ett valfritt Java-decimalformat kan användas för konverteringen.
toDate Konverterar indatadatumsträngen till datum med ett valfritt format för indatadatum. Se Java-klassen SimpleDateFormat för tillgängliga format. Om formatet för indatadatum utelämnas är standardformatet yyyy-[M]M-[d]d. Godkända format är :[ yyyy, yyyy-[M]M, yyyy-[M]M]M-[d]d, yyyy-[M]M-[d]dT* ].
toDecimal Konverterar alla numeriska värden eller strängar till ett decimalvärde. Om precision och skala inte anges är standardvärdet (10,2). Ett valfritt Java-decimalformat kan användas för konverteringen. Ett valfritt språkformat i formatet BCP47-språk som en-US, de, zh-CN.
toDouble Konverterar alla numeriska värden eller strängar till ett dubbelt värde. Ett valfritt Java-decimalformat kan användas för konverteringen. Ett valfritt språkformat i formatet BCP47-språk som en-US, de, zh-CN.
toFloat Konverterar numeriska värden eller strängar till ett flyttal. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar en dubbel.
toInteger Konverterar alla numeriska värden eller strängar till ett heltalsvärde. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar alla långa flyttal, dubbla.
toLong Konverterar alla numeriska värden eller strängar till ett långt värde. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar alla flyttal, double.
toShort Konverterar alla numeriska värden eller strängar till ett kort värde. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar alla heltal, långt, flyttal, double.
toString Konverterar en primitiv datatyp till en sträng. För tal och datum kan ett format anges. Om systemstandarden är ospecificerad hämtas. Java-decimalformat används för tal. Se Java SimpleDateFormat för alla möjliga datumformat. Standardformatet är yyyy-MM-dd.
toTimestamp Konverterar en sträng till en tidsstämpel med ett valfritt tidsstämpelformat. Om tidsstämpeln utelämnas används standardmönstret yyyy-[M]M-[d]d hh:mm:ss[.f...]. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Tidsstämpeln stöder upp till millisekundprecision med värdet 999. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
toUTC Konverterar tidsstämpeln till UTC. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Standardvärdet är den aktuella tidszonen. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

Kartfunktioner

Kartfunktioner utför åtgärder på map-datatyper

Funktionen Map Uppgift
Associera Skapar en karta över nyckel/värden. Alla nycklar & värden ska vara av samma typ. Om inga objekt anges används som standard en mappning av sträng till strängtyp. Samma som en [ -> ] genereringsoperator. Nycklar och värden bör växlas med varandra.
keyValues Skapar en karta över nyckel/värden. Den första parametern är en matris med nycklar och den andra är matrisen med värden. Båda matriserna ska ha samma längd.
mapAssociation Transformerar en karta genom att associera nycklarna till nya värden. Returnerar en matris. Det tar en mappningsfunktion där du kan adressera objektet som #key och aktuellt värde som #value.
associera på ett annat sätt Transformerar en karta genom att associera nycklarna till nya värden. Det tar en mappningsfunktion där du kan adressera objektet som #key och aktuellt värde som #value.

Metafunktioner

Metafunktioner fungerar främst på metadata i ditt dataflöde

Metafunktion Uppgift
byItem Hitta ett underobjekt i en struktur eller matris med struktur Om det finns flera matchningar returneras den första matchningen. Om ingen matchning matchar returneras ett NULL-värde. Det returnerade värdet måste typkonverteringen göras om med någon av typkonverteringsåtgärderna(? Datum? sträng ...). Kolumnnamn som är kända vid design bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar
byOrigin Väljer ett kolumnvärde efter namn i ursprungsströmmen. Det andra argumentet är namnet på ursprungsströmmen. Om det finns flera matchningar returneras den första matchningen. Om ingen matchning matchar returneras ett NULL-värde. Det returnerade värdet måste typkonverterades med någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...). Kolumnnamn som är kända vid design bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.
byOrigins Väljer en matris med kolumner efter namn i dataströmmen. Det andra argumentet är den dataström som den kom från. Om det finns flera matchningar returneras den första matchningen. Om ingen matchning matchar returneras ett NULL-värde. Det returnerade värdet måste typkonverterades med någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...) Kolumnnamn som är kända vid design bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.
byName Väljer ett kolumnvärde efter namn i dataströmmen. Du kan skicka ett valfritt strömnamn som det andra argumentet. Om det finns flera matchningar returneras den första matchningen. Om ingen matchning matchar returneras ett NULL-värde. Det returnerade värdet måste typkonverterades med någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...). Kolumnnamn som är kända vid design bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.
byNames Välj en matris med kolumner efter namn i dataströmmen. Du kan skicka ett valfritt strömnamn som det andra argumentet. Om det finns flera matchningar returneras den första matchningen. Om det inte finns några matchningar för en kolumn är hela utdata ett NULL-värde. Det returnerade värdet kräver en typkonverteringsfunktion (toDate, toString, ...). Kolumnnamn som är kända vid design bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.
byPath Söker efter en hierarkisk sökväg efter namn i dataströmmen. Du kan skicka ett valfritt strömnamn som det andra argumentet. Om ingen sådan sökväg hittas returneras null. Kolumnnamn/sökvägar som är kända vid designtiden bör adresseras med bara deras namn eller punkt notationssökväg. Beräknade indata stöds inte, men du kan använda parameterersättningar.
byPosition Väljer ett kolumnvärde efter dess relativa position(1 baserat) i dataströmmen. Om positionen ligger utanför gränserna returneras ett NULL-värde. Det returnerade värdet måste typkonverterades med någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...) Beräknade indata stöds inte, men du kan använda parameterersättningar.
hasPath Kontrollerar om det finns en viss hierarkisk sökväg efter namn i dataströmmen. Du kan skicka ett valfritt strömnamn som det andra argumentet. Kolumnnamn/sökvägar som är kända vid designtiden bör adresseras med bara deras namn eller punkt notationssökväg. Beräknade indata stöds inte, men du kan använda parameterersättningar.
originColumns Hämtar alla utdatakolumner för en ursprungsström där kolumner skapades. Måste omges av en annan funktion.
hex Returnerar en hexadex-strängrepresentation av ett binärt värde
unhex Tar bort ett binärt värde från dess strängrepresentation. Detta kan användas tillsammans med sha2, md5 för att konvertera från sträng till binär representation

Fönsterfunktioner

Följande funktioner är bara tillgängliga i fönstertransformningar.

Windows funktion Uppgift
cumeDist Funktionen CumeDist beräknar positionen för ett värde i förhållande till alla värden i partitionen. Resultatet är antalet rader som föregår eller är lika med den aktuella raden i partitionens ordning dividerat med det totala antalet rader i fönsterpartitionen. Alla oavgjorda värden i ordningsföljden utvärderas till samma position.
denseRank Beräknar rangordningen för ett värde i en grupp med värden som anges i ett fönsters order by-sats. Resultatet är ett plus antalet rader före eller lika med den aktuella raden i partitionens ordning. Värdena skapar inga luckor i sekvensen. Dense Rank fungerar även när data inte sorteras och söker efter ändringar i värden.
fördröjning Hämtar värdet för den första parametern som utvärderats n rader före den aktuella raden. Den andra parametern är antalet rader att titta tillbaka och standardvärdet är 1. Om det inte finns lika många rader returneras värdet null om inget standardvärde har angetts.
Leda Hämtar värdet för den första parametern som utvärderats n rader efter den aktuella raden. Den andra parametern är antalet rader att se framåt och standardvärdet är 1. Om det inte finns lika många rader returneras värdet null om inget standardvärde har angetts.
nTile Funktionen NTile delar in raderna för varje fönsterpartition i n buckets från 1 till högst n . Bucketvärdena skiljer sig med högst 1. Om antalet rader i partitionen inte delas upp jämnt i antalet bucketar distribueras restvärdena en per bucket, och börjar med den första bucketen. Funktionen NTile är användbar för beräkning av , tertiles kvartiles, deciler och annan vanlig sammanfattningsstatistik. Funktionen beräknar två variabler under initieringen: Storleken på en vanlig bucket har en extra rad tillagd. Båda variablerna baseras på storleken på den aktuella partitionen. Under beräkningsprocessen håller funktionen reda på det aktuella radnumret, det aktuella bucketnumret och radnumret som bucketen ändras på (bucketThreshold). När det aktuella radnumret når buckettröskelvärdet ökas bucketvärdet med ett och tröskelvärdet ökas med bucketstorleken (plus ett extra om den aktuella bucketen är utplåstrad).
Frodigt Beräknar rangordningen för ett värde i en grupp med värden som anges i ett fönsters order by-sats. Resultatet är ett plus antalet rader som föregår eller är lika med den aktuella raden i partitionens ordning. Värdena skapar luckor i sekvensen. Rangordningen fungerar även när data inte sorteras och söker efter ändringar i värden.
rowNumber Tilldelar en sekventiell radnumrering för rader i ett fönster som börjar med 1.

Alfabetisk lista över alla funktioner

Nedan visas en alfabetisk lista över alla funktioner som är tillgängliga i mappning av dataflöden.

abs

abs(<value1> : number) => number

Absolutvärde för ett tal.

  • abs(-20) -> 20
  • abs(10) -> 10

acos

acos(<value1> : number) => double

Beräknar ett cosinus-inverterat värde.

  • acos(1) -> 0.0

add

add(<value1> : any, <value2> : any) => any

Lägger till ett par strängar eller siffror. Lägger till ett datum till ett antal dagar. Lägger till en varaktighet till en tidsstämpel. Lägger till en matris av liknande typ till en annan. Samma som operatorn + .

  • add(10, 20) -> 30
  • 10 + 20 -> 30
  • add('ice', 'cream') -> 'icecream'
  • 'ice' + 'cream' + ' cone' -> 'icecream cone'
  • add(toDate('2012-12-12'), 3) -> toDate('2012-12-15')
  • toDate('2012-12-12') + 3 -> toDate('2012-12-15')
  • [10, 20] + [30, 40] -> [10, 20, 30, 40]
  • toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS') + (days(1) + hours(2) - seconds(10)) -> toTimestamp('2019-02-04 07:19:18.871', 'yyyy-MM-dd HH:mm:ss.SSS')

addDays

addDays(<date/timestamp> : datetime, <days to add> : integral) => datetime

Lägg till dagar till ett datum eller en tidsstämpel. Samma som operatorn + för datum.

  • addDays(toDate('2016-08-08'), 1) -> toDate('2016-08-09')

addMonths

addMonths(<date/timestamp> : datetime, <months to add> : integral, [<value3> : string]) => datetime

Lägg till månader till ett datum eller en tidsstämpel. Du kan också skicka en tidszon.

  • addMonths(toDate('2016-08-31'), 1) -> toDate('2016-09-30')
  • addMonths(toTimestamp('2016-09-30 10:10:10'), -1) -> toTimestamp('2016-08-31 10:10:10')

and

and(<value1> : boolean, <value2> : boolean) => boolean

Logisk AND-operator. Samma som &&.

  • and(true, false) -> false
  • true && false -> false

approxDistinctCount

approxDistinctCount(<value1> : any, [ <value2> : double ]) => long

Hämtar det ungefärliga aggregerade antalet distinkta värden för en kolumn. Den valfria andra parametern är att kontrollera uppskattningsfelet.

  • approxDistinctCount(ProductID, .05) => long

array

array([<value1> : any], ...) => array

Skapar en matris med objekt. Alla objekt ska vara av samma typ. Om inga objekt anges är en tom strängmatris standard. Samma som en [] genereringsoperator.

  • array('Seattle', 'Washington')
  • ['Seattle', 'Washington']
  • ['Seattle', 'Washington'][1]
  • 'Washington'

asin

asin(<value1> : number) => double

Beräknar ett inverterat sinusvärde.

  • asin(0) -> 0.0

associate

reassociate(<value1> : map, <value2> : binaryFunction) => map

Skapar en karta över nyckel/värden. Alla nycklar & värden ska vara av samma typ. Om inga objekt anges används som standard en mappning av sträng till strängtyp. Samma som en [ -> ] genereringsoperator. Nycklar och värden bör vara alternerande med varandra.

  • associate('fruit', 'apple', 'vegetable', 'carrot' )=> ['fruit' -> 'apple', 'vegetable' -> 'carrot']

at

at(<value1> : array/map, <value2> : integer/key type) => array

Söker efter elementet i ett matrisindex. Indexet är 1-baserat. Out-of-bounds-index resulterar i ett null-värde. Hittar ett värde i en karta givet en nyckel. Om nyckeln inte hittas returneras null.

  • at(['apples', 'pears'], 1) => 'apples'
  • at(['fruit' -> 'apples', 'vegetable' -> 'carrot'], 'fruit') => 'apples'

atan

atan(<value1> : number) => double

Beräknar ett inverterat tangentvärde.

  • atan(0) -> 0.0

atan2

atan2(<value1> : number, <value2> : number) => double

Returnerar vinkeln i radianer mellan den positiva x-axeln i ett plan och punkten som ges av koordinaterna.

  • atan2(0, 0) -> 0.0

avg

avg(<value1> : number) => number

Hämtar medelvärdet av värden för en kolumn.

  • avg(sales)

avgIf

avgIf(<value1> : boolean, <value2> : number) => number

Baserat på ett villkor hämtar medelvärdet av värden för en kolumn.

  • avgIf(region == 'West', sales)

between

between(<value1> : any, <value2> : any, <value3> : any) => boolean

Kontrollerar om det första värdet finns mellan två andra värden. Numeriska värden, strängvärden och datetime-värden kan jämföras * between(10, 5, 24)

  • true
  • between(currentDate(), currentDate() + 10, currentDate() + 20)
  • false

bitwiseAnd

bitwiseAnd(<value1> : integral, <value2> : integral) => integral

Bitvis and-operator över heltalstyper. Samma som & operatorn * bitwiseAnd(0xf4, 0xef)

  • 0xe4
  • (0xf4 & 0xef)
  • 0xe4

bitwiseOr

bitwiseOr(<value1> : integral, <value2> : integral) => integral

Bitvis Or-operator över heltalstyper. Samma som | Operatör * bitwiseOr(0xf4, 0xef)

  • 0xff
  • (0xf4 | 0xef)
  • 0xff

bitwiseXor

bitwiseXor(<value1> : any, <value2> : any) => any

Bitvis Or-operator över heltalstyper. Samma som | Operatör * bitwiseXor(0xf4, 0xef)

  • 0x1b
  • (0xf4 ^ 0xef)
  • 0x1b
  • (true ^ false)
  • true
  • (true ^ true)
  • false

blake2b

blake2b(<value1> : integer, <value2> : any, ...) => string

Beräknar Sammanfattning 2 av en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd som bara kan vara multiplar av 8 mellan 8 & 512. Det kan användas för att beräkna ett fingeravtryck för en rad * blake2b(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))

  • 'c9521a5080d8da30dffb430c50ce253c345cc4c4effc315dab2162dac974711d'

blake2bBinary

blake2bBinary(<value1> : integer, <value2> : any, ...) => binary

Beräknar Sammanfattning 2 av en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd som bara kan vara multiplar av 8 mellan 8 & 512. Det kan användas för att beräkna ett fingeravtryck för en rad * blake2bBinary(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))

  • unHex('c9521a5080d8da30dffb430c50ce253c345cc4c4effc315dab2162dac974711d')

byItem

byItem(<parent column> : any, <column name> : string) => any

Hitta ett underobjekt i en struktur eller matris med struktur Om det finns flera matchningar returneras den första matchningen. Om ingen matchar returneras ett NULL-värde. Det returnerade värdet måste typkonverteringstypen konverteras av någon av typkonverteringsåtgärderna(? Datum? sträng ...). Kolumnnamn som är kända vid designtiden bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar * byItem( byName('customer'), 'orderItems') ? (itemName as string, itemQty as integer)

  • byItem( byItem( byName('customer'), 'orderItems'), 'itemName') ? string

byName

byName(<column name> : string, [<stream name> : string]) => any

Väljer ett kolumnvärde efter namn i dataströmmen. Du kan skicka ett valfritt dataströmnamn som det andra argumentet. Om det finns flera matchningar returneras den första matchningen. Om ingen matchar returneras ett NULL-värde. Det returnerade värdet måste typkonverteringen ska konverteras av någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...). Kolumnnamn som är kända vid designtiden bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.

  • toString(byName('parent'))
  • toLong(byName('income'))
  • toBoolean(byName('foster'))
  • toLong(byName($debtCol))
  • toString(byName('Bogus Column'))
  • toString(byName('Bogus Column', 'DeriveStream'))

byNames

byNames(<column names> : array, [<stream name> : string]) => any

Välj en matris med kolumner efter namn i dataströmmen. Du kan skicka ett valfritt dataströmnamn som det andra argumentet. Om det finns flera matchningar returneras den första matchningen. Om det inte finns några matchningar för en kolumn är hela utdata ett NULL-värde. Det returnerade värdet kräver en typkonverteringsfunktion (toDate, toString, ...). Kolumnnamn som är kända vid designtiden bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.

  • toString(byNames(['parent', 'child']))
  • byNames(['parent']) ? string
  • toLong(byNames(['income']))
  • byNames(['income']) ? long
  • toBoolean(byNames(['foster']))
  • toLong(byNames($debtCols))
  • toString(byNames(['a Column']))
  • toString(byNames(['a Column'], 'DeriveStream'))
  • byNames(['orderItem']) ? (itemName as string, itemQty as integer)

byOrigin

byOrigin(<column name> : string, [<origin stream name> : string]) => any

Väljer ett kolumnvärde efter namn i ursprungsströmmen. Det andra argumentet är namnet på ursprungsströmmen. Om det finns flera matchningar returneras den första matchningen. Om ingen matchar returneras ett NULL-värde. Det returnerade värdet måste typkonverteringen konverteras av någon av typkonverteringsfunktionerna(TO_DATE, TO_STRING ...). Kolumnnamn som är kända vid designtiden bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.

  • toString(byOrigin('ancestor', 'ancestorStream'))

byOrigins

byOrigins(<column names> : array, [<origin stream name> : string]) => any

Väljer en matris med kolumner efter namn i dataströmmen. Det andra argumentet är den dataström som den kom från. Om det finns flera matchningar returneras den första matchningen. Om ingen matchar returneras ett NULL-värde. Det returnerade värdet måste typkonverteringen ska konverteras av någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...) Kolumnnamn som är kända vid designtiden bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.

  • toString(byOrigins(['ancestor1', 'ancestor2'], 'ancestorStream'))

byPath

byPath(<value1> : string, [<streamName> : string]) => any

Söker efter en hierarkisk sökväg efter namn i dataströmmen. Du kan skicka ett valfritt dataströmnamn som det andra argumentet. Om ingen sådan sökväg hittas returneras null. Kolumnnamn/sökvägar som är kända vid designtiden bör adresseras bara efter deras namn eller punkt notation sökväg. Beräknade indata stöds inte, men du kan använda parameterersättningar.

  • byPath('grandpa.parent.child') => column

byPosition

byPosition(<position> : integer) => any

Väljer ett kolumnvärde efter dess relativa position (1 baserat) i dataströmmen. Om positionen ligger utanför gränserna returneras ett NULL-värde. Det returnerade värdet måste typkonverteringen ska konverteras av någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...) Beräknade indata stöds inte, men du kan använda parameterersättningar.

  • toString(byPosition(1))
  • toDecimal(byPosition(2), 10, 2)
  • toBoolean(byName(4))
  • toString(byName($colName))
  • toString(byPosition(1234))

case

case(<condition> : boolean, <true_expression> : any, <false_expression> : any, ...) => any

Baserat på alternerande villkor tillämpas ett värde eller ett annat. Om antalet indata är jämnt är det andra standardvärdet NULL för det sista villkoret.

  • case(10 + 20 == 30, 'dumbo', 'gumbo') -> 'dumbo'
  • case(10 + 20 == 25, 'bojjus', 'do' < 'go', 'gunchus') -> 'gunchus'
  • isNull(case(10 + 20 == 25, 'bojjus', 'do' > 'go', 'gunchus')) -> true
  • case(10 + 20 == 25, 'bojjus', 'do' > 'go', 'gunchus', 'dumbo') -> 'dumbo'

cbrt

cbrt(<value1> : number) => double

Beräknar kubroten för ett tal.

  • cbrt(8) -> 2.0

ceil

ceil(<value1> : number) => number

Returnerar det minsta heltal som inte är mindre än talet.

  • ceil(-0.1) -> 0

coalesce

coalesce(<value1> : any, ...) => any

Returnerar det första inte null-värdet från en uppsättning indata. Alla indata ska vara av samma typ.

  • coalesce(10, 20) -> 10
  • coalesce(toString(null), toString(null), 'dumbo', 'bo', 'go') -> 'dumbo'

collect

collect(<value1> : any) => array

Samlar in alla värden för uttrycket i den aggregerade gruppen till en matris. Strukturer kan samlas in och omvandlas till alternativa strukturer under den här processen. Antalet objekt är lika med antalet rader i gruppen och kan innehålla null-värden. Antalet insamlade objekt ska vara litet.

  • collect(salesPerson)
  • collect(firstName + lastName))
  • collect(@(name = salesPerson, sales = salesAmount) )

columnNames

columnNames(<value1> : string) => array

Hämtar namnen på alla utdatakolumner för en dataström. Du kan skicka ett valfritt dataströmnamn som det andra argumentet.

  • columnNames()
  • columnNames('DeriveStream')

columns

columns([<stream name> : string]) => any

Hämtar värdena för alla utdatakolumner för en dataström. Du kan skicka ett valfritt dataströmnamn som det andra argumentet.

  • columns()
  • columns('DeriveStream')

compare

compare(<value1> : any, <value2> : any) => integer

Jämför två värden av samma typ. Returnerar negativt heltal om value1 < value2, 0 if value1 == value2, positivt värde om value1 > value2.

  • (compare(12, 24) < 1) -> true
  • (compare('dumbo', 'dum') > 0) -> true

concat

concat(<this> : string, <that> : string, ...) => string

Sammanfogar ett variabelt antal strängar. Samma som operatorn + med strängar.

  • concat('dataflow', 'is', 'awesome') -> 'dataflowisawesome'
  • 'dataflow' + 'is' + 'awesome' -> 'dataflowisawesome'
  • isNull('sql' + null) -> true

concatWS

concatWS(<separator> : string, <this> : string, <that> : string, ...) => string

Sammanfogar ett variabelt antal strängar tillsammans med en avgränsare. Den första parametern är avgränsaren.

  • concatWS(' ', 'dataflow', 'is', 'awesome') -> 'dataflow is awesome'
  • isNull(concatWS(null, 'dataflow', 'is', 'awesome')) -> true
  • concatWS(' is ', 'dataflow', 'awesome') -> 'dataflow is awesome'

contains

contains(<value1> : array, <value2> : unaryfunction) => boolean

Returnerar true om något element i den angivna matrisen utvärderas som sant i det angivna predikatet. Contains förväntar sig en referens till ett element i predikatfunktionen som #item.

  • contains([1, 2, 3, 4], #item == 3) -> true
  • contains([1, 2, 3, 4], #item > 5) -> false

cos

cos(<value1> : number) => double

Beräknar ett cosinusvärde.

  • cos(10) -> -0.8390715290764524

cosh

cosh(<value1> : number) => double

Beräknar ett hyperboliskt cosinus för ett värde.

  • cosh(0) -> 1.0

count

count([<value1> : any]) => long

Hämtar det aggregerade antalet värden. Om de valfria kolumnerna anges ignoreras NULL-värden i antalet.

  • count(custId)
  • count(custId, custName)
  • count()
  • count(iif(isNull(custId), 1, NULL))

countDistinct

countDistinct(<value1> : any, [<value2> : any], ...) => long

Hämtar det aggregerade antalet distinkta värden för en uppsättning kolumner.

  • countDistinct(custId, custName)

countIf

countIf(<value1> : boolean, [<value2> : any]) => long

Baserat på ett villkor hämtar det aggregerade antalet värden. Om den valfria kolumnen anges ignoreras NULL-värden i antalet.

  • countIf(state == 'CA' && commission < 10000, name)

covariancePopulation

covariancePopulation(<value1> : number, <value2> : number) => double

Hämtar populationens kvarians mellan två kolumner.

  • covariancePopulation(sales, profit)

covariancePopulationIf

covariancePopulationIf(<value1> : boolean, <value2> : number, <value3> : number) => double

Hämtar populationens kvarians för två kolumner baserat på ett villkor.

  • covariancePopulationIf(region == 'West', sales)

covarianceSample

covarianceSample(<value1> : number, <value2> : number) => double

Hämtar exempelkvariansen för två kolumner.

  • covarianceSample(sales, profit)

covarianceSampleIf

covarianceSampleIf(<value1> : boolean, <value2> : number, <value3> : number) => double

Hämtar samvariansen för två kolumner baserat på ett villkor.

  • covarianceSampleIf(region == 'West', sales, profit)

crc32

crc32(<value1> : any, ...) => long

Beräknar CRC32-hashen för en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd som bara kan vara av värdena 0(256), 224, 256, 384, 512. Det kan användas för att beräkna ett fingeravtryck för en rad.

  • crc32(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> 3630253689L

cumeDist

cumeDist() => integer

Funktionen CumeDist beräknar positionen för ett värde i förhållande till alla värden i partitionen. Resultatet är antalet rader som föregår eller är lika med den aktuella raden i partitionens ordning dividerat med det totala antalet rader i fönsterpartitionen. Alla oavgjorda värden i ordningsföljden utvärderas till samma position.

  • cumeDist()

currentDate

currentDate([<value1> : string]) => date

Hämtar det aktuella datumet då jobbet börjar köras. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • currentDate() == toDate('2250-12-31') -> false
  • currentDate('PST') == toDate('2250-12-31') -> false
  • currentDate('America/New_York') == toDate('2250-12-31') -> false

currentTimestamp

currentTimestamp() => timestamp

Hämtar den aktuella tidsstämpeln när jobbet börjar köras med lokal tidszon.

  • currentTimestamp() == toTimestamp('2250-12-31 12:12:12') -> false

currentUTC

currentUTC([<value1> : string]) => timestamp

Hämtar den aktuella tidsstämpeln som UTC. Om du vill att din aktuella tid ska tolkas i en annan tidszon än klustrets tidszon kan du skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Standardvärdet är den aktuella tidszonen. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. Om du vill konvertera UTC-tiden till en annan tidszon använder du fromUTC() .

  • currentUTC() == toTimestamp('2050-12-12 19:18:12') -> false
  • currentUTC() != toTimestamp('2050-12-12 19:18:12') -> true
  • fromUTC(currentUTC(), 'Asia/Seoul') != toTimestamp('2050-12-12 19:18:12') -> true

dayOfMonth

dayOfMonth(<value1> : datetime) => integer

Hämtar dagen i månaden givet ett datum.

  • dayOfMonth(toDate('2018-06-08')) -> 8

dayOfWeek

dayOfWeek(<value1> : datetime) => integer

Hämtar veckodagen givet ett datum. 1 - söndag, 2 - måndag ..., 7 - lördag.

  • dayOfWeek(toDate('2018-06-08')) -> 6

dayOfYear

dayOfYear(<value1> : datetime) => integer

Hämtar dagen på året givet ett datum.

  • dayOfYear(toDate('2016-04-09')) -> 100

days

days(<value1> : integer) => long

Varaktighet i millisekunder för antal dagar.

  • days(2) -> 172800000L

degrees

degrees(<value1> : number) => double

Konverterar radianer till grader.

  • degrees(3.141592653589793) -> 180

denseRank

denseRank() => integer

Beräknar rangordningen för ett värde i en grupp med värden som anges i ett fönsters order by-sats. Resultatet är ett plus antalet rader som föregår eller är lika med den aktuella raden i partitionens ordning. Värdena producerar inte luckor i sekvensen. Dense Rank fungerar även när data inte sorteras och söker efter ändringar i värden.

  • denseRank()

distinct

distinct(<value1> : array) => array

Returnerar en distinkt uppsättning objekt från en matris.

  • distinct([10, 20, 30, 10]) => [10, 20, 30]

divide

divide(<value1> : any, <value2> : any) => any

Dividerar par med tal. Samma som / operatorn .

  • divide(20, 10) -> 2
  • 20 / 10 -> 2

dropLeft

dropLeft(<value1> : string, <value2> : integer) => string

Tar bort så många tecken som möjligt från vänster om strängen. Om den begärda listrutan överskrider längden på strängen returneras en tom sträng.

  • dropLeft('siljus', 2) => 'jjus' * dropLeft('left', 10) => '' ___

dropRight

dropRight(<value1> : string, <value2> : integer) => string

Tar bort så många tecken från höger om strängen. Om den begärda listrutan överskrider längden på strängen returneras en tom sträng.

  • dropRight('scriptjus', 2) => '' * dropRight('drop', 10) => '' ___

endsWith

endsWith(<string> : string, <substring to check> : string) => boolean

Kontrollerar om strängen slutar med den angivna strängen.

  • endsWith('dumbo', 'mbo') -> true

equals

equals(<value1> : any, <value2> : any) => boolean

Jämförelse är lika med operator. Samma som ==-operatorn.

  • equals(12, 24) -> false
  • 12 == 24 -> false
  • 'bad' == 'bad' -> true
  • isNull('good' == toString(null)) -> true
  • isNull(null == null) -> true

equalsIgnoreCase

equalsIgnoreCase(<value1> : string, <value2> : string) => boolean

Jämförelsen är lika med operatorn ignorerar case. Samma som <=> operatorn.

  • 'abc'<=>'Abc' -> true
  • equalsIgnoreCase('abc', 'Abc') -> true

escape

escape(<string_to_escape> : string, <format> : string) => string

Undviker en sträng enligt ett format. Literalvärden för godkänt format är "json", "xml", "ecmascript", "html", "java".


except

except(<value1> : array, <value2> : array) => array

Returnerar en skillnadsuppsättning för en matris från en annan som släpper dubbletter.

  • except([10, 20, 30], [20, 40]) => [10, 30]

expr

expr(<expr> : string) => any

Resulterar i ett uttryck från en sträng. Det här är samma sak som att skriva det här uttrycket i en icke-literal form. Detta kan användas för att skicka parametrar som strängrepresentationer.

  • expr('price * discount') => any ___

factorial

factorial(<value1> : number) => long

Beräknar faktorn för ett tal.

  • factorial(5) -> 120

false

false() => boolean

Returnerar alltid ett falskt värde. Använd funktionen om syntax(false()) det finns en kolumn med namnet "false".

  • (10 + 20 > 30) -> false
  • (10 + 20 > 30) -> false()

filter

filter(<value1> : array, <value2> : unaryfunction) => array

Filtrerar element från matrisen som inte uppfyller det angivna predikatet. Filtret förväntar sig en referens till ett element i predikatfunktionen som #item.

  • filter([1, 2, 3, 4], #item > 2) -> [3, 4]
  • filter(['a', 'b', 'c', 'd'], #item == 'a' || #item == 'b') -> ['a', 'b']

find

find(<value1> : array, <value2> : unaryfunction) => any

Hitta det första objektet från en matris som matchar villkoret. Det tar en filterfunktion där du kan adressera objektet i matrisen som #item. För djupt kapslade kartor kan du referera till de överordnade kartorna med hjälp av #item_n-notationen (#item_1, #item_2...).

  • find([10, 20, 30], #item > 10) -> 20
  • find(['azure', 'data', 'factory'], length(#item) > 4) -> 'azure'
  • find([ @( name = 'Daniel', types = [ @(mood = 'jovial', behavior = 'terrific'), @(mood = 'grumpy', behavior = 'bad') ] ), @( name = 'Mark', types = [ @(mood = 'happy', behavior = 'awesome'), @(mood = 'calm', behavior = 'reclusive') ] ) ], contains(#item.types, #item.mood=='happy') /*Filter out the happy kid*/ )
  • @( name = 'Mark', types = [ @(mood = 'happy', behavior = 'awesome'), @(mood = 'calm', behavior = 'reclusive') ] )

* @( name = 'Mark', types = [ @(mood = 'happy', behavior = 'awesome'), @(mood = 'calm', behavior = 'reclusive') ] )


first

first(<value1> : any, [<value2> : boolean]) => any

Hämtar det första värdet för en kolumngrupp. Om den andra parametern ignoreNulls utelämnas antas den vara false.

  • first(sales)
  • first(sales, false)

flatten

flatten(<array> : array, <value2> : array ..., <value2> : boolean) => array

Plattar ut matriser eller matriser till en enda matris. Matriser med atomiska objekt returneras oförändrade. Det sista argumentet är valfritt och är som standard falskt för att platta ut rekursivt mer än en nivå djup.

  • flatten([['bojjus', 'girl'], ['gunchus', 'boy']]) => ['bojjus', 'girl', 'gunchus', 'boy']
  • flatten([[['bojjus', 'gunchus']]] , true) => ['bojjus', 'gunchus']

floor

floor(<value1> : number) => number

Returnerar det största heltal som inte är större än talet.

  • floor(-0.1) -> -1

fromBase64

fromBase64(<value1> : string) => string

Avkodar den angivna base64-kodade strängen.

  • fromBase64('Z3VuY2h1cw==') -> 'gunchus'

fromUTC

fromUTC(<value1> : timestamp, [<value2> : string]) => timestamp

Konverterar till tidsstämpeln från UTC. Du kan även skicka tidszonen i form av "GMT", "PST", "UTC", "America/Cayman". Standardvärdet är den aktuella tidszonen. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • fromUTC(currentTimestamp()) == toTimestamp('2050-12-12 19:18:12') -> false
  • fromUTC(currentTimestamp(), 'Asia/Seoul') != toTimestamp('2050-12-12 19:18:12') -> true

greater

greater(<value1> : any, <value2> : any) => boolean

Operatorn Comparison Greater. Samma som > operatorn.

  • greater(12, 24) -> false
  • ('dumbo' > 'dum') -> true
  • (toTimestamp('2019-02-05 08:21:34.890', 'yyyy-MM-dd HH:mm:ss.SSS') > toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS')) -> true

greaterOrEqual

greaterOrEqual(<value1> : any, <value2> : any) => boolean

Jämförelse större än eller lika med operator. Samma som >= operatorn.

  • greaterOrEqual(12, 12) -> true
  • ('dumbo' >= 'dum') -> true

greatest

greatest(<value1> : any, ...) => any

Returnerar det största värdet i listan med värden som indata som hoppar över null-värden. Returnerar null om alla indata är null.

  • greatest(10, 30, 15, 20) -> 30
  • greatest(10, toInteger(null), 20) -> 20
  • greatest(toDate('2010-12-12'), toDate('2011-12-12'), toDate('2000-12-12')) -> toDate('2011-12-12')
  • greatest(toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS'), toTimestamp('2019-02-05 08:21:34.890', 'yyyy-MM-dd HH:mm:ss.SSS')) -> toTimestamp('2019-02-05 08:21:34.890', 'yyyy-MM-dd HH:mm:ss.SSS')

hasColumn

hasColumn(<column name> : string, [<stream name> : string]) => boolean

Söker efter ett kolumnvärde efter namn i dataströmmen. Du kan skicka ett valfritt dataströmnamn som det andra argumentet. Kolumnnamn som är kända vid designtiden bör adresseras efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.

  • hasColumn('parent')

hasPath

hasPath(<value1> : string, [<streamName> : string]) => boolean

Kontrollerar om en viss hierarkisk sökväg finns efter namn i dataströmmen. Du kan skicka ett valfritt dataströmnamn som det andra argumentet. Kolumnnamn/sökvägar som är kända vid designtiden bör adresseras bara efter deras namn eller punkt notation sökväg. Beräknade indata stöds inte, men du kan använda parameterersättningar.

  • hasPath('grandpa.parent.child') => boolean

hex

hex(<value1>: binary) => string

Returnerar en hexadex-strängrepresentation av ett binärt värde * hex(toBinary([toByte(0x1f), toByte(0xad), toByte(0xbe)])) -> '1fadbe'


hour

hour(<value1> : timestamp, [<value2> : string]) => integer

Hämtar timvärdet för en tidsstämpel. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • hour(toTimestamp('2009-07-30 12:58:59')) -> 12
  • hour(toTimestamp('2009-07-30 12:58:59'), 'PST') -> 12

hours

hours(<value1> : integer) => long

Varaktighet i millisekunder för antal timmar.

  • hours(2) -> 7200000L

iif

iif(<condition> : boolean, <true_expression> : any, [<false_expression> : any]) => any

Baserat på ett villkor tillämpas ett värde eller ett annat. Om annan är ospecificerad betraktas den som NULL. Båda värdena måste vara kompatibla (numeriska, sträng...). * iif(10 + 20 == 30, 'dumbo', 'gumbo') -> 'dumbo'

  • iif(10 > 30, 'dumbo', 'gumbo') -> 'gumbo'
  • iif(month(toDate('2018-12-01')) == 12, 345.12, 102.67) -> 345.12

iifNull

iifNull(<value1> : any, [<value2> : any], ...) => any

Kontrollerar om den första parametern är null. Om inte null returneras den första parametern. Om null returneras den andra parametern. Om tre parametrar anges är beteendet detsamma som iif(isNull(value1), value2, value3) och den tredje parametern returneras om det första värdet inte är null.

  • iifNull(10, 20) -> 10
  • iifNull(null, 20, 40) -> 20
  • iifNull('azure', 'data', 'factory') -> 'factory'
  • iifNull(null, 'data', 'factory') -> 'data'

in

in(<array of items> : array, <item to find> : any) => boolean

Kontrollerar om ett objekt finns i matrisen.

  • in([10, 20, 30], 10) -> true
  • in(['good', 'kid'], 'bad') -> false

initCap

initCap(<value1> : string) => string

Konverterar den första bokstaven i varje ord till versaler. Ord identifieras som avgränsade med blanksteg.

  • initCap('cool iceCREAM') -> 'Cool Icecream'

instr

instr(<string> : string, <substring to find> : string) => integer

Söker efter positionen(1 baserat) för delsträngen i en sträng. 0 returneras om det inte hittas.

  • instr('dumbo', 'mbo') -> 3
  • instr('microsoft', 'o') -> 5
  • instr('good', 'bad') -> 0

intersect

intersect(<value1> : array, <value2> : array) => array

Returnerar en skärningspunktsuppsättning med distinkta objekt från 2 matriser.

  • intersect([10, 20, 30], [20, 40]) => [20]

isBitSet

isBitSet (<value1> : array, <value2>:integer ) => boolean

Kontrollerar om en bit-position har angetts i den här bituppsättningen * isBitSet(toBitSet([10, 32, 98]), 10) => true


isBoolean

isBoolean(<value1>: string) => boolean

Kontrollerar om strängvärdet är ett booleskt värde enligt reglerna för toBoolean()

  • isBoolean('true') -> true
  • isBoolean('no') -> true
  • isBoolean('microsoft') -> false

isByte

isByte(<value1> : string) => boolean

Kontrollerar om strängvärdet är ett bytevärde beroende på ett valfritt format enligt reglerna för toByte()

  • isByte('123') -> true
  • isByte('chocolate') -> false

isDate

isDate (<value1> : string, [<format>: string]) => boolean

Kontrollerar om indatadatumsträngen är ett datum med ett valfritt format för indatadatum. Se Javas SimpleDateFormat för tillgängliga format. Om formatet för indatadatum utelämnas är standardformatet yyyy-[M]M-[d]d . Godkända format är [ yyyy, yyyy-[M]M, yyyy-[M]M-[d]d, yyyy-[M]M-[d]dT* ]

  • isDate('2012-8-18') -> true
  • isDate('12/18--234234' -> 'MM/dd/yyyy') -> false

isDecimal

isDecimal (<value1> : string) => boolean

Kontroller av strängvärdet är ett decimalvärde beroende på ett valfritt format enligt reglerna för toDecimal()

  • isDecimal('123.45') -> true
  • isDecimal('12/12/2000') -> false

isDelete

isDelete([<value1> : integer]) => boolean

Kontrollerar om raden är markerad för borttagning. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.

  • isDelete()
  • isDelete(1)

isDistinct

isDistinct(<value1> : any , <value1> : any) => boolean

Söker efter om en kolumn eller uppsättning kolumner är distinkt. Null räknas inte som ett distinkt värde * isDistinct(custId, custName) => boolean


isDouble

isDouble (<value1> : string, [<format>: string]) => boolean

Kontroller av strängvärdet är ett dubbelt värde givet ett valfritt format enligt reglerna för toDouble()

  • isDouble('123') -> true
  • isDouble('$123.45' -> '$###.00') -> true
  • isDouble('icecream') -> false

isError

isError([<value1> : integer]) => boolean

Kontrollerar om raden har markerats som fel. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.

  • isError()
  • isError(1)

isFloat

isFloat (<value1> : string, [<format>: string]) => boolean

Kontroller av strängvärdet är ett flyttal med ett valfritt format enligt reglerna för toFloat()

  • isFloat('123') -> true
  • isFloat('$123.45' -> '$###.00') -> true
  • isFloat('icecream') -> false

isIgnore

isIgnore([<value1> : integer]) => boolean

Kontrollerar om raden har markerats för att ignoreras. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.

  • isIgnore()
  • isIgnore(1)

isInsert

isInsert([<value1> : integer]) => boolean

Kontrollerar om raden är markerad för infogning. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.

  • isInsert()
  • isInsert(1)

isInteger

isInteger (<value1> : string, [<format>: string]) => boolean

Kontroller av strängvärdet är ett heltalsvärde givet ett valfritt format enligt reglerna för toInteger()

  • isInteger('123') -> true
  • isInteger('$123' -> '$###') -> true
  • isInteger('microsoft') -> false

isLong

isLong (<value1> : string, [<format>: string]) => boolean

Kontroller av strängvärdet är ett långt värde givet ett valfritt format enligt reglerna för toLong()

  • isLong('123') -> true
  • isLong('$123' -> '$###') -> true
  • isLong('gunchus') -> false

isMatch

isMatch([<value1> : integer]) => boolean

Kontrollerar om raden matchas vid uppslag. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.

  • isMatch()
  • isMatch(1)

isNan

isNan (<value1> : integral) => boolean

Kontrollera om det här inte är ett tal.

  • isNan(10.2) => false

isNull

isNull(<value1> : any) => boolean

Kontrollerar om värdet är NULL.

  • isNull(NULL()) -> true
  • isNull('') -> false

isShort

isShort (<value1> : string, [<format>: string]) => boolean

Kontroller av strängvärdet är ett kort värde givet ett valfritt format enligt reglerna för toShort()

  • isShort('123') -> true
  • isShort('$123' -> '$###') -> true
  • isShort('microsoft') -> false

isTimestamp

isTimestamp (<value1> : string, [<format>: string]) => boolean

Kontrollerar om indatadatumsträngen är en tidsstämpel med ett valfritt format för indatatidsstämpeln. Se Javas SimpleDateFormat för tillgängliga format. Om tidsstämpeln utelämnas används yyyy-[M]M-[d]d hh:mm:ss[.f...] standardmönstret. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Tidsstämpeln stöder upp till millisekundprecision med värdet 999 Se Javas SimpleDateFormat för tillgängliga format.

  • isTimestamp('2016-12-31 00:12:00') -> true
  • isTimestamp('2016-12-31T00:12:00' -> 'yyyy-MM-dd\\'T\\'HH:mm:ss' -> 'PST') -> true
  • isTimestamp('2012-8222.18') -> false

isUpdate

isUpdate([<value1> : integer]) => boolean

Kontrollerar om raden är markerad för uppdatering. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.

  • isUpdate()
  • isUpdate(1)

isUpsert

isUpsert([<value1> : integer]) => boolean

Kontrollerar om raden är markerad för infogning. För transformationer som tar mer än en indataström kan du skicka (1-baserat) index för dataströmmen. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.

  • isUpsert()
  • isUpsert(1)

jaroWinkler

jaroWinkler(<value1> : string, <value2> : string) => double

Hämtar JaroWinkler-avståndet mellan två strängar.

  • jaroWinkler('frog', 'frog') => 1.0

keyValues

keyValues(<value1> : array, <value2> : array) => map

Skapar en karta över nyckel/värden. Den första parametern är en matris med nycklar och den andra är matrisen med värden. Båda matriserna ska ha samma längd.

  • keyValues(['bojjus', 'appa'], ['gunchus', 'ammi']) => ['bojjus' -> 'gunchus', 'appa' -> 'ammi']

kurtosis

kurtosis(<value1> : number) => double

Hämtar stapeln.

  • kurtosis(sales)

kurtosisIf

kurtosisIf(<value1> : boolean, <value2> : number) => double

Hämtar kolumnrubriken baserat på ett villkor.

  • kurtosisIf(region == 'West', sales)

lag

lag(<value> : any, [<number of rows to look before> : number], [<default value> : any]) => any

Hämtar värdet för den första parametern som utvärderats n rader före den aktuella raden. Den andra parametern är antalet rader att titta tillbaka och standardvärdet är 1. Om det inte finns lika många rader returneras värdet null såvida inte ett standardvärde har angetts.

  • lag(amount, 2)
  • lag(amount, 2000, 100)

last

last(<value1> : any, [<value2> : boolean]) => any

Hämtar det sista värdet för en kolumngrupp. Om den andra parametern ignoreNulls utelämnas antas den vara false.

  • last(sales)
  • last(sales, false)

lastDayOfMonth

lastDayOfMonth(<value1> : datetime) => date

Hämtar det sista datumet i månaden givet ett datum.

  • lastDayOfMonth(toDate('2009-01-12')) -> toDate('2009-01-31')

lead

lead(<value> : any, [<number of rows to look after> : number], [<default value> : any]) => any

Hämtar värdet för den första parametern som utvärderats n rader efter den aktuella raden. Den andra parametern är antalet rader som ska se framåt och standardvärdet är 1. Om det inte finns lika många rader returneras värdet null såvida inte ett standardvärde har angetts.

  • lead(amount, 2)
  • lead(amount, 2000, 100)

least

least(<value1> : any, ...) => any

Jämförelse mindre än eller lika med operator. Samma som <= operatorn.

  • least(10, 30, 15, 20) -> 10
  • least(toDate('2010-12-12'), toDate('2011-12-12'), toDate('2000-12-12')) -> toDate('2000-12-12')

left

left(<string to subset> : string, <number of characters> : integral) => string

Extraherar en delsträng som börjar vid index 1 med antalet tecken. Samma som SUBSTRING(str, 1, n).

  • left('bojjus', 2) -> 'bo'
  • left('bojjus', 20) -> 'bojjus'

length

length(<value1> : string) => integer

Returnerar längden på strängen.

  • length('dumbo') -> 5

lesser

lesser(<value1> : any, <value2> : any) => boolean

Jämförelse mindre operator. Samma som < operatorn.

  • lesser(12, 24) -> true
  • ('abcd' < 'abc') -> false
  • (toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS') < toTimestamp('2019-02-05 08:21:34.890', 'yyyy-MM-dd HH:mm:ss.SSS')) -> true

lesserOrEqual

lesserOrEqual(<value1> : any, <value2> : any) => boolean

Jämförelse mindre än eller lika med operator. Samma som <= operatorn.

  • lesserOrEqual(12, 12) -> true
  • ('dumbo' <= 'dum') -> false

levenshtein

levenshtein(<from string> : string, <to string> : string) => integer

Hämtar avståndet mellan två strängar.

  • levenshtein('boys', 'girls') -> 4

like

like(<string> : string, <pattern match> : string) => boolean

Mönstret är en sträng som matchas bokstavligen. Undantagen är följande särskilda symboler: _ matchar ett tecken i indata (liknar . i posix reguljära uttryck) % matchar noll eller flera tecken i indata (liknar .* i posix reguljära uttryck). Escape-tecknet är "". Om ett escape-tecken föregår en särskild symbol eller ett annat escape-tecken matchas följande tecken bokstavligen. Det är ogiltigt att undvika andra tecken.

  • like('icecream', 'ice%') -> true

locate

locate(<substring to find> : string, <string> : string, [<from index - 1-based> : integral]) => integer

Söker efter positionen(1 baserat) för delsträngen i en sträng som startar en viss position. Om positionen utelämnas beaktas den från början av strängen. 0 returneras om det inte hittas.

  • locate('mbo', 'dumbo') -> 3
  • locate('o', 'microsoft', 6) -> 7
  • locate('bad', 'good') -> 0

log

log(<value1> : number, [<value2> : number]) => double

Beräknar loggvärdet. En valfri bas kan anges med ett Euler-nummer om det används.

  • log(100, 10) -> 2

log10

log10(<value1> : number) => double

Beräknar loggvärdet baserat på 10 basvärden.

  • log10(100) -> 2

lookup

lookup(key, key2, ...) => complex[]

Söker upp den första raden från den cachelagrade mottagaren med hjälp av de angivna nycklar som matchar nycklarna från den cachelagrade mottagaren.

  • cacheSink#lookup(movieId)

lower

lower(<value1> : string) => string

Gemener i en sträng.

  • lower('GunChus') -> 'gunchus'

lpad

lpad(<string to pad> : string, <final padded length> : integral, <padding> : string) => string

Vänstermarkerar strängen med den angivna utfyllnaden tills den har en viss längd. Om strängen är lika med eller större än längden trimmas den till längden.

  • lpad('dumbo', 10, '-') -> '-----dumbo'
  • lpad('dumbo', 4, '-') -> 'dumb'
  • ''lpad('duhc', 8, '<>') -> '<><dumbo'``

ltrim

ltrim(<string to trim> : string, [<trim characters> : string]) => string

Vänster trimmar en sträng med inledande tecken. Om den andra parametern är ospecificerad rensas blanksteget. Annars trimmas alla tecken som anges i den andra parametern.

  • ltrim(' dumbo ') -> 'dumbo '
  • ltrim('!--!du!mbo!', '-!') -> 'du!mbo!'

map

map(<value1> : array, <value2> : unaryfunction) => any

Kartor varje element i matrisen till ett nytt element med hjälp av det angivna uttrycket. Map förväntar sig en referens till ett element i uttrycksfunktionen som #item.

  • map([1, 2, 3, 4], #item + 2) -> [3, 4, 5, 6]
  • map(['a', 'b', 'c', 'd'], #item + '_processed') -> ['a_processed', 'b_processed', 'c_processed', 'd_processed']

mapAssociation

mapAssociation(<value1> : map, <value2> : binaryFunction) => array

Transformerar en karta genom att associera nycklarna till nya värden. Returnerar en matris. Det tar en mappningsfunktion där du kan adressera objektet som #key och aktuellt värde som #value.

  • mapAssociation(['bojjus' -> 'gunchus', 'appa' -> 'ammi'], @(key = #key, value = #value)) => [@(key = 'bojjus', value = 'gunchus'), @(key = 'appa', value = 'ammi')]

mapIf

mapIf (<value1> : array, <value2> : binaryfunction, <value3>: binaryFunction) => any

Mappar villkorligt en matris till en annan matris med samma eller mindre längd. Värdena kan vara av valfri datatyp, inklusive structTypes. Det tar en mappningsfunktion där du kan adressera objektet i matrisen som #item och aktuellt index som #index. För djupt kapslade kartor kan du referera till de överordnade kartorna med #item_[n](#item_1, #index_1...) hjälp av notationen .

  • mapIf([10, 20, 30], #item > 10, #item + 5) -> [25, 35]
  • mapIf(['icecream', 'cake', 'soda'], length(#item) > 4, upper(#item)) -> ['ICECREAM', 'CAKE']

mapIndex

mapIndex(<value1> : array, <value2> : binaryfunction) => any

Kartor varje element i matrisen till ett nytt element med hjälp av det angivna uttrycket. Map förväntar sig en referens till ett element i uttrycksfunktionen som #item och en referens till elementindexet som #index.

  • mapIndex([1, 2, 3, 4], #item + 2 + #index) -> [4, 6, 8, 10]

mapLoop

mapLoop(<value1> : integer, <value2> : unaryfunction) => any

Loopar från 1 till längd för att skapa en matris med den längden. Det tar en mappningsfunktion där du kan hantera indexet i matrisen som #index. För djupt kapslade kartor kan du referera till de överordnade kartorna med hjälp av #index_n-notationen (#index_1, #index_2...).

  • mapLoop(3, #index * 10) -> [10, 20, 30]

max

max(<value1> : any) => any

Hämtar det maximala värdet för en kolumn.

  • max(sales)

maxIf

maxIf(<value1> : boolean, <value2> : any) => any

Hämtar det maximala värdet för en kolumn baserat på ett villkor.

  • maxIf(region == 'West', sales)

md5

md5(<value1> : any, ...) => string

Beräknar MD5-sammanfattningen av en uppsättning kolumner med olika primitiva datatyper och returnerar en hexadexsträng på 32 tecken. Det kan användas för att beräkna ett fingeravtryck för en rad.

  • md5(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> '4ce8a880bd621a1ffad0bca905e1bc5a'

mean

mean(<value1> : number) => number

Hämtar medelvärdet av värden för en kolumn. Samma som AVG.

  • mean(sales)

meanIf

meanIf(<value1> : boolean, <value2> : number) => number

Baserat på ett villkor hämtar medelvärdet av värden för en kolumn. Samma som avgIf.

  • meanIf(region == 'West', sales)

millisecond

millisecond(<value1> : timestamp, [<value2> : string]) => integer

Hämtar millisekundvärdet för ett datum. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • millisecond(toTimestamp('2009-07-30 12:58:59.871', 'yyyy-MM-dd HH:mm:ss.SSS')) -> 871

milliseconds

milliseconds(<value1> : integer) => long

Varaktighet i millisekunder för antal millisekunder.

  • milliseconds(2) -> 2L

min

min(<value1> : any) => any

Hämtar det minsta värdet för en kolumn.

  • min(sales)

minIf

minIf(<value1> : boolean, <value2> : any) => any

Hämtar det minsta värdet för en kolumn baserat på ett villkor.

  • minIf(region == 'West', sales)

minus

minus(<value1> : any, <value2> : any) => any

Subtraherar tal. Subtrahera antalet dagar från ett datum. Subtrahera varaktighet från en tidsstämpel. Subtrahera två tidsstämplar för att få skillnad i millisekunder. Samma som operatorn - .

  • minus(20, 10) -> 10
  • 20 - 10 -> 10
  • minus(toDate('2012-12-15'), 3) -> toDate('2012-12-12')
  • toDate('2012-12-15') - 3 -> toDate('2012-12-12')
  • toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS') + (days(1) + hours(2) - seconds(10)) -> toTimestamp('2019-02-04 07:19:18.871', 'yyyy-MM-dd HH:mm:ss.SSS')
  • toTimestamp('2019-02-03 05:21:34.851', 'yyyy-MM-dd HH:mm:ss.SSS') - toTimestamp('2019-02-03 05:21:36.923', 'yyyy-MM-dd HH:mm:ss.SSS') -> -2072

minute

minute(<value1> : timestamp, [<value2> : string]) => integer

Hämtar minutvärdet för en tidsstämpel. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • minute(toTimestamp('2009-07-30 12:58:59')) -> 58
  • minute(toTimestamp('2009-07-30 12:58:59'), 'PST') -> 58

minutes

minutes(<value1> : integer) => long

Varaktighet i millisekunder i antal minuter.

  • minutes(2) -> 120000L

mlookup

mlookup(key, key2, ...) => complex[]

Söker upp alla matchande rader från den cachelagrade mottagaren med hjälp av de angivna nycklarna som matchar nycklarna från den cachelagrade mottagaren.

  • cacheSink#mlookup(movieId)

mod

mod(<value1> : any, <value2> : any) => any

Modulus av par med tal. Samma som operatorn % .

  • mod(20, 8) -> 4
  • 20 % 8 -> 4

month

month(<value1> : datetime) => integer

Hämtar månadsvärdet för ett datum eller en tidsstämpel.

  • month(toDate('2012-8-8')) -> 8

monthsBetween

monthsBetween(<from date/timestamp> : datetime, <to date/timestamp> : datetime, [<roundoff> : boolean], [<time zone> : string]) => double

Hämtar antalet månader mellan två datum. Du kan avrunda beräkningen. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • monthsBetween(toTimestamp('1997-02-28 10:30:00'), toDate('1996-10-30')) -> 3.94959677

multiply

multiply(<value1> : any, <value2> : any) => any

Multiplicerar par med tal. Samma som operatorn * .

  • multiply(20, 10) -> 200
  • 20 * 10 -> 200

negate

negate(<value1> : number) => number

Negerar ett tal. Omvandlar positiva tal till negativa och vice versa.

  • negate(13) -> -13

nextSequence

nextSequence() => long

Returnerar nästa unika sekvens. Talet är endast i följd inom en partition och föregås av partitionId.

  • nextSequence() == 12313112 -> false

normalize

normalize(<String to normalize> : string) => string

Normaliserar strängvärdet till att avgränsa accenterade Unicode-tecken.

  • regexReplace(normalize('bo²s'), `\p{M}`, '') -> 'boys'

not

not(<value1> : boolean) => boolean

Logisk negationsoperator.

  • not(true) -> false
  • not(10 == 20) -> true

notEquals

notEquals(<value1> : any, <value2> : any) => boolean

Jämförelsen är inte lika med operatorn . Samma som !=-operatorn.

  • 12 != 24 -> true
  • 'bojjus' != 'bo' + 'jjus' -> false

notNull

notNull(<value1> : any) => boolean

Kontrollerar om värdet inte är NULL.

  • notNull(NULL()) -> false
  • notNull('') -> true

nTile

nTile([<value1> : integer]) => integer

Funktionen NTile delar in raderna för varje fönsterpartition i n bucketar från 1 till högst n . Bucketvärdena skiljer sig med högst 1. Om antalet rader i partitionen inte delas upp jämnt i antalet bucketar distribueras restvärdena en per bucket, och börjar med den första bucketen. Funktionen NTile är användbar för beräkning av , tertiles kvartiles, deciler och annan vanlig sammanfattningsstatistik. Funktionen beräknar två variabler under initieringen: Storleken på en vanlig bucket har en extra rad tillagd. Båda variablerna baseras på storleken på den aktuella partitionen. Under beräkningsprocessen håller funktionen reda på det aktuella radnumret, det aktuella bucketnumret och radnumret som bucketen ändras på (bucketThreshold). När det aktuella radnumret når buckettröskelvärdet ökas bucketvärdet med ett och tröskelvärdet ökas med bucketstorleken (plus ett extra om den aktuella bucketen är utplåstrad).

  • nTile()
  • nTile(numOfBuckets)

null

null() => null

Returnerar ett NULL-värde. Använd funktionen om syntax(null()) det finns en kolumn med namnet "null". Alla -åtgärd som använder resulterar i ett NULL-värde.

  • isNull('dumbo' + null) -> true
  • isNull(10 * null) -> true
  • isNull('') -> false
  • isNull(10 + 20) -> false
  • isNull(10/0) -> true

or

or(<value1> : boolean, <value2> : boolean) => boolean

Logisk OR-operator. Samma som ||.

  • or(true, false) -> true
  • true || false -> true

originColumns

originColumns(<streamName> : string) => any

Hämtar alla utdatakolumner för en ursprungsström där kolumner skapades. Måste omges av en annan funktion.

  • array(toString(originColumns('source1')))

output

output() => any

Returnerar den första raden i resultatet av cache-mottagaren * cacheSink#output()


outputs

output() => any

Returnerar hela utdataraduppsättningen för resultatet av cache-mottagaren * cacheSink#outputs()


partitionId

partitionId() => integer

Returnerar det aktuella partitions-ID som indataraden finns i.

  • partitionId()

pMod

pMod(<value1> : any, <value2> : any) => any

Positiv modulus av par med tal.

  • pmod(-20, 8) -> 4

power

power(<value1> : number, <value2> : number) => double

Höjer ett tal till en annans kraft.

  • power(10, 2) -> 100

radians

radians(<value1> : number) => double

Konverterar grader till radianer * radians(180) => 3.141592653589793


random

random(<value1> : integral) => long

Returnerar ett slumptal givet ett valfritt startvärdet inom en partition. Startvärdet ska vara ett fast värde och används tillsammans med partitionId för att skapa slumpmässiga värden * random(1) == 1 -> false


rank

rank() => integer

Beräknar rangordningen för ett värde i en grupp med värden som anges i ett fönsters order by-sats. Resultatet är ett plus antalet rader som föregår eller är lika med den aktuella raden i partitionens ordning. Värdena skapar luckor i sekvensen. Rangordning fungerar även när data inte sorteras och söker efter ändringar i värden.

  • rank()

reassociate

reassociate(<value1> : map, <value2> : binaryFunction) => map

Transformerar en karta genom att associera nycklarna till nya värden. Det tar en mappningsfunktion där du kan adressera objektet som #key och aktuellt värde som #value.

  • reassociate(['fruit' -> 'apple', 'vegetable' -> 'tomato'], substring(#key, 1, 1) + substring(#value, 1, 1)) => ['fruit' -> 'fa', 'vegetable' -> 'vt']

reduce

reduce(<value1> : array, <value2> : any, <value3> : binaryfunction, <value4> : unaryfunction) => any

Ackumulerar element i en matris. Reduce förväntar sig en referens till en ackumulator och ett element i den första uttrycksfunktionen som #acc och #item och förväntar sig att det resulterande värdet som #result ska användas i den andra uttrycksfunktionen.

  • toString(reduce(['1', '2', '3', '4'], '0', #acc + #item, #result)) -> '01234'

regexExtract

regexExtract(<string> : string, <regex to find> : string, [<match group 1-based index> : integral]) => string

Extrahera en matchande delsträng för ett visst regex-mönster. Den sista parametern identifierar matchningsgruppen och är standardvärdet 1 om det utelämnas. Använd (bakåtcitat) för att matcha en sträng utan undantag.

  • regexExtract('Cost is between 600 and 800 dollars', '(\\d+) and (\\d+)', 2) -> '800'
  • regexExtract('Cost is between 600 and 800 dollars', `(\d+) and (\d+)`, 2) -> '800'

regexMatch

regexMatch(<string> : string, <regex to match> : string) => boolean

Kontrollerar om strängen matchar det angivna regex-mönstret. Använd (bakåtcitat) för att matcha en sträng utan undantag.

  • regexMatch('200.50', '(\\d+).(\\d+)') -> true
  • regexMatch('200.50', `(\d+).(\d+)`) -> true

regexReplace

regexReplace(<string> : string, <regex to find> : string, <substring to replace> : string) => string

Ersätt alla förekomster av ett regex-mönster med en annan delsträng i den angivna strängen Använd "(bakåtcitat) för att matcha en sträng utan undantag.

  • regexReplace('100 and 200', '(\\d+)', 'bojjus') -> 'bojjus and bojjus'
  • regexReplace('100 and 200', `(\d+)`, 'gunchus') -> 'gunchus and gunchus'

regexSplit

regexSplit(<string to split> : string, <regex expression> : string) => array

Delar upp en sträng baserat på en avgränsare baserat på regex och returnerar en matris med strängar.

  • regexSplit('bojjusAgunchusBdumbo', `[CAB]`) -> ['bojjus', 'gunchus', 'dumbo']
  • regexSplit('bojjusAgunchusBdumboC', `[CAB]`) -> ['bojjus', 'gunchus', 'dumbo', '']
  • (regexSplit('bojjusAgunchusBdumboC', `[CAB]`)[1]) -> 'bojjus'
  • isNull(regexSplit('bojjusAgunchusBdumboC', `[CAB]`)[20]) -> true

replace

replace(<string> : string, <substring to find> : string, [<substring to replace> : string]) => string

Ersätt alla förekomster av en delsträng med en annan delsträng i den angivna strängen. Om den sista parametern utelämnas används som standard en tom sträng.

  • replace('doggie dog', 'dog', 'cat') -> 'catgie cat'
  • replace('doggie dog', 'dog', '') -> 'gie '
  • replace('doggie dog', 'dog') -> 'gie '

reverse

reverse(<value1> : string) => string

Omvänder en sträng.

  • reverse('gunchus') -> 'suhcnug'

right(<string to subset> : string, <number of characters> : integral) => string

Extraherar en delsträng med antal tecken från höger. Samma som SUBSTRING(str, LENGTH(str) – n, n).

  • right('bojjus', 2) -> 'us'
  • right('bojjus', 20) -> 'bojjus'

rlike

rlike(<string> : string, <pattern match> : string) => boolean

Kontrollerar om strängen matchar det angivna regex-mönstret.

  • rlike('200.50', `(\d+).(\d+)`) -> true
  • rlike('bogus', `M[0-9]+.*`) -> false

round

round(<number> : number, [<scale to round> : number], [<rounding option> : integral]) => double

Avrundar ett tal med en valfri skala och ett valfritt avrundningsläge. Om skalan utelämnas är standardvärdet 0. Om läget utelämnas används standardinställningen ROUND_HALF_UP(5). Värdena för avrundning är 1 – ROUND_UP 2 – ROUND_DOWN 3 – ROUND_CEILING 4 – ROUND_FLOOR 5 – ROUND_HALF_UP 6 – ROUND_HALF_DOWN 7 – ROUND_HALF_EVEN 8 – ROUND_UNNECESSARY.

  • round(100.123) -> 100.0
  • round(2.5, 0) -> 3.0
  • round(5.3999999999999995, 2, 7) -> 5.40

rowNumber

rowNumber() => integer

Tilldelar en sekventiell radnumrering för rader i ett fönster som börjar med 1.

  • rowNumber()

rpad

rpad(<string to pad> : string, <final padded length> : integral, <padding> : string) => string

Höger utfyllnad av strängen med den angivna utfyllnaden tills den har en viss längd. Om strängen är lika med eller större än längden trimmas den till längden.

  • rpad('dumbo', 10, '-') -> 'dumbo-----'
  • rpad('dumbo', 4, '-') -> 'dumb'
  • ''rpad('du matt', 8, '<>') -> 'dusats<><'``

rtrim

rtrim(<string to trim> : string, [<trim characters> : string]) => string

Höger trimmar en sträng med avslutande tecken. Om den andra parametern är ospecificerad rensas blanksteget. Annars trimmas alla tecken som anges i den andra parametern.

  • rtrim(' dumbo ') -> ' dumbo'
  • rtrim('!--!du!mbo!', '-!') -> '!--!du!mbo'

second

second(<value1> : timestamp, [<value2> : string]) => integer

Hämtar det andra värdet för ett datum. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • second(toTimestamp('2009-07-30 12:58:59')) -> 59

seconds

seconds(<value1> : integer) => long

Varaktighet i millisekunder i antal sekunder.

  • seconds(2) -> 2000L

setBitSet

setBitSet (<value1>: array, <value2>:array) => array

Anger bitpositioner i den här bituppsättningen * setBitSet(toBitSet([10, 32]), [98]) => [4294968320L, 17179869184L]


sha1

sha1(<value1> : any, ...) => string

Beräknar SHA-1-sammanfattningen av en uppsättning kolumner med olika primitiva datatyper och returnerar en hexadexsträng på 40 tecken. Det kan användas för att beräkna ett fingeravtryck för en rad.

  • sha1(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> '46d3b478e8ec4e1f3b453ac3d8e59d5854e282bb'

sha2

sha2(<value1> : integer, <value2> : any, ...) => string

Beräknar SHA-2-sammanfattningen av en uppsättning kolumner med olika primitiva datatyper givet en bitlängd som bara kan vara av värdena 0(256), 224, 256, 384, 512. Det kan användas för att beräkna ett fingeravtryck för en rad.

  • sha2(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> 'afe8a553b1761c67d76f8c31ceef7f71b66a1ee6f4e6d3b5478bf68b47d06bd3'

sin

sin(<value1> : number) => double

Beräknar ett sinusvärde.

  • sin(2) -> 0.9092974268256817

sinh

sinh(<value1> : number) => double

Beräknar ett hyperboliskt sinusvärde.

  • sinh(0) -> 0.0

size

size(<value1> : any) => integer

Söker efter storleken på en matris eller mappningstyp * size(['element1', 'element2']) -> 2

  • size([1,2,3]) -> 3

skewness

skewness(<value1> : number) => double

Hämtar snedheten i en kolumn.

  • skewness(sales)

skewnessIf

skewnessIf(<value1> : boolean, <value2> : number) => double

Hämtar snedheten i en kolumn baserat på ett villkor.

  • skewnessIf(region == 'West', sales)

slice

slice(<array to slice> : array, <from 1-based index> : integral, [<number of items> : integral]) => array

Extraherar en delmängd av en matris från en position. Positionen är 1 baserat. Om längden utelämnas blir strängens slut som standard.

  • slice([10, 20, 30, 40], 1, 2) -> [10, 20]
  • slice([10, 20, 30, 40], 2) -> [20, 30, 40]
  • slice([10, 20, 30, 40], 2)[1] -> 20
  • isNull(slice([10, 20, 30, 40], 2)[0]) -> true
  • isNull(slice([10, 20, 30, 40], 2)[20]) -> true
  • slice(['a', 'b', 'c', 'd'], 8) -> []

sort

sort(<value1> : array, <value2> : binaryfunction) => array

Sorterar matrisen med hjälp av den angivna predikatfunktionen. Sort förväntar sig en referens till två på varandra följande element i uttrycksfunktionen som #item1 och #item2.

  • sort([4, 8, 2, 3], compare(#item1, #item2)) -> [2, 3, 4, 8]
  • sort(['a3', 'b2', 'c1'], iif(right(#item1, 1) >= right(#item2, 1), 1, -1)) -> ['c1', 'b2', 'a3']

soundex

soundex(<value1> : string) => string

Hämtar soundex koden för strängen.

  • soundex('genius') -> 'G520'

split

split(<string to split> : string, <split characters> : string) => array

Delar upp en sträng baserat på en avgränsare och returnerar en matris med strängar.

  • split('bojjus,guchus,dumbo', ',') -> ['bojjus', 'guchus', 'dumbo']
  • split('bojjus,guchus,dumbo', '|') -> ['bojjus,guchus,dumbo']
  • split('bojjus, guchus, dumbo', ', ') -> ['bojjus', 'guchus', 'dumbo']
  • split('bojjus, guchus, dumbo', ', ')[1] -> 'bojjus'
  • isNull(split('bojjus, guchus, dumbo', ', ')[0]) -> true
  • isNull(split('bojjus, guchus, dumbo', ', ')[20]) -> true
  • split('bojjusguchusdumbo', ',') -> ['bojjusguchusdumbo']

sqrt

sqrt(<value1> : number) => double

Beräknar kvadratroten för ett tal.

  • sqrt(9) -> 3

startsWith

startsWith(<string> : string, <substring to check> : string) => boolean

Kontrollerar om strängen börjar med den angivna strängen.

  • startsWith('dumbo', 'du') -> true

stddev

stddev(<value1> : number) => double

Hämtar standardavvikelsen för en kolumn.

  • stdDev(sales)

stddevIf

stddevIf(<value1> : boolean, <value2> : number) => double

Hämtar standardavvikelsen för en kolumn baserat på ett villkor.

  • stddevIf(region == 'West', sales)

stddevPopulation

stddevPopulation(<value1> : number) => double

Hämtar populationens standardavvikelse för en kolumn.

  • stddevPopulation(sales)

stddevPopulationIf

stddevPopulationIf(<value1> : boolean, <value2> : number) => double

Hämtar populationens standardavvikelse för en kolumn baserat på ett villkor.

  • stddevPopulationIf(region == 'West', sales)

stddevSample

stddevSample(<value1> : number) => double

Hämtar exemplets standardavvikelse för en kolumn.

  • stddevSample(sales)

stddevSampleIf

stddevSampleIf(<value1> : boolean, <value2> : number) => double

Hämtar exemplets standardavvikelse för en kolumn baserat på ett villkor.

  • stddevSampleIf(region == 'West', sales)

subDays

subDays(<date/timestamp> : datetime, <days to subtract> : integral) => datetime

Subtrahera dagar från ett datum eller en tidsstämpel. Samma som operatorn - för datum.

  • subDays(toDate('2016-08-08'), 1) -> toDate('2016-08-07')

subMonths

subMonths(<date/timestamp> : datetime, <months to subtract> : integral) => datetime

Subtrahera månader från ett datum eller en tidsstämpel.

  • subMonths(toDate('2016-09-30'), 1) -> toDate('2016-08-31')

substring

substring(<string to subset> : string, <from 1-based index> : integral, [<number of characters> : integral]) => string

Extraherar en delsträng av en viss längd från en position. Positionen är 1 baserat. Om längden utelämnas blir strängens slut som standard.

  • substring('Cat in the hat', 5, 2) -> 'in'
  • substring('Cat in the hat', 5, 100) -> 'in the hat'
  • substring('Cat in the hat', 5) -> 'in the hat'
  • substring('Cat in the hat', 100, 100) -> ''

sum

sum(<value1> : number) => number

Hämtar den aggregerade summan av en numerisk kolumn.

  • sum(col)

sumDistinct

sumDistinct(<value1> : number) => number

Hämtar den sammanställda summan av distinkta värden för en numerisk kolumn.

  • sumDistinct(col)

sumDistinctIf

sumDistinctIf(<value1> : boolean, <value2> : number) => number

Baserat på kriterier hämtar den aggregerade summan av en numerisk kolumn. Villkoret kan baseras på valfri kolumn.

  • sumDistinctIf(state == 'CA' && commission < 10000, sales)
  • sumDistinctIf(true, sales)

sumIf

sumIf(<value1> : boolean, <value2> : number) => number

Baserat på kriterier hämtar den aggregerade summan av en numerisk kolumn. Villkoret kan baseras på valfri kolumn.

  • sumIf(state == 'CA' && commission < 10000, sales)
  • sumIf(true, sales)

tan

tan(<value1> : number) => double

Beräknar ett tangensvärde.

  • tan(0) -> 0.0

tanh

tanh(<value1> : number) => double

Beräknar ett hyperboliskt tangensvärde.

  • tanh(0) -> 0.0

toBase64

toBase64(<value1> : string) => string

Kodar den angivna strängen i base64.

  • toBase64('bojjus') -> 'Ym9qanVz'

toBinary

toBinary(<value1> : any) => binary

Konverterar numeriska/datum/tidsstämpel/strängar till binär representation.

  • toBinary(3) -> [0x11]

toBoolean

toBoolean(<value1> : string) => boolean

Konverterar värdet ('t', 'true', 'y', 'yes', '1') till true och ('f', 'false', 'n', 'no', '0') till false och NULL för andra värden.

  • toBoolean('true') -> true
  • toBoolean('n') -> false
  • isNull(toBoolean('truthy')) -> true

toByte

toByte(<value> : any, [<format> : string], [<locale> : string]) => byte

Konverterar numeriska värden eller strängar till ett bytevärde. Ett valfritt Java-decimalformat kan användas för konverteringen.

  • toByte(123)
  • 123
  • toByte(0xFF)
  • -1
  • toByte('123')
  • 123

toDate

toDate(<string> : any, [<date format> : string]) => date

Konverterar indatadatumsträngen till datum med ett valfritt format för indatadatum. Se Java-klassen SimpleDateFormat för tillgängliga format. Om formatet för indatadatum utelämnas är standardformatet yyyy-[M]M-[d]d. Godkända format är :[ yyyy, yyyy-[M]M, yyyy-[M]M]M-[d]d, yyyy-[M]M-[d]dT* ].

  • toDate('2012-8-18') -> toDate('2012-08-18')
  • toDate('12/18/2012', 'MM/dd/yyyy') -> toDate('2012-12-18')

toDecimal

toDecimal(<value> : any, [<precision> : integral], [<scale> : integral], [<format> : string], [<locale> : string]) => decimal(10,0)

Konverterar alla numeriska värden eller strängar till ett decimalvärde. Om precision och skala inte anges är standardvärdet (10,2). Ett valfritt Java-decimalformat kan användas för konverteringen. Ett valfritt språkformat i formatet BCP47-språk som en-US, de, zh-CN.

  • toDecimal(123.45) -> 123.45
  • toDecimal('123.45', 8, 4) -> 123.4500
  • toDecimal('$123.45', 8, 4,'$###.00') -> 123.4500
  • toDecimal('Ç123,45', 10, 2, 'Ç###,##', 'de') -> 123.45

toDouble

toDouble(<value> : any, [<format> : string], [<locale> : string]) => double

Konverterar alla numeriska värden eller strängar till ett dubbelt värde. Ett valfritt Java-decimalformat kan användas för konverteringen. Ett valfritt språkformat i formatet BCP47-språk som en-US, de, zh-CN.

  • toDouble(123.45) -> 123.45
  • toDouble('123.45') -> 123.45
  • toDouble('$123.45', '$###.00') -> 123.45
  • toDouble('Ç123,45', 'Ç###,##', 'de') -> 123.45

toFloat

toFloat(<value> : any, [<format> : string], [<locale> : string]) => float

Konverterar numeriska värden eller strängar till ett flyttal. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar en dubbel.

  • toFloat(123.45) -> 123.45f
  • toFloat('123.45') -> 123.45f
  • toFloat('$123.45', '$###.00') -> 123.45f

toInteger

toInteger(<value> : any, [<format> : string], [<locale> : string]) => integer

Konverterar alla numeriska värden eller strängar till ett heltalsvärde. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar alla långa flyttal, dubbla.

  • toInteger(123) -> 123
  • toInteger('123') -> 123
  • toInteger('$123', '$###') -> 123

toLong

toLong(<value> : any, [<format> : string], [<locale> : string]) => long

Konverterar alla numeriska värden eller strängar till ett långt värde. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar alla flyttal, double.

  • toLong(123) -> 123
  • toLong('123') -> 123
  • toLong('$123', '$###') -> 123

toShort

toShort(<value> : any, [<format> : string], [<locale> : string]) => short

Konverterar alla numeriska värden eller strängar till ett kort värde. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar alla heltal, långt, flyttal, double.

  • toShort(123) -> 123
  • toShort('123') -> 123
  • toShort('$123', '$###') -> 123

toString

toString(<value> : any, [<number format/date format> : string]) => string

Konverterar en primitiv datatyp till en sträng. För tal och datum kan ett format anges. Om systemstandarden är ospecificerad hämtas. Java-decimalformat används för tal. Se Java SimpleDateFormat för alla möjliga datumformat. Standardformatet är yyyy-MM-dd.

  • toString(10) -> '10'
  • toString('engineer') -> 'engineer'
  • toString(123456.789, '##,###.##') -> '123,456.79'
  • toString(123.78, '000000.000') -> '000123.780'
  • toString(12345, '##0.#####E0') -> '12.345E3'
  • toString(toDate('2018-12-31')) -> '2018-12-31'
  • isNull(toString(toDate('2018-12-31', 'MM/dd/yy'))) -> true
  • toString(4 == 20) -> 'false'

toTimestamp

toTimestamp(<string> : any, [<timestamp format> : string], [<time zone> : string]) => timestamp

Konverterar en sträng till en tidsstämpel med ett valfritt tidsstämpelformat. Om tidsstämpeln utelämnas används standardmönstret yyyy-[M]M-[d]d hh:mm:ss[.f...]. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Tidsstämpeln stöder upp till millisekundprecision med värdet 999. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • toTimestamp('2016-12-31 00:12:00') -> toTimestamp('2016-12-31 00:12:00')
  • toTimestamp('2016-12-31T00:12:00', 'yyyy-MM-dd\'T\'HH:mm:ss', 'PST') -> toTimestamp('2016-12-31 00:12:00')
  • toTimestamp('12/31/2016T00:12:00', 'MM/dd/yyyy\'T\'HH:mm:ss') -> toTimestamp('2016-12-31 00:12:00')
  • millisecond(toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS')) -> 871

toUTC

toUTC(<value1> : timestamp, [<value2> : string]) => timestamp

Konverterar tidsstämpeln till UTC. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Standardvärdet är den aktuella tidszonen. Se Java-klassen SimpleDateFormat för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

  • toUTC(currentTimestamp()) == toTimestamp('2050-12-12 19:18:12') -> false
  • toUTC(currentTimestamp(), 'Asia/Seoul') != toTimestamp('2050-12-12 19:18:12') -> true

translate

translate(<string to translate> : string, <lookup characters> : string, <replace characters> : string) => string

Ersätt en uppsättning tecken med en annan uppsättning tecken i strängen. Tecken har 1 till 1 ersättning.

  • translate('(bojjus)', '()', '[]') -> '[bojjus]'
  • translate('(gunchus)', '()', '[') -> '[gunchus'

trim

trim(<string to trim> : string, [<trim characters> : string]) => string

Trimmar en sträng med inledande och avslutande tecken. Om den andra parametern är ospecificerad rensas blanksteget. Annars trimmas alla tecken som anges i den andra parametern.

  • trim(' dumbo ') -> 'dumbo'
  • trim('!--!du!mbo!', '-!') -> 'du!mbo'

true

true() => boolean

Returnerar alltid ett true-värde. Använd funktionen syntax(true()) om det finns en kolumn med namnet "true".

  • (10 + 20 == 30) -> true
  • (10 + 20 == 30) -> true()

typeMatch

typeMatch(<type> : string, <base type> : string) => boolean

Matchar kolumnens typ. Kan bara användas i mönsteruttryck.number matchar kort, heltal, lång, dubbel, flyttal eller decimal, heltal matchar kort, heltal, långt, bråkmatchningar double, flyttal, decimal- och datetime-matchningar datum eller tidsstämpeltyp.

  • typeMatch(type, 'number')
  • typeMatch('date', 'datetime')

unescape

unescape(<string_to_escape> : string, <format> : string) => string

Unescapes a string according to a format. Literalvärden för godkänt format är "json", "xml", "ecmascript", "html", "java".

  • unescape('{\\\\\"value\\\\\": 10}', 'json')
  • '{\\\"value\\\": 10}'

unfold

unfold (<value1>: array) => any

Delar upp en matris i en uppsättning rader och upprepar värdena för de återstående kolumnerna på varje rad.

  • unfold(addresses) => any
  • unfold( @(name = salesPerson, sales = salesAmount) ) => any

unhex

unhex(<value1>: string) => binary

Tar bort ett binärt värde från dess strängrepresentation. Detta kan användas tillsammans med sha2, md5 för att konvertera från sträng till binär representation * unhex('1fadbe') -> toBinary([toByte(0x1f), toByte(0xad), toByte(0xbe)])

  • unhex(md5(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))) -> toBinary([toByte(0x4c),toByte(0xe8),toByte(0xa8),toByte(0x80),toByte(0xbd),toByte(0x62),toByte(0x1a),toByte(0x1f),toByte(0xfa),toByte(0xd0),toByte(0xbc),toByte(0xa9),toByte(0x05),toByte(0xe1),toByte(0xbc),toByte(0x5a)])

union

union(<value1>: array, <value2> : array) => array

Returnerar en union med distinkta objekt från 2 matriser.

  • union([10, 20, 30], [20, 40]) => [10, 20, 30, 40]

upper

upper(<value1> : string) => string

Versaler en sträng.

  • upper('bojjus') -> 'BOJJUS'

uuid

uuid() => string

Returnerar genererat UUID.

  • uuid()

variance

variance(<value1> : number) => double

Hämtar variansen för en kolumn.

  • variance(sales)

varianceIf

varianceIf(<value1> : boolean, <value2> : number) => double

Hämtar variansen för en kolumn baserat på ett villkor.

  • varianceIf(region == 'West', sales)

variancePopulation

variancePopulation(<value1> : number) => double

Hämtar populationens varians för en kolumn.

  • variancePopulation(sales)

variancePopulationIf

variancePopulationIf(<value1> : boolean, <value2> : number) => double

Hämtar populationens varians för en kolumn baserat på ett villkor.

  • variancePopulationIf(region == 'West', sales)

varianceSample

varianceSample(<value1> : number) => double

Hämtar den objektiva variansen för en kolumn.

  • varianceSample(sales)

varianceSampleIf

varianceSampleIf(<value1> : boolean, <value2> : number) => double

Hämtar den objektiva variansen för en kolumn baserat på ett villkor.

  • varianceSampleIf(region == 'West', sales)

weekOfYear

weekOfYear(<value1> : datetime) => integer

Hämtar veckan på året givet ett datum.

  • weekOfYear(toDate('2008-02-20')) -> 8

weeks

weeks(<value1> : integer) => long

Varaktighet i millisekunder i antal veckor.

  • weeks(2) -> 1209600000L

xor

xor(<value1> : boolean, <value2> : boolean) => boolean

Logisk XOR-operator. Samma som operatorn ^ .

  • xor(true, false) -> true
  • xor(true, true) -> false
  • true ^ false -> true

year

year(<value1> : datetime) => integer

Hämtar årsvärdet för ett datum.

  • year(toDate('2012-8-8')) -> 2012

Nästa steg

Lär dig hur du använder Expression Builder.