Expressies voor gegevenstransformatie in toewijzingsgegevensstroom

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Gegevensstromen zijn beschikbaar in Azure Data Factory en Azure Synapse Pipelines. Dit artikel is van toepassing op toewijzingsgegevensstromen. Als u geen kennis hebt met transformaties, raadpleegt u het inleidende artikel Gegevens transformeren met behulp van een toewijzingsgegevensstroom.

Dit artikel bevat informatie over expressies en functies die worden ondersteund door Azure Data Factory en Azure Synapse Analytics in toewijzingsgegevensstromen.

Expressiefuncties

Gebruik Data Factory en Synapse-pijplijnen de expressietaal van de functie toewijzingsgegevensstroom om gegevenstransformaties te configureren.

Expressiefunctie Taak
Abs Absolute waarde van een getal.
Acos Berekent een inverse cosinuswaarde.
add Voegt een paar tekenreeksen of getallen toe. Hiermee wordt een datum toegevoegd aan een aantal dagen. Voegt een duur toe aan een tijdstempel. De ene matrix van een vergelijkbaar type wordt aan een andere matrix aan een andere toe. Hetzelfde als de operator + .
addDays Dagen toevoegen aan een datum of tijdstempel. Hetzelfde als de operator + voor datum.
addMonths Maanden toevoegen aan een datum of tijdstempel. U kunt eventueel een tijdzone doorgeven.
and Logische EN-operator. Hetzelfde als &&.
Asin Berekent een inverse sinuswaarde.
Atan Berekent een inverse tangenswaarde.
atan2 Retourneert de hoek in radialen tussen de positieve x-as van een vlak en het punt dat door de coördinaten wordt gegeven.
Tussen Controleert of de eerste waarde tussen twee andere waarden staat. Numerieke waarden, tekenreeksen en datum/tijd-waarden kunnen worden vergeleken
bitwiseAnd Bitsgewijze en operator voor integrale typen. Hetzelfde als & operator
bitwiseOr Bitsgewijze of operator voor integrale typen. Hetzelfde als | operator
bitwiseXor Bitsgewijze of operator voor integrale typen. Hetzelfde als | operator
:2b Berekent de Samenvatting 2 van een reeks kolommen van verschillende primitieve gegevenstypen op basis van een bitlengte, wat alleen veelvouden van 8 tussen 8 & 512 kan zijn. Het kan worden gebruikt om een vingerafdruk voor een rij te berekenen
:2bBinary Berekent de Samenvatting 2 van een reeks kolommen van verschillende primitieve gegevenstypen op basis van een bitlengte, wat alleen veelvouden van 8 tussen 8 & 512 kan zijn. Het kan worden gebruikt om een vingerafdruk voor een rij te berekenen
Geval Op basis van afwisselende voorwaarden wordt de ene of de andere waarde toegepast. Als het aantal invoerwaarden even is, wordt de andere standaard ingesteld op NULL voor de laatste voorwaarde.
cbrt Berekent de kubuswortel van een getal.
ceil Retourneert het kleinste gehele getal dat niet kleiner is dan het getal.
coalesce Retourneert de eerste niet null-waarde uit een set invoer. Alle invoer moet van hetzelfde type zijn.
columnNames Haalt de namen van alle uitvoerkolommen voor een stroom op. U kunt een optionele streamnaam doorgeven als het tweede argument.
Kolommen Haalt de waarden van alle uitvoerkolommen voor een stroom op. U kunt een optionele streamnaam doorgeven als het tweede argument.
Vergelijken Vergelijkt twee waarden van hetzelfde type. Retourneert een negatief geheel getal als value1 < value2, 0 if value1 == value2, positieve waarde als value1 > value2.
Concat Een variabel aantal tekenreeksen samenvoegt. Hetzelfde als de operator + met tekenreeksen.
concatWS Een variabel aantal tekenreeksen samen met een scheidingsteken. De eerste parameter is het scheidingsteken.
Cos Berekent een cosinuswaarde.
Cosh Berekent een hyperbolische cosinus van een waarde.
crc32 Berekent de CRC32-hash van een set kolommen met verschillende primitieve gegevenstypen op basis van een bitlengte die alleen waarden van 0(256), 224, 256, 384, 512 kan zijn. Het kan worden gebruikt om een vingerafdruk voor een rij te berekenen.
Currentdate Hiermee haalt u de huidige datum op waarop deze taak wordt uitgevoerd. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
currentTimestamp Haalt de huidige tijdstempel wanneer de taak wordt gestart met de lokale tijdzone.
currentUTC Haalt de huidige tijdstempel op als UTC. Als u wilt dat uw huidige tijd wordt geïnterpreteerd in een andere tijdzone dan de tijdzone van uw cluster, kunt u een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Interpret'. Deze is standaard ingesteld op de huidige tijdzone. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. Als u de UTC-tijd wilt converteren naar een andere tijdzone, gebruikt fromUTC() u .
dayOfMonth Haalt de dag van de maand op op een datum.
dayOfWeek Haalt de dag van de week op op een datum. 1 - zondag, 2 - maandag ..., 7 - zaterdag.
dayOfYear Haalt de dag van het jaar op op een datum.
Dagen Duur in milliseconden voor het aantal dagen.
Graden Converteert radialen naar graden.
Verdelen Verdeelt het paar getallen. Hetzelfde als de / operator.
dropLeft Hiermee verwijdert u zoveel tekens aan de linkerkant van de tekenreeks. Als de aangevraagde daling de lengte van de tekenreeks overschrijdt, wordt een lege tekenreeks geretourneerd.
dropRight Hiermee verwijdert u zoveel tekens rechts van de tekenreeks. Als de aangevraagde daling de lengte van de tekenreeks overschrijdt, wordt een lege tekenreeks geretourneerd.
endsWith Controleert of de tekenreeks eindigt met de opgegeven tekenreeks.
is gelijk aan Vergelijking is gelijk aan operator. Hetzelfde als == operator.
equalsIgnoreCase Vergelijking is gelijk aan operator die case negeert. Hetzelfde als <=> operator.
Ontsnappen Escapet een tekenreeks volgens een indeling. Letterlijke waarden voor een acceptabele indeling zijn 'json', 'xml', 'ecmascript', 'html', 'java'.
Expr Resulteert in een expressie van een tekenreeks. Dit is hetzelfde als het schrijven van deze expressie in een niet-letterlijke vorm. Dit kan worden gebruikt om parameters door te geven als tekenreeksweergaven.
Faculteit Berekent de factoriële waarde van een getal.
Valse Retourneert altijd een onwaar-waarde. Gebruik de functie syntax(false()) als er een kolom is met de naam 'false'.
Verdieping Retourneert het grootste gehele getal dat niet groter is dan het getal.
fromBase64 Decodeert de opgegeven base64-gecodeerde tekenreeks.
fromUTC Converteert van UTC naar de tijdstempel. U kunt de tijdzone desgewenst doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. Deze is standaard ingesteld op de huidige tijdzone. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
Groter Vergelijkingsoperator groter. Hetzelfde als > operator.
greaterOrEqual Vergelijking groter dan of gelijk aan operator. Hetzelfde als >= operator.
Grootste Retourneert de hoogste waarde in de lijst met waarden als invoer die null-waarden over overslaan. Retourneert null als alle invoer null is.
hasColumn Controleert op een kolomwaarde op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parameters vervangen.
Uur Haalt de uurwaarde van een tijdstempel op. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Week'. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
Uur Duur in milliseconden voor het aantal uren.
Iif Op basis van een voorwaarde wordt de ene of de andere waarde toegepast. Als andere niet is gespecificeerd, wordt dit beschouwd als NULL. Beide waarden moeten compatibel zijn (numeriek, tekenreeks...).
iifNull Controleert of de eerste parameter null is. Als dit niet null is, wordt de eerste parameter geretourneerd. Als null is, wordt de tweede parameter geretourneerd. Als er drie parameters zijn opgegeven, is het gedrag hetzelfde als iif(isNull(value1), value2, value3) en wordt de derde parameter geretourneerd als de eerste waarde niet null is.
initCap Converteert de eerste letter van elk woord naar hoofdletters. Woorden worden geïdentificeerd als gescheiden door witruimte.
Instr Zoekt de positie (1 op basis) van de subtekenreeks binnen een tekenreeks. 0 wordt geretourneerd als deze niet wordt gevonden.
isDelete Controleert of de rij is gemarkeerd voor verwijderen. Voor transformaties die meer dan één invoerstroom nemen, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.
isError Controleert of de rij als fout is gemarkeerd. Voor transformaties die meer dan één invoerstroom nemen, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.
isIgnore Controleert of de rij is gemarkeerd om te worden genegeerd. Voor transformaties die meer dan één invoerstroom nemen, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.
isInsert Controleert of de rij is gemarkeerd voor invoegen. Voor transformaties die meer dan één invoerstroom nemen, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.
isMatch Controleert of de rij wordt gematcht bij het opzoek. Voor transformaties die meer dan één invoerstroom nemen, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De streamindex moet 1 of 2 zijn en de standaardwaarde is 1.
Isnull Controleert of de waarde NULL is.
isUpdate Controleert of de rij is gemarkeerd voor update. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De streamindex moet 1 of 2 zijn en de standaardwaarde is 1.
isUpsert Controleert of de rij is gemarkeerd voor invoegen. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De streamindex moet 1 of 2 zijn en de standaardwaarde is 1.
jaroWinkler Haalt de jaroWinkler-afstand tussen twee tekenreeksen op.
lastDayOfMonth Haalt de laatste datum van de maand op op een datum.
Minst Vergelijking kleiner dan of gelijk aan operator. Hetzelfde als <= operator.
Links Extraheert een subtekenreeks beginnen bij index 1 met het aantal tekens. Hetzelfde als SUBSTRING(str, 1, n).
length Retourneert de lengte van de tekenreeks.
Minder Vergelijkingsoperator minder. Hetzelfde als < operator.
minder of gelijk Vergelijking kleiner dan of gelijk aan operator. Hetzelfde als <= operator.
Levenshtein Haalt de afstand levenshtein tussen twee tekenreeksen.
Als Het patroon is een tekenreeks die letterlijk wordt gematcht. De uitzonderingen zijn de volgende speciale symbolen: _ komt overeen met een teken in de invoer (vergelijkbaar met . in posix reguliere expressies)
Zoek Zoekt de positie(1 op basis) van de subtekenreeks binnen een tekenreeks die een bepaalde positie begint. Als de positie wordt weggelaten, wordt deze beschouwd vanaf het begin van de tekenreeks. 0 wordt geretourneerd als deze niet wordt gevonden.
Log Berekent de logboekwaarde. Een optionele basis kan anders een Euler-nummer worden opgegeven als deze wordt gebruikt.
log10 Berekent de logboekwaarde op basis van 10.
Lagere Een tekenreeks in kleine letters.
lpad Links wordt de tekenreeks opgevuld door de opgegeven opvulling totdat deze een bepaalde lengte heeft. Als de tekenreeks gelijk is aan of groter is dan de lengte, wordt deze ingekort tot de lengte.
lt door Met de linkerkant wordt een tekenreeks met vooraanstaand tekens bijsnijden. Als de tweede parameter niet is gespecificeerd, wordt de witruimte inkort. Anders worden alle tekens die in de tweede parameter zijn opgegeven, bijafafd.
md5 Berekent de MD5-samenvatting van een set kolommen met verschillende primitieve gegevenstypen en retourneert een hextreeks van 32 tekens. Het kan worden gebruikt om een vingerafdruk voor een rij te berekenen.
Milliseconde Haalt de millisecondewaarde van een datum op. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
milliseconden Duur in milliseconden voor het aantal milliseconden.
Minus Trekt getallen af. Het aantal dagen van een datum aftrekken. De duur van een tijdstempel aftrekken. Twee tijdstempels aftrekken om een verschil in milliseconden te krijgen. Hetzelfde als de operator - .
Minuut Haalt de minuutwaarde van een tijdstempel op. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
Minuten Duur in milliseconden voor het aantal minuten.
Mod Modulus van paar getallen. Hetzelfde als de operator % .
maand Haalt de maandwaarde van een datum of tijdstempel.
monthsBetween Haalt het aantal maanden tussen twee datums op. U kunt de berekening af ronden. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
Vermenigvuldigen Vermenigvuldigt het paar getallen. Hetzelfde als de operator * .
Ontkennen Negeert een getal. Zet positieve getallen om in negatief en vice versa.
nextSequence Retourneert de volgende unieke reeks. Het getal is alleen achter elkaar binnen een partitie en wordt vooraf door de partitionId.
Normalize Normaliseert de tekenreekswaarde om geaccentueerde unicode-tekens te scheiden.
Niet Logische negatieoperator.
notEquals Vergelijking is niet gelijk aan operator. Hetzelfde als de operator != .
notNull Controleert of de waarde niet NULL is.
null Retourneert een NULL-waarde. Gebruik de functie syntax(null()) als er een kolom met de naam 'null' is. Elke bewerking die gebruikmaakt van , resulteert in een NULL.
or Logische OR-operator. Hetzelfde als | | .
pMod Positieve modulus van paar getallen.
partitionId Retourneert de huidige partitie-id van de invoerrij.
Macht Eén getal verhogen naar de kracht van een ander getal.
Radialen Converteert graden naar radialen
Willekeurige Retourneert een willekeurig getal op basis van een optionele seed binnen een partitie. De seed moet een vaste waarde zijn en wordt gebruikt in combinatie met de partitionId om willekeurige waarden te produceren
regexExtract Extraheren van een overeenkomende subtekenreeks voor een bepaald regex-patroon. De laatste parameter identificeert de overeenkomende groep en wordt standaard ingesteld op 1 als u dit weglaat. Gebruik <regex> (back-quote) om overeen te komen met een tekenreeks zonder escape-teken.
regexMatch Controleert of de tekenreeks overeenkomt met het opgegeven regex-patroon. Gebruik <regex> (back-quote) om overeen te komen met een tekenreeks zonder escape-teken.
regexReplace Vervang alle exemplaren van een regex-patroon door een andere subtekenreeks in de opgegeven tekenreeks Use (back quote) om overeen te komen met een tekenreeks <regex> zonder escape-tekenreeks.
regexSplit Splitst een tekenreeks op basis van een scheidingsteken op basis van regex en retourneert een matrix met tekenreeksen.
Vervangen Vervang alle exemplaren van een subtekenreeks door een andere subtekenreeks in de opgegeven tekenreeks. Als de laatste parameter wordt weggelaten, wordt standaard een lege tekenreeks gebruikt.
Omgekeerde Een tekenreeks omkeren.
Recht Extraheert een subtekenreeks met het aantal tekens aan de rechterkant. Hetzelfde als SUBSTRING(str, LENGTH(str) - n, n).
rlike Controleert of de tekenreeks overeenkomt met het opgegeven regex-patroon.
Ronde Rondt een getal af op een optionele schaal en een optionele afrondingsmodus. Als de schaal wordt weggelaten, wordt deze standaard ingesteld op 0. Als de modus wordt weggelaten, wordt deze standaard ingesteld op ROUND_HALF_UP(5). De waarden voor afronding zijn
rpad Met de rechterkant wordt de tekenreeks opgevuld met de opgegeven opvulling totdat deze een bepaalde lengte heeft. Als de tekenreeks gelijk is aan of groter is dan de lengte, wordt deze bijgesneden tot de lengte.
rtoto Met de rechterkant wordt een tekenreeks met aaneenreeksen bij elkaar gesnaard. Als de tweede parameter niet is gespecificeerd, wordt de witruimte inkorten. Anders worden alle tekens die zijn opgegeven in de tweede parameter, bijafafd.
Tweede Haalt de tweede waarde van een datum op. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Week'. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
Seconden Duur in milliseconden voor het aantal seconden.
sha1 Berekent de SHA-1-samenvatting van een set kolommen met verschillende primitieve gegevenstypen en retourneert een hextreeks van 40 tekens. Deze kan worden gebruikt om een vingerafdruk voor een rij te berekenen.
sha2 Berekent de SHA-2-samenvatting van een set kolom met verschillende primitieve gegevenstypen op basis van een bitlengte die alleen waarden van 0(256), 224, 256, 384, 512 kan zijn. Deze kan worden gebruikt om een vingerafdruk voor een rij te berekenen.
Zonde Berekent een sinuswaarde.
sinh Berekent een hyperbolische sinuswaarde.
soundex Haalt de soundex code voor de tekenreeks op.
Split Splitst een tekenreeks op basis van een scheidingsteken en retourneert een matrix met tekenreeksen.
Sqrt Berekent de vierkantswortel van een getal.
startsWith Controleert of de tekenreeks begint met de opgegeven tekenreeks.
subdagen Dagen aftrekken van een datum of tijdstempel. Hetzelfde als de operator - voor datum.
submonths Maanden aftrekken van een datum of tijdstempel.
Subtekenreeks Extraheert een subtekenreeks van een bepaalde lengte van een positie. De positie is gebaseerd op 1. Als de lengte wordt weggelaten, wordt deze standaard ingesteld op het einde van de tekenreeks.
Tan Berekent een tangenswaarde.
Tanh Berekent een hyperbolische tangenswaarde.
Vertalen Vervang één set tekens door een andere set tekens in de tekenreeks. Tekens hebben 1-op-1 vervanging.
Trim Trimt een tekenreeks met voor- en achteraantekens. Als de tweede parameter niet is gespecificeerd, wordt de witruimte inkorten. Anders worden alle tekens die zijn opgegeven in de tweede parameter, bijafafd.
Waar Retourneert altijd een werkelijke waarde. Gebruik de functie syntax(true()) als er een kolom met de naam 'true' is.
typeMatch Komt overeen met het type van de kolom. Kan alleen worden gebruikt in patroonexpressies.number komt overeen met kort, geheel getal, lang, dubbel, float of decimaal, integrale overeenkomsten kort, geheel getal, lang, fractionele overeenkomsten dubbel, float, decimaal en datum/tijd komt overeen met datum of tijdstempeltype.
unescape Een tekenreeks wordt uit de vorm van een tekenreeks ontseed. Letterlijke waarden voor een acceptabele indeling zijn 'json', 'xml', 'ecmascript', 'html', 'java'.
Bovenste Hoofdletters van een tekenreeks.
uuid Retourneert de gegenereerde UUID.
weekOfYear Haalt de week van het jaar op op een datum.
Weken Duur in milliseconden voor het aantal weken.
Xor Logische XOR-operator. Hetzelfde als de ^-operator.
jaar Haalt de jaarwaarde van een datum op.

Statistische functies

De volgende functies zijn alleen beschikbaar in aggregatie-, draai-, draaitabel- en venstertransformaties.

Statistische functie Taak
approxDistinctCount Haalt het geschatte cumulatief aantal afzonderlijke waarden voor een kolom op. De optionele tweede parameter is om de schattingsfout te bepalen.
Avg Haalt het gemiddelde van waarden van een kolom op.
avgIf Op basis van een criterium wordt het gemiddelde van waarden van een kolom.
Verzamelen Verzamelt alle waarden van de expressie in de geaggregeerde groep in een matrix. Structuren kunnen tijdens dit proces worden verzameld en getransformeerd naar alternatieve structuren. Het aantal items is gelijk aan het aantal rijen in die groep en kan null-waarden bevatten. Het aantal verzamelde items moet klein zijn.
count Haalt het cumulatief aantal waarden op. Als de optionele kolom(en) zijn opgegeven, worden NULL-waarden in het aantal genegeerd.
countDistinct Haalt het cumulatief aantal afzonderlijke waarden van een set kolommen op.
Aantal.als Op basis van een criterium wordt het cumulatief aantal waarden opgetelde. Als de optionele kolom is opgegeven, worden NULL-waarden in het aantal genegeerd.
covariantiePopulation Haalt de covariantie van de populatie tussen twee kolommen op.
covariantiePopulationIf Op basis van een criterium wordt de covariantie van de populatie van twee kolommen vastgesteld.
covariantieSample Haalt de voorbeeldcovariantie van twee kolommen op.
covarianceSampleIf Haalt op basis van een criterium de steekproefcovariantie van twee kolommen op.
Eerste Haalt de eerste waarde van een kolomgroep op. Als de tweede parameter ignoreNulls wordt weggelaten, wordt ervan uitgegaan dat deze onwaar is.
isDistinct Zoekt of een kolom of set kolommen uniek is. Null wordt niet meegetelde als een afzonderlijke waarde
Kurtosis Haalt de kolom op.
apothesif Haalt op basis van een criterium de kolom op.
Laatste Haalt de laatste waarde van een kolomgroep op. Als de tweede parameter ignoreNulls wordt weggelaten, wordt ervan uitgegaan dat deze onwaar is.
Max Haalt de maximumwaarde van een kolom op.
maxIf Haalt op basis van een criterium de maximumwaarde van een kolom op.
gemiddeld Haalt het gemiddelde van waarden van een kolom op. Hetzelfde als AVG.
meanIf Op basis van een criterium wordt het gemiddelde van waarden van een kolom. Hetzelfde als avgIf.
min. Haalt de minimumwaarde van een kolom op.
minIf Haalt op basis van een criterium de minimumwaarde van een kolom op.
Scheefheid Haalt de ascheefheid van een kolom op.
awnessIf Op basis van een criterium wordt de ascheefheid van een kolom oprist.
stddev Haalt de standaarddeviatie van een kolom op.
stddevIf Op basis van een criterium wordt de standaardafwijking van een kolom berekend.
stddevPopulation Haalt de standaardafwijking van de populatie van een kolom op.
stddevPopulationIf Op basis van een criterium wordt de standaardafwijking van de populatie van een kolom.
stddevSample Haalt de standaarddeviatie van een kolom op.
stddevSampleIf Op basis van een criterium wordt de standaarddeviatie van een kolom in de steekproef genomen.
Som Haalt de geaggregeerde som van een numerieke kolom op.
sumDistinct Haalt de geaggregeerde som van afzonderlijke waarden van een numerieke kolom op.
sumDistinctIf Op basis van criteria wordt de geaggregeerde som van een numerieke kolom opgetelde. De voorwaarde kan worden gebaseerd op elke kolom.
Som.als Op basis van criteria wordt de geaggregeerde som van een numerieke kolom opgetelde. De voorwaarde kan worden gebaseerd op elke kolom.
Variantie Haalt de afwijking van een kolom op.
variantieIf Haalt op basis van een criterium de afwijking van een kolom op.
VariantiePopulation Haalt de afwijking van de populatie van een kolom op.
variantiePopulationIf Op basis van een criterium wordt de afwijking van de populatie van een kolom vastgesteld.
variantieSample Haalt de onbevooroordeelde afwijking van een kolom op.
variantieSampleIf Op basis van een criterium wordt de onbevooroordeelde variantie van een kolom.

Matrixfuncties

Matrixfuncties voeren transformaties uit op gegevensstructuren die matrices zijn. Dit zijn onder andere speciale trefwoorden voor het aanpakken van matrixelementen en indexen:

  • #acc vertegenwoordigt een waarde die u wilt opnemen in uw enkele uitvoer bij het verminderen van een matrix
  • #index vertegenwoordigt de huidige matrixindex, samen met matrixindexnummers #index2, #index3 ...
  • #item vertegenwoordigt de huidige elementwaarde in de matrix
Matrixfunctie Taak
matrix Hiermee maakt u een matrix met items. Alle items moeten van hetzelfde type zijn. Als er geen items zijn opgegeven, is een lege tekenreeksmatrix de standaardinstelling. Hetzelfde als een operator voor het maken van [].
Op Zoekt het element op een matrixindex. De index is op 1 gebaseerd. Een buitengrensindex resulteert in een null-waarde. Zoekt een waarde in een kaart op basis van een sleutel. Als de sleutel niet wordt gevonden, wordt null geretourneerd.
Bevat Retourneert true als een element in de opgegeven matrix in het opgegeven predicaat als waar wordt geëvalueerd. Contains verwacht een verwijzing naar één element in de predicaatfunctie als #item.
distinct Retourneert een afzonderlijke set items uit een matrix.
Behalve Retourneert een verschilset van de ene matrix van de andere dubbele items.
Filter Filtert elementen uit de matrix die niet voldoen aan het opgegeven predicaat. Filter verwacht een verwijzing naar één element in de predicaatfunctie als #item.
Vinden Zoek het eerste item in een matrix die met de voorwaarde overeenkomen. Er wordt een filterfunctie gebruikt, waarbij u het item in de matrix kunt adresseren als #item. Voor diep geneste kaarten kunt u verwijzen naar de bovenliggende kaarten met behulp van de #item_n(#item_1, #item_2...) notatie.
Afvlakken De matrix of matrices worden afgevlakt tot één matrix. Matrices van atomische items worden niet-veralterd geretourneerd. Het laatste argument is optioneel en is standaard ingesteld op false om recursief meer dan één niveau diep af te vlakken.
Inch Controleert of een item zich in de matrix .
intersect Retourneert een doorkruisingsset met afzonderlijke items uit twee matrices.
Kaart Kaarten elk element van de matrix toe aan een nieuw element met behulp van de opgegeven expressie. Kaart verwacht een verwijzing naar één element in de expressiefunctie als #item.
mapIf Een matrix voorwaardelijk toe te staan aan een andere matrix met dezelfde of een kleinere lengte. De waarden kunnen van elk gegevenstype zijn, inclusief structTypes. Er wordt een toewijzingsfunctie gebruikt, waarbij u het item in de matrix als een #item en de huidige index als #index. Voor diep geneste kaarten kunt u verwijzen naar de bovenliggende kaarten met behulp van #item_[n](#item_1, #index_1...) de notatie.
mapIndex Kaarten elk element van de matrix toe aan een nieuw element met behulp van de opgegeven expressie. Kaart verwacht een verwijzing naar één element in de expressiefunctie als #item en een verwijzing naar de elementindex als #index.
mapLoop Loopt door van 1 tot lengte om een matrix van die lengte te maken. Er wordt een toewijzingsfunctie gebruikt, waarbij u de index in de matrix kunt adresseren als #index. Voor diep geneste kaarten kunt u verwijzen naar de bovenliggende kaarten met behulp van de #index_n(#index_1, #index_2...) notatie.
Verminderen Verzamelt elementen in een matrix. Reduce verwacht een verwijzing naar een accumulator en één element in de eerste expressiefunctie als #acc en #item en verwacht dat de resulterende waarde als #result wordt gebruikt in de tweede expressiefunctie.
Grootte Zoekt de grootte van een matrix of kaarttype
Segment Extraheert een subset van een matrix uit een positie. De positie is gebaseerd op 1. Als de lengte wordt weggelaten, wordt deze standaard ingesteld op het einde van de tekenreeks.
Sorteren Sorteert de matrix met behulp van de opgegeven predicaatfunctie. Sort verwacht een verwijzing naar twee opeenvolgende elementen in de expressiefunctie als #item1 en #item2.
Ontvouwen Vouwt een matrix uit in een set rijen en herhaalt de waarden voor de resterende kolommen in elke rij.
Unie Retourneert een union-set afzonderlijke items uit 2 matrices.

Opzoekfuncties in cache

De volgende functies zijn alleen beschikbaar wanneer u een zoekactie in de cache gebruikt wanneer u een sink in de cache hebt opgenomen.

Lookup-functie in cache Taak
Lookup Zoekt de eerste rij van de sink in de cache op met behulp van de opgegeven sleutels die overeenkomen met de sleutels van de sink in de cache.
mlookup Zoekt alle overeenkomende rijen van de sink in de cache op met behulp van de opgegeven sleutels die overeenkomen met de sleutels van de sink in de cache.
Output Retourneert de eerste rij van de resultaten van de cache-sink
Uitgangen Retourneert de volledige uitvoerrijset van de resultaten van de cache-sink

Conversiefuncties

Conversiefuncties worden gebruikt om gegevens te converteren en te testen op gegevenstypen

Conversiefunctie Taak
isBitSet Controleert of er een bitpositie is ingesteld in deze bitset
setBitSet Hiermee stelt u bitposities in deze bitset in
isBoolean Controleert of de tekenreekswaarde een Booleaanse waarde is volgens de regels van toBoolean()
isByte Controleert of de tekenreekswaarde een bytewaarde is op basis van een optionele indeling volgens de regels van toByte()
isDate Controleert of de invoerdatum een datum is met behulp van een optionele invoerdatumnotatie. Raadpleeg SimpleDateFormat van Java voor beschikbare indelingen. Als de invoerdatumnotatie wordt weggelaten, is de standaardindeling yyyy-[M]M-[d]d . Geaccepteerde indelingen zijn [ yyyy, yyyy-[M]M, yyyy-[M]M-[d]d, yyyy-[M]M-[d]dT* ]
isShort Controles van de tekenreekswaarde is een korte waarde op basis van een optionele indeling volgens de regels van toShort()
isInteger Controles van de tekenreekswaarde is een geheel getal met een optionele indeling volgens de regels van toInteger()
isLong Controles van de tekenreekswaarde is een lange waarde op basis van een optionele indeling volgens de regels van toLong()
isEno Controleer of dit geen getal is.
isFloat Controles van de tekenreekswaarde is een float-waarde met een optionele indeling volgens de regels van toFloat()
isLeenbaar Controles van de tekenreekswaarde is een dubbele waarde op basis van een optionele indeling volgens de regels van toDouble()
isDecimaal Controles van de tekenreekswaarde is een decimale waarde op basis van een optionele indeling volgens de regels van toDecimal()
isTimestamp Controleert of de invoerdatumreeks een tijdstempel is met behulp van een optionele indeling voor invoertijdstempels. Raadpleeg SimpleDateFormat van Java voor beschikbare indelingen. Als de tijdstempel wordt weggelaten, wordt het yyyy-[M]M-[d]d hh:mm:ss[.f...] standaardpatroon gebruikt. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Week'. Tijdstempel ondersteunt een nauwkeurigheid van maximaal milliseconden met een waarde van 999 Raadpleeg SimpleDateFormat van Java voor beschikbare indelingen.
toBase64 Codeert de opgegeven tekenreeks in base64.
toBinary Converteert een numerieke/datum-/tijdstempel/tekenreeks naar binaire weergave.
toBoolean Converteert een waarde van ('t', 'true', 'y', 'yes', '1') naar true en ('f', 'false', 'n', 'no', '0') naar false en NULL voor een andere waarde.
toByte Converteert een numerieke waarde of tekenreeks naar een bytewaarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie.
Todate Converteert de invoerdatumreeks naar datum met behulp van een optionele invoerdatumnotatie. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. Als de invoerdatumnotatie wordt weggelaten, is de standaardindeling yyyy-[M]M-[d]d. Geaccepteerde indelingen zijn:[ yyyy, yyyy-[M]M, yyyy-[M]M-[d]d, yyyy-[M]M-[d]dT* ].
toDecimal Converteert een numerieke waarde of tekenreeks naar een decimale waarde. Als precisie en schaal niet zijn opgegeven, wordt deze standaard ingesteld op (10,2). Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Een optionele indeling voor de taal van de taal BCP47, zoals en-US, de, zh-CN.
toLeenbaar Converteert een numerieke waarde of tekenreeks naar een dubbele waarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Een optionele indeling voor de taal van de taal BCP47, zoals en-US, de, zh-CN.
toFloat Converteert een numerieke waarde of tekenreeks naar een float-waarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Elk dubbel wordt afgekapt.
toInteger Converteert een numerieke waarde of tekenreeks naar een geheel getal. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Afgekapt een lange, float, dubbele.
Tolong Converteert een numerieke of tekenreeks naar een lange waarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Elke float wordt afgekapt, dubbel.
toShort Converteert een numerieke waarde of tekenreeks naar een korte waarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Elk geheel getal, lang, float, dubbel, wordt afgekapt.
toString Converteert een primitief gegevenstype naar een tekenreeks. Voor getallen en datum kan een notatie worden opgegeven. Als niet is gespecificeerd, wordt de standaardinstelling van het systeem geselecteerd. De decimale Java-notatie wordt gebruikt voor getallen. Raadpleeg Java SimpleDateFormat voor alle mogelijke datumindelingen; de standaardindeling is yyyy-MM-dd.
toTimestamp Converteert een tekenreeks naar een tijdstempel op een optionele tijdstempelindeling. Als de tijdstempel wordt weggelaten, wordt het standaardpatroon yyyy-[M]M-[d]d hh:mm:ss[.f...] gebruikt. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Week'. Tijdstempel ondersteunt een nauwkeurigheid van maximaal milliseconden met een waarde van 999. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
toUTC Converteert de tijdstempel naar UTC. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Week'. Deze is standaard ingesteld op de huidige tijdzone. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.

Kaartfuncties

Kaartfuncties voeren bewerkingen uit op kaartgegevenstypen

Kaartfunctie Taak
Koppelen Hiermee maakt u een kaart van sleutel/waarden. Alle sleutels & waarden moeten van hetzelfde type zijn. Als er geen items zijn opgegeven, wordt deze standaard ingesteld op een kaart van tekenreeks naar tekenreekstype. Hetzelfde als een [ -> ] operator voor het maken. Sleutels en waarden moeten met elkaar worden afgewisseld.
keyValues Hiermee maakt u een kaart met sleutel/waarden. De eerste parameter is een matrix met sleutels en de tweede is de matrix met waarden. Beide matrices moeten even lang zijn.
mapAssociation Transformeert een kaart door de sleutels te koppelen aan nieuwe waarden. Retourneert een matrix. Er wordt een toewijzingsfunctie gebruikt, waarbij u het item kunt #key huidige waarde als #value.
opnieuw koppelen Transformeert een kaart door de sleutels te koppelen aan nieuwe waarden. Er wordt een toewijzingsfunctie gebruikt, waarbij u het item kunt #key huidige waarde als #value.

Metafunctions

Metafunctions werken voornamelijk op metagegevens in uw gegevensstroom

Metafunction Taak
byItem Een subitem zoeken binnen een structuur of matrix van structuur Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomst is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de conversieacties van het type (? Datum? tekenreeks ...). Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken
byOrigin Selecteert een kolomwaarde op naam in de oorsprongstroom. Het tweede argument is de naam van de oorsprongstroom. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomst is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties(TO_DATE, TO_STRING ...). Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.
byOrigins Selecteert een matrix met kolommen op naam in de stroom. Het tweede argument is de stroom waar deze van afkomstig is. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomst is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties (TO_DATE, TO_STRING ...) Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.
byName Selecteert een kolomwaarde op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomst is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties(TO_DATE, TO_STRING ...). Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.
byNames Selecteer een matrix met kolommen op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomsten zijn voor een kolom, is de volledige uitvoer een NULL-waarde. De geretourneerde waarde vereist een typeconversiefuncties (toDate, toString, ...). Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.
byPath Zoekt een hiërarchisch pad op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Als een dergelijk pad niet wordt gevonden, wordt null geretourneerd. Kolomnamen/paden die bekend zijn tijdens het ontwerpen, moeten alleen worden aangepakt met hun naam of punt-notatiepad. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.
byPosition Selecteert een kolomwaarde op basis van de relatieve positie (1) in de stroom. Als de positie buiten de grenzen is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties (TO_DATE, TO_STRING ...) Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.
hasPath Controleert of een bepaald hiërarchisch pad bestaat op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Kolomnamen/paden die bekend zijn tijdens het ontwerpen, moeten alleen worden aangepakt met hun naam of punt-notatiepad. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.
originColumns Haalt alle uitvoerkolommen op voor een oorsprongstroom waarin kolommen zijn gemaakt. Moet in een andere functie worden ingesloten.
hex Retourneert een hexische tekenreeksweergave van een binaire waarde
unhex Een binaire waarde wordt losgehext uit de tekenreeksweergave. Dit kan worden gebruikt in combinatie met sha2, md5 om van tekenreeks naar binaire weergave te converteren

Vensterfuncties

De volgende functies zijn alleen beschikbaar in venstertransformaties.

Windows functie Taak
cumeDist De functie CumeDist berekent de positie van een waarde ten opzichte van alle waarden in de partitie. Het resultaat is het aantal rijen dat voorafgaat aan of gelijk is aan de huidige rij in de volgorde van de partitie gedeeld door het totale aantal rijen in de vensterpartitie. Alle gelijke waarden in de volgorde worden geëvalueerd op dezelfde positie.
denseRank Berekent de rangschikking van een waarde in een groep waarden die zijn opgegeven in de volgorde van een venster op component. Het resultaat is één plus het aantal rijen dat voorafgaat aan of gelijk is aan de huidige rij in de volgorde van de partitie. De waarden veroorzaken geen hiaten in de reeks. Dense Rank werkt zelfs wanneer gegevens niet zijn gesorteerd en zoeken naar wijziging in waarden.
Lag Haalt de waarde op van de eerste parameter die n rijen vóór de huidige rij heeft geëvalueerd. De tweede parameter is het aantal rijen dat moet worden terugkijken en de standaardwaarde is 1. Als er niet zoveel rijen zijn, wordt een waarde van null geretourneerd, tenzij er een standaardwaarde is opgegeven.
Leiden Haalt de waarde op van de eerste parameter die n rijen na de huidige rij heeft geëvalueerd. De tweede parameter is het aantal rijen om vooruit te kijken en de standaardwaarde is 1. Als er niet zoveel rijen zijn, wordt een waarde van null geretourneerd, tenzij er een standaardwaarde is opgegeven.
nTile De NTile functie verdeelt de rijen voor elke vensterpartitie in n buckets van 1 tot en met . n Bucketwaarden verschillen met ten zeerste 1. Als het aantal rijen in de partitie niet gelijkmatig in het aantal buckets wordt verdeeld, worden de restwaarden één per bucket verdeeld, te beginnen met de eerste bucket. De NTile functie is handig voor de berekening van , tertiles kwartielen, deciles en andere algemene samenvattingsstatistieken. De functie berekent twee variabelen tijdens de initialisatie: Aan de grootte van een reguliere bucket wordt één extra rij toegevoegd. Beide variabelen zijn gebaseerd op de grootte van de huidige partitie. Tijdens het berekeningsproces houdt de functie het huidige rijnummer, het huidige bucketnummer en het rijnummer bij waarop de bucket wordt gewijzigd (bucketThreshold). Wanneer het huidige rijnummer de drempelwaarde voor de bucket bereikt, wordt de bucketwaarde met één verhoogd en wordt de drempelwaarde verhoogd met de bucketgrootte (plus één extra als de huidige bucket wordt opgevuld).
Rang Berekent de rangschikking van een waarde in een groep waarden die zijn opgegeven in de volgorde van een venster op component. Het resultaat is één plus het aantal rijen dat voorafgaat aan of gelijk is aan de huidige rij in de volgorde van de partitie. De waarden veroorzaken hiaten in de reeks. Rank werkt zelfs wanneer gegevens niet zijn gesorteerd en zoeken naar wijziging in waarden.
rowNumber Wijst een sequentiële rijnummering toe voor rijen in een venster dat begint met 1.

Alfabetische lijst met alle functies

Hieronder volgt een alfabetische lijst met alle functies die beschikbaar zijn in toewijzingsgegevensstromen.

abs

abs(<value1> : number) => number

Absolute waarde van een getal.

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

acos

acos(<value1> : number) => double

Berekent een inverse cosinuswaarde.

  • acos(1) -> 0.0

add

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

Voegt een paar tekenreeksen of getallen toe. Hiermee wordt een datum toegevoegd aan een aantal dagen. Voegt een duur toe aan een tijdstempel. De ene matrix van een vergelijkbaar type wordt aan een andere matrix aan een andere toe. Hetzelfde als de operator + .

  • 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

Dagen toevoegen aan een datum of tijdstempel. Hetzelfde als de operator + voor datum.

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

addMonths

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

Maanden toevoegen aan een datum of tijdstempel. U kunt eventueel een tijdzone doorgeven.

  • 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

Logische EN-operator. Hetzelfde als &&.

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

approxDistinctCount

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

Haalt het geschatte cumulatief aantal afzonderlijke waarden voor een kolom op. De optionele tweede parameter is om de schattingsfout te bepalen.

  • approxDistinctCount(ProductID, .05) => long

array

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

Hiermee maakt u een matrix met items. Alle items moeten van hetzelfde type zijn. Als er geen items zijn opgegeven, is een lege tekenreeksmatrix de standaardinstelling. Hetzelfde als een operator voor het maken van [].

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

asin

asin(<value1> : number) => double

Berekent een inverse sinuswaarde.

  • asin(0) -> 0.0

associate

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

Hiermee maakt u een kaart met sleutel/waarden. Alle sleutels & waarden moeten van hetzelfde type zijn. Als er geen items zijn opgegeven, wordt deze standaard ingesteld op een kaart van tekenreeks naar tekenreekstype. Hetzelfde als een [ -> ] operator voor het maken. Sleutels en waarden moeten met elkaar worden afgewisseld.

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

at

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

Zoekt het element in een matrixindex. De index is op 1 gebaseerd. Een buitengrensindex resulteert in een null-waarde. Zoekt een waarde in een kaart op basis van een sleutel. Als de sleutel niet wordt gevonden, wordt null geretourneerd.

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

atan

atan(<value1> : number) => double

Berekent een inverse tangenswaarde.

  • atan(0) -> 0.0

atan2

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

Retourneert de hoek in radialen tussen de positieve x-as van een vlak en het punt dat door de coördinaten wordt gegeven.

  • atan2(0, 0) -> 0.0

avg

avg(<value1> : number) => number

Haalt het gemiddelde van waarden van een kolom op.

  • avg(sales)

avgIf

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

Op basis van een criterium wordt het gemiddelde van waarden van een kolom.

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

between

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

Controleert of de eerste waarde tussen twee andere waarden staat. Numerieke waarden, tekenreeksen en datum/tijd-waarden kunnen worden vergeleken * between(10, 5, 24)

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

bitwiseAnd

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

Bitsgewijze en operator voor integrale typen. Hetzelfde als & operator * bitwiseAnd(0xf4, 0xef)

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

bitwiseOr

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

Bitsgewijze of operator voor integrale typen. Hetzelfde als | Operator * bitwiseOr(0xf4, 0xef)

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

bitwiseXor

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

Bitsgewijze of operator voor integrale typen. Hetzelfde als | Operator * bitwiseXor(0xf4, 0xef)

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

blake2b

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

Berekent de Samenvatting 2 van een reeks kolommen van verschillende primitieve gegevenstypen op basis van een bitlengte, wat alleen veelvouden van 8 tussen 8 & 512 kan zijn. Het kan worden gebruikt om een vingerafdruk voor een rij te berekenen * blake2b(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))

  • 'c9521a5080d8da30dffb430c50ce253c345cc4c4effc315dab2162dac974711d'

blake2bBinary

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

Berekent de Samenvatting 2 van een reeks kolommen van verschillende primitieve gegevenstypen op basis van een bitlengte, wat alleen veelvouden van 8 tussen 8 & 512 kan zijn. Het kan worden gebruikt om een vingerafdruk voor een rij te berekenen * blake2bBinary(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))

  • unHex('c9521a5080d8da30dffb430c50ce253c345cc4c4effc315dab2162dac974711d')

byItem

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

Een subitem zoeken binnen een structuur of matrix van structuur Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomst is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de conversieacties van het type (? Datum? tekenreeks ...). Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken * 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

Selecteert een kolomwaarde op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomst is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties(TO_DATE, TO_STRING ...). Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.

  • 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

Selecteer een matrix met kolommen op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomsten zijn voor een kolom, is de volledige uitvoer een NULL-waarde. De geretourneerde waarde vereist een typeconversiefuncties (toDate, toString, ...). Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.

  • 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

Selecteert een kolomwaarde op naam in de oorsprongstroom. Het tweede argument is de naam van de oorsprongstroom. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomst is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties(TO_DATE, TO_STRING ...). Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.

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

byOrigins

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

Selecteert een matrix met kolommen op naam in de stroom. Het tweede argument is de stroom waar deze van afkomstig is. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomst is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties (TO_DATE, TO_STRING ...) Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.

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

byPath

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

Zoekt een hiërarchisch pad op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Als een dergelijk pad niet wordt gevonden, wordt null geretourneerd. Kolomnamen/paden die bekend zijn tijdens het ontwerpen, moeten alleen worden aangepakt met hun naam of punt-notatiepad. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.

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

byPosition

byPosition(<position> : integer) => any

Selecteert een kolomwaarde op de relatieve positie (op basis van 1) in de stroom. Als de positie buiten de grenzen is, wordt een NULL-waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties (TO_DATE, TO_STRING ...) Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.

  • 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

Op basis van afwisselende voorwaarden wordt de ene of de andere waarde toegepast. Als het aantal invoerwaarden even is, wordt de andere standaard ingesteld op NULL voor de laatste voorwaarde.

  • 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

Berekent de kubuswortel van een getal.

  • cbrt(8) -> 2.0

ceil

ceil(<value1> : number) => number

Retourneert het kleinste gehele getal dat niet kleiner is dan het getal.

  • ceil(-0.1) -> 0

coalesce

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

Retourneert de eerste niet null-waarde uit een set invoer. Alle invoer moet van hetzelfde type zijn.

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

collect

collect(<value1> : any) => array

Verzamelt alle waarden van de expressie in de geaggregeerde groep in een matrix. Structuren kunnen tijdens dit proces worden verzameld en getransformeerd naar alternatieve structuren. Het aantal items is gelijk aan het aantal rijen in die groep en kan null-waarden bevatten. Het aantal verzamelde items moet klein zijn.

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

columnNames

columnNames(<value1> : string) => array

Haalt de namen van alle uitvoerkolommen voor een stroom op. U kunt een optionele streamnaam doorgeven als het tweede argument.

  • columnNames()
  • columnNames('DeriveStream')

columns

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

Haalt de waarden van alle uitvoerkolommen voor een stroom op. U kunt een optionele streamnaam doorgeven als het tweede argument.

  • columns()
  • columns('DeriveStream')

compare

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

Vergelijkt twee waarden van hetzelfde type. Retourneert een negatief geheel getal als value1 < value2, 0 if value1 == value2, positieve waarde als value1 > value2.

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

concat

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

Een variabel aantal tekenreeksen samenvoegt. Hetzelfde als de operator + met tekenreeksen.

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

concatWS

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

Een variabel aantal tekenreeksen samen met een scheidingsteken. De eerste parameter is het scheidingsteken.

  • 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

Retourneert true als een element in de opgegeven matrix in het opgegeven predicaat als waar wordt geëvalueerd. Contains verwacht een verwijzing naar één element in de predicaatfunctie als #item.

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

cos

cos(<value1> : number) => double

Berekent een cosinuswaarde.

  • cos(10) -> -0.8390715290764524

cosh

cosh(<value1> : number) => double

Berekent een hyperbolische cosinus van een waarde.

  • cosh(0) -> 1.0

count

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

Haalt het cumulatief aantal waarden op. Als de optionele kolom(en) zijn opgegeven, worden NULL-waarden in het aantal genegeerd.

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

countDistinct

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

Haalt het cumulatief aantal afzonderlijke waarden van een set kolommen op.

  • countDistinct(custId, custName)

countIf

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

Op basis van een criterium wordt het cumulatief aantal waarden op basis van een criterium. Als de optionele kolom is opgegeven, worden NULL-waarden in het aantal genegeerd.

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

covariancePopulation

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

Haalt de covariantie van de populatie tussen twee kolommen op.

  • covariancePopulation(sales, profit)

covariancePopulationIf

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

Op basis van een criterium haalt de covariantie van de populatie van twee kolommen op.

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

covarianceSample

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

Haalt de voorbeeldcovariantie van twee kolommen op.

  • covarianceSample(sales, profit)

covarianceSampleIf

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

Op basis van een criterium haalt de voorbeeldcovariantie van twee kolommen op.

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

crc32

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

Berekent de CRC32-hash van een set kolommen met verschillende primitieve gegevenstypen op basis van een bitlengte die alleen waarden van 0(256), 224, 256, 384, 512 kan zijn. Het kan worden gebruikt om een vingerafdruk voor een rij te berekenen.

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

cumeDist

cumeDist() => integer

De functie CumeDist berekent de positie van een waarde ten opzichte van alle waarden in de partitie. Het resultaat is het aantal rijen dat voorafgaat aan of gelijk is aan de huidige rij in de volgorde van de partitie gedeeld door het totale aantal rijen in de vensterpartitie. Alle gelijke waarden in de volgorde worden geëvalueerd op dezelfde positie.

  • cumeDist()

currentDate

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

Hiermee haalt u de huidige datum op waarop deze taak wordt uitgevoerd. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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

Haalt de huidige tijdstempel wanneer de taak wordt gestart met de lokale tijdzone.

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

currentUTC

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

Haalt de huidige tijdstempel op als UTC. Als u wilt dat uw huidige tijd wordt geïnterpreteerd in een andere tijdzone dan de tijdzone van uw cluster, kunt u een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Hebto'. Deze is standaard ingesteld op de huidige tijdzone. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. Gebruik om de UTC-tijd te converteren naar een andere fromUTC() tijdzone.

  • 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

Haalt de dag van de maand op op een datum.

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

dayOfWeek

dayOfWeek(<value1> : datetime) => integer

Haalt de dag van de week op op een datum. 1 - zondag, 2 - maandag ..., 7 - zaterdag.

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

dayOfYear

dayOfYear(<value1> : datetime) => integer

Haalt de dag van het jaar op op een datum.

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

days

days(<value1> : integer) => long

Duur in milliseconden voor het aantal dagen.

  • days(2) -> 172800000L

degrees

degrees(<value1> : number) => double

Converteert radialen naar graden.

  • degrees(3.141592653589793) -> 180

denseRank

denseRank() => integer

Berekent de rangschikking van een waarde in een groep waarden die zijn opgegeven in de volgorde van een venster op component. Het resultaat is één plus het aantal rijen dat voorafgaat aan of gelijk is aan de huidige rij in de volgorde van de partitie. De waarden veroorzaken geen hiaten in de reeks. Dense Rank werkt zelfs wanneer gegevens niet zijn gesorteerd en zoeken naar wijziging in waarden.

  • denseRank()

distinct

distinct(<value1> : array) => array

Retourneert een afzonderlijke set items uit een matrix.

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

divide

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

Verdeelt twee getallen. Hetzelfde als de / operator.

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

dropLeft

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

Hiermee verwijdert u zoveel tekens aan de linkerkant van de tekenreeks. Als de aangevraagde drop de lengte van de tekenreeks overschrijdt, wordt een lege tekenreeks geretourneerd.

  • dropLeft('bojjus', 2) => 'jjus' * dropLeft('cake', 10) => '' ___

dropRight

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

Hiermee verwijdert u zoveel tekens rechts van de tekenreeks. Als de aangevraagde drop de lengte van de tekenreeks overschrijdt, wordt een lege tekenreeks geretourneerd.

  • dropRight('bojjus', 2) => 'bojj' * dropRight('cake', 10) => '' ___

endsWith

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

Controleert of de tekenreeks eindigt met de opgegeven tekenreeks.

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

equals

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

Vergelijking is gelijk aan operator. Hetzelfde als == operator.

  • 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

Vergelijking is gelijk aan operator die de case negeert. Hetzelfde als <=> operator.

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

escape

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

Escapet een tekenreeks op basis van een indeling. Letterlijke waarden voor acceptabele indeling zijn 'json', 'xml', 'ecmascript', 'html', 'java'.


except

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

Retourneert een verschilset van de ene matrix van een andere die dubbele items laat verwijderen.

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

expr

expr(<expr> : string) => any

Resulteert in een expressie van een tekenreeks. Dit is hetzelfde als het schrijven van deze expressie in een niet-letterlijke vorm. Dit kan worden gebruikt om parameters door te geven als tekenreeksweergaven.

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

factorial

factorial(<value1> : number) => long

Berekent de factoriële waarde van een getal.

  • factorial(5) -> 120

false

false() => boolean

Retourneert altijd een onwaar-waarde. Gebruik de functie syntax(false()) als er een kolom is met de naam 'false'.

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

filter

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

Filtert elementen uit de matrix die niet voldoen aan het opgegeven predicaat. Filter verwacht een verwijzing naar één element in de predicaatfunctie als #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

Zoek het eerste item in een matrix die met de voorwaarde overeenkomen. Er wordt een filterfunctie gebruikt, waarbij u het item in de matrix als een #item. Voor diep geneste kaarten kunt u verwijzen naar de bovenliggende kaarten met behulp van de #item_n(#item_1, #item_2...) notatie.

  • 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

Haalt de eerste waarde van een kolomgroep op. Als de tweede parameter ignoreNulls wordt weggelaten, wordt ervan uitgegaan dat deze false is.

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

flatten

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

Matrix of matrices worden afgevlakt tot één matrix. Matrices met atomische items worden niet-geconverleerd geretourneerd. Het laatste argument is optioneel en is standaard ingesteld op false om recursief meer dan één niveau diep af te vlakken.

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

floor

floor(<value1> : number) => number

Retourneert het grootste gehele getal dat niet groter is dan het getal.

  • floor(-0.1) -> -1

fromBase64

fromBase64(<value1> : string) => string

Decodeert de opgegeven base64-gecodeerde tekenreeks.

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

fromUTC

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

Converteert naar de tijdstempel van UTC. U kunt de tijdzone desgewenst doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. Deze is standaard ingesteld op de huidige tijdzone. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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

Vergelijkingsoperator groter. Hetzelfde als > operator.

  • 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

Vergelijking groter dan of gelijk aan operator. Hetzelfde als >= operator.

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

greatest

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

Retourneert de hoogste waarde in de lijst met waarden als invoer die null-waarden over overslaan. Retourneert null als alle invoer null is.

  • 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

Controleert op een kolomwaarde op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Kolomnamen die bekend zijn tijdens de ontwerptijd, moeten alleen worden aangepakt met hun naam. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.

  • hasColumn('parent')

hasPath

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

Controleert of een bepaald hiërarchisch pad bestaat op naam in de stroom. U kunt een optionele streamnaam doorgeven als het tweede argument. Kolomnamen/paden die bekend zijn tijdens het ontwerpen, moeten alleen worden aangepakt met hun naam of punt-notatiepad. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.

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

hex

hex(<value1>: binary) => string

Retourneert een hexische tekenreeksweergave van een binaire waarde * hex(toBinary([toByte(0x1f), toByte(0xad), toByte(0xbe)])) -> '1fadbe'


hour

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

Haalt de uurwaarde van een tijdstempel op. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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

Duur in milliseconden voor het aantal uren.

  • hours(2) -> 7200000L

iif

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

Op basis van een voorwaarde wordt de ene of de andere waarde toegepast. Als andere niet is gespecificeerd, wordt deze beschouwd als NULL. Beide waarden moeten compatibel zijn (numeriek, tekenreeks...). * 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

Controleert of de eerste parameter null is. Als dit niet null is, wordt de eerste parameter geretourneerd. Als null is, wordt de tweede parameter geretourneerd. Als er drie parameters zijn opgegeven, is het gedrag hetzelfde als iif(isNull(value1), value2, value3) en wordt de derde parameter geretourneerd als de eerste waarde niet null is.

  • 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

Controleert of een item in de matrix staat.

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

initCap

initCap(<value1> : string) => string

Converteert de eerste letter van elk woord naar hoofdletters. Woorden worden aangeduid als gescheiden door witruimte.

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

instr

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

Zoekt de positie(1 op basis) van de subtekenreeks binnen een tekenreeks. 0 wordt geretourneerd als deze niet wordt gevonden.

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

intersect

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

Retourneert een snijpuntset met afzonderlijke items uit twee matrices.

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

isBitSet

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

Controleert of er een bitpositie is ingesteld in deze bitset * isBitSet(toBitSet([10, 32, 98]), 10) => true


isBoolean

isBoolean(<value1>: string) => boolean

Controleert of de tekenreekswaarde een Booleaanse waarde is volgens de regels van toBoolean()

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

isByte

isByte(<value1> : string) => boolean

Controleert of de tekenreekswaarde een bytewaarde is met een optionele indeling volgens de regels van toByte()

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

isDate

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

Controleert of de invoerdatum een datum is met behulp van een optionele invoerdatumnotatie. Raadpleeg SimpleDateFormat van Java voor beschikbare indelingen. Als de invoerdatumnotatie wordt weggelaten, is de standaardindeling yyyy-[M]M-[d]d . Geaccepteerde indelingen zijn [ 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

Controles van de tekenreekswaarde is een decimale waarde met een optionele indeling volgens de regels van toDecimal()

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

isDelete

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

Controleert of de rij is gemarkeerd voor verwijderen. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.

  • isDelete()
  • isDelete(1)

isDistinct

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

Zoekt of een kolom of set kolommen uniek is. Null wordt niet als een afzonderlijke waarde geteld * isDistinct(custId, custName) => boolean


isDouble

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

Controles van de tekenreekswaarde is een dubbele waarde op basis van een optionele indeling volgens de regels van toDouble()

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

isError

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

Controleert of de rij als fout is gemarkeerd. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.

  • isError()
  • isError(1)

isFloat

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

Controles van de tekenreekswaarde is een float-waarde met een optionele indeling volgens de regels van toFloat()

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

isIgnore

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

Controleert of de rij is gemarkeerd om te worden genegeerd. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.

  • isIgnore()
  • isIgnore(1)

isInsert

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

Controleert of de rij is gemarkeerd voor invoegen. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.

  • isInsert()
  • isInsert(1)

isInteger

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

Controles van de tekenreekswaarde is een geheel getal met een optionele indeling volgens de regels van toInteger()

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

isLong

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

Controles van de tekenreekswaarde is een lange waarde met een optionele indeling volgens de regels van toLong()

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

isMatch

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

Controleert of de rij wordt gematcht bij de zoekactie. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.

  • isMatch()
  • isMatch(1)

isNan

isNan (<value1> : integral) => boolean

Controleer of dit geen getal is.

  • isNan(10.2) => false

isNull

isNull(<value1> : any) => boolean

Controleert of de waarde NULL is.

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

isShort

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

Controles van de tekenreekswaarde is een korte waarde met een optionele indeling volgens de regels van toShort()

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

isTimestamp

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

Controleert of de invoerdatumreeks een tijdstempel is met behulp van een optionele indeling voor invoertijdstempels. Raadpleeg SimpleDateFormat van Java voor beschikbare indelingen. Als het tijdstempel wordt weggelaten, wordt het yyyy-[M]M-[d]d hh:mm:ss[.f...] standaardpatroon gebruikt. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. Tijdstempel ondersteunt een nauwkeurigheid van maximaal milliseconden met een waarde van 999 Raadpleeg SimpleDateFormat van Java voor beschikbare indelingen.

  • 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

Controleert of de rij is gemarkeerd voor update. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.

  • isUpdate()
  • isUpdate(1)

isUpsert

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

Controleert of de rij is gemarkeerd voor invoegen. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stroom doorgeven. De stroomindex moet 1 of 2 zijn en de standaardwaarde is 1.

  • isUpsert()
  • isUpsert(1)

jaroWinkler

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

Haalt de JaroWinkler-afstand tussen twee tekenreeksen op.

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

keyValues

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

Hiermee maakt u een kaart van sleutel/waarden. De eerste parameter is een matrix met sleutels en de tweede is de matrix met waarden. Beide matrices moeten even lang zijn.

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

kurtosis

kurtosis(<value1> : number) => double

Haalt de kolom op.

  • kurtosis(sales)

kurtosisIf

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

Op basis van een criterium haalt u de kolom op.

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

lag

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

Haalt de waarde op van de eerste parameter die n rijen vóór de huidige rij heeft geëvalueerd. De tweede parameter is het aantal rijen om terug te kijken en de standaardwaarde is 1. Als er niet zoveel rijen zijn, wordt een waarde van null geretourneerd, tenzij er een standaardwaarde is opgegeven.

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

last

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

Haalt de laatste waarde van een kolomgroep op. Als de tweede parameter ignoreNulls wordt weggelaten, wordt ervan uitgegaan dat deze false is.

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

lastDayOfMonth

lastDayOfMonth(<value1> : datetime) => date

Haalt de laatste datum van de maand op op een 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

Haalt de waarde op van de eerste parameter die n rijen na de huidige rij heeft geëvalueerd. De tweede parameter is het aantal rijen om vooruit te kijken en de standaardwaarde is 1. Als er niet zoveel rijen zijn, wordt een waarde van null geretourneerd, tenzij er een standaardwaarde is opgegeven.

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

least

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

Vergelijking kleiner dan of gelijk aan operator. Hetzelfde als <= operator.

  • 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

Extraheert een subtekenreeks beginnen bij index 1 met het aantal tekens. Hetzelfde als SUBSTRING(str, 1, n).

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

length

length(<value1> : string) => integer

Retourneert de lengte van de tekenreeks.

  • length('dumbo') -> 5

lesser

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

Vergelijkingsoperator minder. Hetzelfde als < operator.

  • 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

Vergelijking kleiner dan of gelijk aan operator. Hetzelfde als <= operator.

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

levenshtein

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

Haalt de afstand levenshtein tussen twee tekenreeksen.

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

like

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

Het patroon is een tekenreeks die letterlijk wordt gematcht. De uitzonderingen zijn de volgende speciale symbolen: _ komt overeen met een teken in de invoer (vergelijkbaar met . in posix reguliere expressies komt % overeen met nul of meer tekens in de invoer (vergelijkbaar met .* in posix reguliere expressies). Het escape-teken is ''. Als een escape-teken voorafgaat aan een speciaal symbool of een ander escape-teken, wordt het volgende teken letterlijk gematcht. Het is ongeldig om een ander teken te escapen.

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

locate

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

Zoekt de positie (1 op basis) van de subtekenreeks binnen een tekenreeks die een bepaalde positie begint. Als de positie wordt weggelaten, wordt deze beschouwd vanaf het begin van de tekenreeks. 0 wordt geretourneerd als deze niet wordt gevonden.

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

log

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

Berekent de logboekwaarde. Een optionele basis kan anders een Euler-nummer worden opgegeven als deze wordt gebruikt.

  • log(100, 10) -> 2

log10

log10(<value1> : number) => double

Berekent de logboekwaarde op basis van 10 basis.

  • log10(100) -> 2

lookup

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

Zoekt de eerste rij van de sink in de cache op met behulp van de opgegeven sleutels die overeenkomen met de sleutels van de sink in de cache.

  • cacheSink#lookup(movieId)

lower

lower(<value1> : string) => string

Een tekenreeks in kleine letters.

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

lpad

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

Links wordt de tekenreeks opgevuld met de opgegeven opvulling totdat deze een bepaalde lengte heeft. Als de tekenreeks gelijk is aan of groter is dan de lengte, wordt deze bijgesneden tot de lengte.

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

ltrim

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

Met de linkerkant wordt een tekenreeks met vooraanstaand tekens bij elkaar gesnaard. Als de tweede parameter niet is gespecificeerd, wordt de witruimte inkorten. Anders worden alle tekens die zijn opgegeven in de tweede parameter, bijafafd.

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

map

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

Kaarten elk element van de matrix toe aan een nieuw element met behulp van de opgegeven expressie. Kaart verwacht een verwijzing naar één element in de expressiefunctie als #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

Transformeert een kaart door de sleutels te koppelen aan nieuwe waarden. Retourneert een matrix. Er wordt een toewijzingsfunctie gebruikt, waarbij u het item als #key en huidige waarde als #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

Een matrix voorwaardelijk toe te staan aan een andere matrix met dezelfde of een kleinere lengte. De waarden kunnen van elk gegevenstype zijn, inclusief structTypes. Er wordt een toewijzingsfunctie gebruikt, waarbij u het item in de matrix als een #item en de huidige index als #index. Voor diep geneste kaarten kunt u verwijzen naar de bovenliggende kaarten met behulp van #item_[n](#item_1, #index_1...) de notatie.

  • 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

Kaarten elk element van de matrix toe aan een nieuw element met behulp van de opgegeven expressie. Map verwacht een verwijzing naar één element in de expressiefunctie als #item en een verwijzing naar de elementindex als #index.

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

mapLoop

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

Loopt door van 1 tot lengte om een matrix van die lengte te maken. Er wordt een toewijzingsfunctie gebruikt, waarbij u de index in de matrix kunt adresseren als #index. Voor diep geneste kaarten kunt u verwijzen naar de bovenliggende kaarten met behulp van de #index_n(#index_1, #index_2...) notatie.

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

max

max(<value1> : any) => any

Haalt de maximumwaarde van een kolom op.

  • max(sales)

maxIf

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

Haalt op basis van een criterium de maximumwaarde van een kolom op.

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

md5

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

Berekent de MD5-samenvatting van een set kolommen met verschillende primitieve gegevenstypen en retourneert een hextreeks van 32 tekens. Deze kan worden gebruikt om een vingerafdruk voor een rij te berekenen.

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

mean

mean(<value1> : number) => number

Haalt het gemiddelde van waarden van een kolom op. Hetzelfde als AVG.

  • mean(sales)

meanIf

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

Op basis van een criterium wordt het gemiddelde van waarden van een kolom. Hetzelfde als avgIf.

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

millisecond

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

Haalt de millisecondewaarde van een datum op. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt als standaard gebruikt. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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

Duur in milliseconden voor het aantal milliseconden.

  • milliseconds(2) -> 2L

min

min(<value1> : any) => any

Haalt de minimumwaarde van een kolom op.

  • min(sales)

minIf

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

Haalt op basis van een criterium de minimumwaarde van een kolom op.

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

minus

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

Trekt getallen af. Het aantal dagen van een datum aftrekken. De duur van een tijdstempel aftrekken. Twee tijdstempels aftrekken om een verschil in milliseconden te krijgen. Hetzelfde als de operator - .

  • 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

Haalt de minuutwaarde van een tijdstempel op. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt als standaard gebruikt. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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

Duur in milliseconden voor het aantal minuten.

  • minutes(2) -> 120000L

mlookup

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

Zoekt alle overeenkomende rijen van de sink in de cache op met behulp van de opgegeven sleutels die overeenkomen met de sleutels van de sink in de cache.

  • cacheSink#mlookup(movieId)

mod

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

Modulus van paar getallen. Hetzelfde als de operator % .

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

month

month(<value1> : datetime) => integer

Haalt de maandwaarde van een datum of tijdstempel op.

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

monthsBetween

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

Haalt het aantal maanden tussen twee datums op. U kunt de berekening af ronden. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Week'. De lokale tijdzone wordt als standaard gebruikt. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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

Vermenigvuldigt het paar getallen. Hetzelfde als de operator * .

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

negate

negate(<value1> : number) => number

Er wordt een getal over het een of meer onderhandeld. Zet positieve getallen om in negatief en vice versa.

  • negate(13) -> -13

nextSequence

nextSequence() => long

Retourneert de volgende unieke reeks. Het getal is alleen achter elkaar binnen een partitie en wordt voorafgevoegd door de partitionId.

  • nextSequence() == 12313112 -> false

normalize

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

Normaliseert de tekenreekswaarde om geaccentueerde unicode-tekens te scheiden.

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

not

not(<value1> : boolean) => boolean

Logische negatieoperator.

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

notEquals

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

Vergelijking is niet gelijk aan operator. Hetzelfde als de operator != .

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

notNull

notNull(<value1> : any) => boolean

Controleert of de waarde niet NULL is.

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

nTile

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

De NTile functie verdeelt de rijen voor elke vensterpartitie in n buckets van 1 tot en met . n Bucketwaarden verschillen met ten zeerste 1. Als het aantal rijen in de partitie niet gelijkmatig wordt verdeeld in het aantal buckets, worden de restwaarden één verdeeld per bucket, beginnend met de eerste bucket. De NTile functie is handig voor de berekening van , tertiles kwartielen, deciles en andere algemene samenvattingsstatistieken. De functie berekent twee variabelen tijdens de initialisatie: Aan de grootte van een normale bucket wordt één extra rij toegevoegd. Beide variabelen zijn gebaseerd op de grootte van de huidige partitie. Tijdens het berekeningsproces houdt de functie het huidige rijnummer, het huidige bucketnummer en het rijnummer waarop de bucket wordt gewijzigd bij (bucketThreshold). Wanneer het huidige rijnummer de bucketdrempel bereikt, wordt de bucketwaarde met één verhoogd en wordt de drempelwaarde verhoogd met de bucketgrootte (plus één extra als de huidige bucket wordt opgevuld).

  • nTile()
  • nTile(numOfBuckets)

null

null() => null

Retourneert een NULL-waarde. Gebruik de functie syntax(null()) als er een kolom met de naam 'null' is. Elke bewerking die gebruikmaakt van , resulteert in een NULL.

  • 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

Logische OR-operator. Hetzelfde als ||.

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

originColumns

originColumns(<streamName> : string) => any

Haalt alle uitvoerkolommen op voor een oorsprongstroom waarin kolommen zijn gemaakt. Moet in een andere functie worden ingesloten.

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

output

output() => any

Retourneert de eerste rij van de resultaten van de cache-sink * cacheSink#output()


outputs

output() => any

Retourneert de volledige uitvoerrijset van de resultaten van de cache-sink * cacheSink#outputs()


partitionId

partitionId() => integer

Retourneert de huidige partitie-id van de invoerrij.

  • partitionId()

pMod

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

Positieve modulus van paar getallen.

  • pmod(-20, 8) -> 4

power

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

Eén getal verhogen naar de kracht van een ander getal.

  • power(10, 2) -> 100

radians

radians(<value1> : number) => double

Converteert graden naar radialen * radians(180) => 3.141592653589793


random

random(<value1> : integral) => long

Retourneert een willekeurig getal op basis van een optionele seed binnen een partitie. De seed moet een vaste waarde zijn en wordt gebruikt in combinatie met de partitionId om willekeurige waarden te produceren * random(1) == 1 -> false


rank

rank() => integer

Berekent de rangschikking van een waarde in een groep waarden die is opgegeven in de volgorde van een venster per component. Het resultaat is één plus het aantal rijen vóór of gelijk aan de huidige rij in de volgorde van de partitie. De waarden veroorzaken hiaten in de reeks. Positie werkt zelfs wanneer gegevens niet zijn gesorteerd en zoeken naar wijziging in waarden.

  • rank()

reassociate

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

Transformeert een kaart door de sleutels te koppelen aan nieuwe waarden. Er wordt een toewijzingsfunctie gebruikt, waarbij u het item als #key en huidige waarde als #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

Verzamelt elementen in een matrix. Reduce verwacht een verwijzing naar een accumulator en één element in de eerste expressiefunctie als #acc en #item en verwacht dat de resulterende waarde als #result wordt gebruikt in de tweede expressiefunctie.

  • 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

Extraheren van een overeenkomende subtekenreeks voor een bepaald regex-patroon. De laatste parameter identificeert de overeenkomende groep en wordt standaard ingesteld op 1 als u dit weglaat. Gebruik ' '(back quote) om een tekenreeks te vinden zonder escape-teken.

  • 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

Controleert of de tekenreeks overeenkomt met het opgegeven regex-patroon. Gebruik ' '(back quote) om een tekenreeks te vinden zonder escape-teken.

  • 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

Vervang alle exemplaren van een regex-patroon door een andere subtekenreeks in de opgegeven tekenreeks Use ' '(back quote) om overeen te komen met een tekenreeks zonder escape-tekenreeks.

  • 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

Splitst een tekenreeks op basis van een scheidingsteken op basis van regex en retourneert een matrix met tekenreeksen.

  • 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

Vervang alle exemplaren van een subtekenreeks door een andere subtekenreeks in de opgegeven tekenreeks. Als de laatste parameter wordt weggelaten, wordt standaard een lege tekenreeks gebruikt.

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

reverse

reverse(<value1> : string) => string

Een tekenreeks omkeren.

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

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

Extraheert een subtekenreeks met het aantal tekens aan de rechterkant. Hetzelfde als SUBSTRING(str, LENGTH(str) - n, n).

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

rlike

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

Controleert of de tekenreeks overeenkomt met het opgegeven regex-patroon.

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

round

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

Rondt een getal af op een optionele schaal en een optionele afrondingsmodus. Als de schaal wordt weggelaten, wordt deze standaard ingesteld op 0. Als de modus wordt weggelaten, wordt deze standaard ingesteld op ROUND_HALF_UP(5). De waarden voor afronding zijn 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

Wijst een sequentiële rijnummering toe voor rijen in een venster dat begint met 1.

  • rowNumber()

rpad

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

Met de rechterkant wordt de tekenreeks opgevuld met de opgegeven opvulling totdat deze een bepaalde lengte heeft. Als de tekenreeks gelijk is aan of groter is dan de lengte, wordt deze bijgesneden tot de lengte.

  • rpad('dumbo', 10, '-') -> 'dumbo-----'
  • rpad('dumbo', 4, '-') -> 'dumb'
  • 'rpad('hebto', 8, '<>') -> '<><'``

rtrim

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

Met de rechterkant wordt een tekenreeks met aaneenreeksen bij elkaar gesnaard. Als de tweede parameter niet is gespecificeerd, wordt de witruimte inkorten. Anders worden alle tekens die zijn opgegeven in de tweede parameter, bijafafd.

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

second

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

Haalt de tweede waarde van een datum op. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. De lokale tijdzone wordt als standaard gebruikt. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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

Duur in milliseconden voor het aantal seconden.

  • seconds(2) -> 2000L

setBitSet

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

Hiermee stelt u bitposities in deze bitset in * setBitSet(toBitSet([10, 32]), [98]) => [4294968320L, 17179869184L]


sha1

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

Berekent de SHA-1-samenvatting van een set kolommen met verschillende primitieve gegevenstypen en retourneert een hextreeks van 40 tekens. Deze kan worden gebruikt om een vingerafdruk voor een rij te berekenen.

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

sha2

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

Berekent de SHA-2-samenvatting van een set kolom met verschillende primitieve gegevenstypen op basis van een bitlengte die alleen waarden van 0(256), 224, 256, 384, 512 kan zijn. Deze kan worden gebruikt om een vingerafdruk voor een rij te berekenen.

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

sin

sin(<value1> : number) => double

Berekent een sinuswaarde.

  • sin(2) -> 0.9092974268256817

sinh

sinh(<value1> : number) => double

Berekent een hyperbolische sinuswaarde.

  • sinh(0) -> 0.0

size

size(<value1> : any) => integer

Zoekt de grootte van een matrix of kaarttype * size(['element1', 'element2']) -> 2

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

skewness

skewness(<value1> : number) => double

Haalt de ascheefheid van een kolom op.

  • skewness(sales)

skewnessIf

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

Op basis van een criterium wordt de ascheefheid van een kolom.

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

slice

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

Extraheert een subset van een matrix uit een positie. De positie is gebaseerd op 1. Als de lengte wordt weggelaten, wordt deze standaard ingesteld op het einde van de tekenreeks.

  • 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

Sorteert de matrix met behulp van de opgegeven predicaatfunctie. Sort verwacht een verwijzing naar twee opeenvolgende elementen in de expressiefunctie als #item1 en #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

Haalt de soundex code voor de tekenreeks op.

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

split

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

Splitst een tekenreeks op basis van een scheidingsteken en retourneert een matrix met tekenreeksen.

  • 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

Berekent de vierkantswortel van een getal.

  • sqrt(9) -> 3

startsWith

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

Controleert of de tekenreeks begint met de opgegeven tekenreeks.

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

stddev

stddev(<value1> : number) => double

Haalt de standaarddeviatie van een kolom op.

  • stdDev(sales)

stddevIf

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

Op basis van een criterium wordt de standaardafwijking van een kolom berekend.

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

stddevPopulation

stddevPopulation(<value1> : number) => double

Haalt de standaardafwijking van de populatie van een kolom op.

  • stddevPopulation(sales)

stddevPopulationIf

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

Haalt op basis van een criterium de standaardafwijking van de populatie van een kolom op.

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

stddevSample

stddevSample(<value1> : number) => double

Haalt de standaarddeviatie van een kolom op.

  • stddevSample(sales)

stddevSampleIf

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

Op basis van een criterium wordt de standaarddeviatie van een kolom uit de steekproef genomen.

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

subDays

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

Dagen aftrekken van een datum of tijdstempel. Hetzelfde als de operator - voor datum.

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

subMonths

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

Maanden aftrekken van een datum of tijdstempel.

  • 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

Extraheert een subtekenreeks van een bepaalde lengte van een positie. De positie is gebaseerd op 1. Als de lengte wordt weggelaten, wordt deze standaard ingesteld op het einde van de tekenreeks.

  • 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

Haalt de geaggregeerde som van een numerieke kolom op.

  • sum(col)

sumDistinct

sumDistinct(<value1> : number) => number

Haalt de geaggregeerde som van afzonderlijke waarden van een numerieke kolom op.

  • sumDistinct(col)

sumDistinctIf

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

Op basis van criteria wordt de geaggregeerde som van een numerieke kolom opgetelde. De voorwaarde kan worden gebaseerd op elke kolom.

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

sumIf

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

Op basis van criteria wordt de geaggregeerde som van een numerieke kolom opgetelde. De voorwaarde kan worden gebaseerd op elke kolom.

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

tan

tan(<value1> : number) => double

Berekent een tangenswaarde.

  • tan(0) -> 0.0

tanh

tanh(<value1> : number) => double

Berekent een hyperbolische tangenswaarde.

  • tanh(0) -> 0.0

toBase64

toBase64(<value1> : string) => string

Codeert de opgegeven tekenreeks in base64.

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

toBinary

toBinary(<value1> : any) => binary

Converteert een numerieke/datum-/tijdstempel/tekenreeks naar binaire weergave.

  • toBinary(3) -> [0x11]

toBoolean

toBoolean(<value1> : string) => boolean

Converteert een waarde van ('t', 'true', 'y', 'yes', '1') naar true en ('f', 'false', 'n', 'no', '0') naar false en NULL voor een andere waarde.

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

toByte

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

Converteert een numerieke waarde of tekenreeks naar een bytewaarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie.

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

toDate

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

Converteert de invoerdatumreeks naar datum met behulp van een optionele invoerdatumnotatie. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. Als de invoerdatumnotatie wordt weggelaten, is de standaardindeling yyyy-[M]M-[d]d. Geaccepteerde indelingen zijn:[ yyyy, yyyy-[M]M, yyyy-[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)

Converteert een numerieke waarde of tekenreeks naar een decimale waarde. Als precisie en schaal niet zijn opgegeven, wordt deze standaard ingesteld op (10,2). Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Een optionele indeling voor de taal van de taal BCP47, zoals 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

Converteert een numerieke waarde of tekenreeks naar een dubbele waarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Een optionele indeling voor de taal van de taal BCP47, zoals 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

Converteert een numerieke waarde of tekenreeks naar een float-waarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Elk dubbel wordt afgekapt.

  • 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

Converteert een numerieke waarde of tekenreeks naar een geheel getal. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Afgekapt een lange, float, dubbele.

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

toLong

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

Converteert een numerieke of tekenreeks naar een lange waarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Elke float wordt afgekapt, dubbel.

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

toShort

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

Converteert een numerieke waarde of tekenreeks naar een korte waarde. Er kan een optionele decimale Java-indeling worden gebruikt voor de conversie. Elk geheel getal, lang, float, dubbel wordt afgekapt.

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

toString

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

Converteert een primitief gegevenstype naar een tekenreeks. Voor getallen en datums kan een notatie worden opgegeven. Als niet is gespecificeerd, wordt de standaardinstelling van het systeem geselecteerd. De decimale Java-notatie wordt gebruikt voor getallen. Raadpleeg Java SimpleDateFormat voor alle mogelijke datumindelingen; de standaardindeling is 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

Converteert een tekenreeks naar een tijdstempel met een optionele tijdstempelindeling. Als de tijdstempel wordt weggelaten, wordt het standaardpatroon yyyy-[M]M-[d]d hh:mm:ss[.f...] gebruikt. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. Tijdstempel ondersteunt een nauwkeurigheid van maximaal milliseconden met een waarde van 999. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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

Converteert de tijdstempel naar UTC. U kunt een optionele tijdzone doorgeven in de vorm van 'GMT', 'PST', 'UTC', 'America/Form'. Deze is standaard ingesteld op de huidige tijdzone. Raadpleeg de klasse van Java SimpleDateFormat voor beschikbare indelingen. 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

Vervang één set tekens door een andere set tekens in de tekenreeks. Tekens hebben 1-op-1 vervanging.

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

trim

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

Trimt een tekenreeks met voor- en achteraan tekens. Als de tweede parameter niet is gespecificeerd, wordt de witruimte inkort. Anders worden alle tekens die in de tweede parameter zijn opgegeven, bijafafd.

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

true

true() => boolean

Retourneert altijd een werkelijke waarde. Gebruik de functie syntax(true()) als er een kolom met de naam 'true' is.

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

typeMatch

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

Komt overeen met het type kolom. Kan alleen worden gebruikt in patroonexpressies.number komt overeen met kort, geheel getal, lang, dubbel, float of decimaal, integrale overeenkomsten kort, geheel getal, lange, fractionele overeenkomsten, dubbele, float-, decimale en datum/tijd-overeenkomsten datum- of tijdstempeltype.

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

unescape

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

Een tekenreeks wordt uit de vorm van een tekenreeks ontsuitgebaar. Letterlijke waarden voor acceptabele indeling zijn 'json', 'xml', 'ecmascript', 'html', 'java'.

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

unfold

unfold (<value1>: array) => any

Zet een matrix uit in een set rijen en herhaalt de waarden voor de resterende kolommen in elke rij.

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

unhex

unhex(<value1>: string) => binary

Een binaire waarde wordt losgehext uit de tekenreeksweergave. Dit kan worden gebruikt in combinatie met sha2, md5 om van tekenreeks naar binaire weergave te converteren * 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

Retourneert een union-set afzonderlijke items uit 2 matrices.

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

upper

upper(<value1> : string) => string

Hoofdletters van een tekenreeks.

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

uuid

uuid() => string

Retourneert de gegenereerde UUID.

  • uuid()

variance

variance(<value1> : number) => double

Haalt de variantie van een kolom op.

  • variance(sales)

varianceIf

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

Op basis van een criterium wordt de afwijking van een kolom op basis van een criterium.

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

variancePopulation

variancePopulation(<value1> : number) => double

Haalt de afwijking van de populatie van een kolom op.

  • variancePopulation(sales)

variancePopulationIf

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

Op basis van een criterium haalt de populatievariantie van een kolom op.

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

varianceSample

varianceSample(<value1> : number) => double

Haalt de onbevooroordeelde variantie van een kolom op.

  • varianceSample(sales)

varianceSampleIf

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

Op basis van een criterium haalt de onbevooroordeelde afwijking van een kolom op.

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

weekOfYear

weekOfYear(<value1> : datetime) => integer

Haalt de week van het jaar op op een datum.

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

weeks

weeks(<value1> : integer) => long

Duur in milliseconden voor het aantal weken.

  • weeks(2) -> 1209600000L

xor

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

Logische XOR-operator. Hetzelfde als de operator ^ .

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

year

year(<value1> : datetime) => integer

Haalt de jaarwaarde van een datum op.

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

Volgende stappen

Meer informatie over het gebruik van Expression Builder.