Delen via


Gebruik van expressies voor gegevenstransformatie in toewijzingsgegevensstromen

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

Gegevensstromen zijn beschikbaar in zowel Azure Data Factory-pijplijnen als Azure Synapse Analytics-pijplijnen. Dit artikel is van toepassing op toewijzingsgegevensstromen. Als u nieuw bent met transformaties, raadpleegt u het inleidende artikel Gegevens transformeren met behulp van mapping-dataflows.

Dit artikel bevat informatie over het gebruik van alle expressies en functies die worden ondersteund door Azure Data Factory en Azure Synapse Analytics in gemapte gegevensstromen. Raadpleeg de volgende artikelen voor samenvattingen van elk type functie dat wordt ondersteund:

Alfabetische lijst met alle functies

De volgende alfabetische lijst bevat alle functies die beschikbaar zijn in toewijzingsgegevensstromen.

A

abs

abs(<value1> : number) => number

Retourneert de 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

Hiermee voegt u een paar tekenreeksen of getallen toe. Voegt een datum toe aan vele dagen. Hiermee wordt een duur toegevoegd aan een tijdstempel. Voegt een array van een vergelijkbaar type toe aan een andere array. 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

Hiermee voegt u dagen toe aan een datum- of tijdstempel. Hetzelfde als de + operator voor datums.

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

addMonths

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

Hiermee worden maanden toegevoegd aan een datum- of tijdstempel. U kunt desgewenst 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

Maakt gebruik van de logische AND operator. Hetzelfde als &&.

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

approxDistinctCount

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

Hiermee haalt u het totaalaantal afzonderlijke waarden voor een kolom op. De optionele tweede parameter is het beheren van de schattingsfout.

  • 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 standaardwaarde. Hetzelfde als een [] operator voor het maken.

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

ascii

ascii(<Input> : string) => number

Retourneert de numerieke waarde van het invoerteken. Als de invoertekenreeks meer dan één teken heeft, wordt de numerieke waarde van het eerste teken geretourneerd.

  • ascii('A') -> 65
  • ascii('a') -> 97

asin

asin(<value1> : number) => double

Berekent een inverse sinuswaarde.

  • asin(0) -> 0.0

assertErrorMessages

assertErrorMessages() => map

Retourneert een kaart van alle foutberichten voor de rij met assert-id als sleutel.

Examples

  • assertErrorMessages() => ['assert1': 'This row failed on assert1.', 'assert2': 'This row failed on assert2.']. In this example, at(assertErrorMessages(), 'assert1') would return 'This row failed on assert1.'

associate

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

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

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

at

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

Hiermee zoekt u het element in een matrixindex. De index is gebaseerd op 1. Een index buiten de toegestane grenzen resulteert in een nulwaarde. Hiermee wordt een waarde in een kaart gevonden wanneer een sleutel wordt opgegeven. Als de sleutel niet wordt gevonden, wordt er een null-waarde 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

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

  • atan2(0, 0) -> 0.0

avg

avg(<value1> : number) => number

Hiermee haalt u het gemiddelde van de waarden van een kolom op.

  • avg(sales)

avgIf

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

Hiermee haalt u het gemiddelde van de waarden van een kolom op op basis van criteria.

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

B

between

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

Controleert of de eerste waarde zich tussen twee andere waarden bevindt. U kunt numerieke waarden, tekenreeksen en datetime waarden vergelijken.

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

bitwiseAnd

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

Maakt gebruik van de bitsgewijze And operator voor integrale typen. Hetzelfde als de & operator.

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

bitwiseOr

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

Maakt gebruik van de bitsgewijze Or operator voor integrale typen. Hetzelfde als de | operator.

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

bitwiseXor

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

Maakt gebruik van de bitsgewijze Or operator voor integrale typen. Hetzelfde als de | operator

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

blake2b

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

Berekent de Blake2-samenvatting van een reeks kolommen met verschillende primitieve gegevenstypen wanneer een bitlengte wordt gegeven, die slechts veelvouden van 8 tussen 8 en 512 kan zijn. U kunt deze gebruiken 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 Blake2-samenvatting van een set kolommen met verschillende primitieve gegevenstypen wanneer een bitlengte wordt gegeven, die slechts veelvouden van 8 tussen 8 en 512 kan zijn. U kunt deze gebruiken 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

Hiermee zoekt u een subitem binnen een structuur of matrix van structuur. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomsten zijn, wordt een NULL waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversieacties (zoals ? date en ? string). Adreskolomnamen die tijdens het ontwerp bekend zijn door hun namen. 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 stream. U kunt een optionele stroomnaam doorgeven als het tweede argument. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomsten zijn, wordt een NULL waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties (zoals TO_DATE en TO_STRING). Adreskolomnamen die tijdens het ontwerp bekend zijn door hun namen. 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 stream. U kunt een optionele stroomnaam 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 typeconversiefunctie (zoals toDate en toString). Adreskolomnamen die tijdens het ontwerp bekend zijn door hun namen. 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 oorsprongsstroom. Het tweede argument is de naam van de oorsprongsstroom. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomsten zijn, wordt een NULL waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties (zoals TO_DATE en TO_STRING). Adreskolomnamen die tijdens het ontwerp bekend zijn door hun namen. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.

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

byOrigins

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

Hiermee selecteert u een matrix met kolommen op naam in de stream. Het tweede argument is de stroom van waaruit het afkomstig is. Als er meerdere overeenkomsten zijn, wordt de eerste overeenkomst geretourneerd. Als er geen overeenkomsten zijn, wordt een NULL waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties (zoals TO_DATE en TO_STRING). Adreskolomnamen die tijdens het ontwerp bekend zijn door hun namen. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.

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

byPath

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

Hiermee zoekt u een hiërarchisch pad op naam in de stream. U kunt een optionele stroomnaam doorgeven als het tweede argument. Als er geen dergelijk pad wordt gevonden, wordt het geretourneerd NULL. Kolomnamen/paden die bekend zijn tijdens het ontwerp, moeten alleen worden geadresseerd met behulp van hun naam of puntnotatiepad. 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 (1 gebaseerd) in de stroom. Als de positie buiten de grenzen valt, wordt een NULL waarde geretourneerd. De geretourneerde waarde moet worden geconverteerd door een van de typeconversiefuncties (zoals TO_DATE of 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))

C

case

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

Op basis van afwisselende voorwaarden past de case functie één waarde of de andere toe. Als het aantal invoerwaarden even is, wordt de andere standaard op NULL ingesteld 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 kubushoofdmap 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

char

char(<Input> : number) => string

Retourneert het ASCII-teken dat wordt vertegenwoordigd door het invoernummer. Als het getal groter is dan 256, is het resultaat gelijk aan teken (getal % 256).

  • char(65) -> 'A'
  • char(97) -> 'a'

coalesce

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

Retourneert de eerste niet null-waarde van een set invoerwaarden. 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. U kunt structuren verzamelen en transformeren naar alternatieve structuren tijdens dit proces. 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) )

collectUnique

collectUnique(<value1> : any) => array

Verzamelt alle waarden van de expressie in de geaggregeerde groep in een unieke matrix. U kunt structuren verzamelen en transformeren naar alternatieve structuren tijdens dit proces. 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>columnNames( : string, i><value1> : booleaanse waarde) = matrix>

Hiermee haalt u de namen op van alle uitvoerkolommen voor een stream. U kunt een optionele stroomnaam doorgeven als het eerste argument. Het tweede argument is ook optioneel, waarbij false als standaardwaarde wordt gebruikt. Als u het tweede argument true()instelt op, retourneert Data Factory alleen kolommen die worden gedrift via schemadrift.

  • columnNames()
  • columnNames('DeriveStream')
  • columnNames('DeriveStream', true())
  • columnNames('', true())

columns

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

Hiermee haalt u de waarden van alle uitvoerkolommen voor een stream op. U kunt een optionele stroomnaam 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 waarde1 < waarde2, 0 als waarde1 == waarde2 en een positieve waarde als waarde1 > waarde2.

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

concat

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

Voegt een variabel aantal tekenreeksen samen. 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

Voegt 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 van de opgegeven array beoordeeld als true volgens het opgegeven predicaat. contains De functie 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 cosinus hyperbolicus van een waarde.

  • cosh(0) -> 1.0

count

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

Hiermee haalt u het totaalaantal waarden op. Als een of meer optionele kolommen zijn opgegeven, worden NULL waarden in de telling genegeerd.

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

countAll

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

Hiermee haalt u het totaalaantal waarden op, inclusief null-waarden.

  • countAll(custId)
  • countAll()

countDistinct

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

Hiermee haalt u het totaalaantal afzonderlijke waarden van een set kolommen op.

  • countDistinct(custId, custName)

countAllDistinct

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

Hiermee wordt het totaalaantal afzonderlijke waarden van een set kolommen opgehaald, inclusief null-waarden.

  • countAllDistinct(custId, custName)

countIf

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

Hiermee haalt u het totale aantal waarden op op basis van criteria. Als de optionele kolom is opgegeven, worden NULL waarden genegeerd in de telling.

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

covariancePopulation

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

Hiermee haalt u de covariantie van de populatie op tussen twee kolommen.

  • covariancePopulation(sales, profit)

covariancePopulationIf

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

Hiermee haalt u de covariantie van de populatie van twee kolommen op op basis van criteria.

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

covarianceSample

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

Hiermee haalt u de covariantie van de steekproef van twee kolommen op.

  • covarianceSample(sales, profit)

covarianceSampleIf

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

Hiermee haalt u de steekproefcovariantie van twee kolommen op, gebaseerd op specifieke criteria.

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

crc32

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

Berekent de CRC32-hash van een set kolommen met verschillende primitieve gegevenstypen wanneer een bitlengte wordt gegeven, die alleen waarden kan zijn 0(256, 224, 256, 384 en 512. U kunt deze gebruiken om een vingerafdruk voor een rij te berekenen.

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

cumeDist

cumeDist() => integer

De cumeDist functie 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. Eventuele gelijkmakende waarden in de volgorde resulteren in 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, PSTof UTCAmerica/Cayman. De lokale tijdzone van het datacenter/de regio van de data factory wordt als standaard gebruikt. Raadpleeg de klasse SimpleDateFormat van Java voor beschikbare indelingen.

  • 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

Hiermee haalt u het huidige tijdstempel op wanneer de taak wordt uitgevoerd met een lokale tijdzone.

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

currentUTC

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

Hiermee haalt u het huidige tijdstempel op als UTC. Als u wilt dat uw huidige tijd wordt geïnterpreteerd in een andere tijdzone dan uw clustertijdzone, kunt u een optionele tijdzone doorgeven in de vorm van GMT, PST, of UTCAmerica/Cayman. Deze wordt standaard ingesteld op de huidige tijdzone. Raadpleeg de klasse SimpleDateFormat van Java voor beschikbare indelingen. Als u de UTC-tijd wilt converteren naar een andere tijdzone, gebruikt u fromUTC().

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

D

dayOfMonth

dayOfMonth(<value1> : datetime) => integer

Hiermee haalt u de dag van de maand op wanneer u een datum hebt opgegeven.

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

dayOfWeek

dayOfWeek(<value1> : datetime) => integer

Hiermee haalt u de dag van de week op wanneer een datum is opgegeven. Is bijvoorbeeld 1 zondag, 2 is maandag, ... en 7 is zaterdag.

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

dayOfYear

dayOfYear(<value1> : datetime) => integer

Hiermee haalt u de dag van het jaar op wanneer een datum is opgegeven.

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

days

days(<value1> : integer) => long

Duur in milliseconden voor het aantal dagen.

  • days(2) -> 172800000L

decode

decode(<Input> : any, <Charset> : string) => binary

Decodeert de gecodeerde invoergegevens in een tekenreeks op basis van de opgegeven tekenset. U kunt een tweede (optioneel) argument gebruiken om op te geven welke charset moet worden gebruikt. Voorbeelden zijn US-ASCII, ISO-8859-1( UTF-8 standaard), UTF-16BEen UTF-16LEUTF-16.

  • decode(array(toByte(97),toByte(98),toByte(99)), 'US-ASCII') -> abc

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 per 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 produceren geen hiaten in de reeks. De denseRank functie werkt zelfs wanneer gegevens niet worden gesorteerd en zoekt naar wijzigingen 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 paar getallen. Hetzelfde als de / operator.

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

dropLeft

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

Hiermee verwijdert u net zoveel tekens links van de tekenreeks. Als de aangevraagde vervolgkeuzelijst groter is dan de lengte van de tekenreeks, wordt een lege tekenreeks geretourneerd.

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

dropRight

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

Hiermee verwijdert u net zoveel tekens rechts van de tekenreeks. Als de aangevraagde vervolgkeuzelijst groter is dan de lengte van de tekenreeks, wordt een lege tekenreeks geretourneerd.

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

E

encode

encode(<Input> : string, <Charset> : string) => binary

Codeert de invoertekenreeksgegevens in binair op basis van een tekenset. Een tweede (optioneel) argument kan worden gebruikt om op te geven welke charset moet worden gebruikt. Voorbeelden zijn US-ASCII, ISO-8859-1( UTF-8 standaard), UTF-16BEen UTF-16LEUTF-16.

  • encode('abc', 'US-ASCII') -> array(toByte(97),toByte(98),toByte(99))

endsWith

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

Controleert of de tekenreeks eindigt op de opgegeven tekenreeks.

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

equals

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

Maakt gebruik van de gelijkheidsoperator. Hetzelfde als de == 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

Maakt gebruik van de vergelijkingsoperator die hoofdletters en kleine letters negeert. Hetzelfde als de <=> operator.

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

escape

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

Escapet een tekenreeks op basis van een notatie. Letterlijke waarden voor acceptabele notatie zijn json, xml, ecmascripten htmljava.


except

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

Retourneert een verschilset van de ene matrix van een andere neervallende duplicaten.

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

expr

expr(<expr> : string) => any

Resulteert in een uitdrukking uit een tekenreeks, die hetzelfde is als het schrijven van deze uitdrukking in een niet-letterlijke vorm. U kunt deze gebruiken om parameters door te geven als tekenreeksweergaven.

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

F

factorial

factorial(<value1> : number) => long

Berekent de faculteit van een getal.

  • factorial(5) -> 120

false

false() => boolean

Retourneert altijd een onwaar-waarde. Gebruik de functie syntax(false()) als een kolom een naam falseheeft.

  • (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 uit een matrix die overeenkomt met de voorwaarde. Er wordt een filterfunctie gebruikt waar u het item in de matrix kunt adressen als #item. Voor diep geneste kaarten kunt u verwijzen naar de bovenliggende kaarten met behulp van de #item_n notatie (#item_1, #item_2...).

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

first

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

Hiermee haalt u de eerste waarde van een kolomgroep op. Als de tweede parameter ignoreNulls wordt weggelaten, wordt in Data Factory ervan uitgegaan dat deze onwaar is.

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

flatten

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

Een matrix of matrices plat maken in één matrix. Matrices van atomische items worden ongewijzigd geretourneerd. Het laatste argument is optioneel en wordt standaard ingesteld op onwaar om recursief meer dan één niveau diep te plat te maken.

  • 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, <encoding type> : string) => string

Decodeert de specifieke base64-gecodeerde tekenreeks. U kunt desgewenst het coderingstype doorgeven.

  • fromBase64('Z3VuY2h1cw==') -> 'gunchus'
  • fromBase64('SGVsbG8gV29ybGQ=', 'Windows-1252') -> 'Hello World'

fromUTC

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

Converteert naar het tijdstempel van UTC. U kunt desgewenst de tijdzone doorgeven in de vorm van GMT, PSTof UTCAmerica/Cayman. Deze wordt standaard ingesteld op de huidige tijdzone. Raadpleeg de klasse SimpleDateFormat van Java voor beschikbare indelingen.

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

G

greater

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

Maakt gebruik van de vergelijkingsoperator die groter is. Hetzelfde als > de 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

Gebruikt de vergelijking groter dan of gelijk aan de operator. Hetzelfde als >= de operator.

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

greatest

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

Retourneert de grootste waarde in de lijst met waarden als invoer, waarbij null-waarden worden overgeslagen. 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')

H

hasColumn

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

Hiermee wordt gecontroleerd op een kolomwaarde op naam in de stream. U kunt een optionele stroomnaam doorgeven als het tweede argument. Adreskolomnamen die tijdens het ontwerp bekend zijn door hun namen. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.

  • hasColumn('parent')

hasError

hasError([<value1> : string]) => boolean

Controleert of de asset met een opgegeven id is gemarkeerd als een fout.

Examples

  • hasError('assert1')
  • hasError('assert2')

hasPath

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

Controleert of een bepaald hiërarchisch pad bestaat op naam in de stream. U kunt een optionele stroomnaam doorgeven als het tweede argument. Kolomnamen/paden die bekend zijn tijdens het ontwerp, moeten alleen worden geadresseerd met behulp van hun naam of puntnotatiepad. Berekende invoer wordt niet ondersteund, maar u kunt parametervervangingen gebruiken.

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

hex

hex(<value1>: binary) => string

Geeft als resultaat een hex-tekenreeksweergave van een binaire waarde

  • hex(toBinary([toByte(0x1f), toByte(0xad), toByte(0xbe)])) -> '1fadbe'

hour

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

Hiermee haalt u de uurwaarde van een tijdstempel op. U kunt een optionele tijdzone doorgeven in de vorm van GMT, PSTof UTCAmerica/Cayman. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse SimpleDateFormat van Java voor beschikbare indelingen.

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

hours

hours(<value1> : integer) => long

Haalt de duur in milliseconden op voor een bepaald aantal uren.

  • hours(2) -> 7200000L

I

iif

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

De ene waarde of de andere waarde wordt toegepast op basis van een voorwaarde. Als de andere niet is opgegeven, wordt de waarde beschouwd NULL. Beide waarden moeten compatibel zijn (zoals numeriek en 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

Retourneert het eerste niet-null-item wanneer twee of meer invoeren worden gegeven. Deze functie is gelijk aan de coalesce functie.

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

in

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

Controleert of een item zich in de matrix bevindt.

  • 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 geïdentificeerd als gescheiden door witruimte.

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

instr

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

Hiermee zoekt u de positie (1 gebaseerd) van de subtekenreeks binnen een tekenreeks. Als deze niet wordt gevonden, wordt 0 geretourneerd.

  • 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 van twee matrices.

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

isBitSet

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

Controleert of 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 wanneer een optionele notatie wordt gegeven volgens de regels van toByte().

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

isDate

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

Controleert of de ingangsdatumstring een geldige datum is met een optionele invoer-datumnotatie. Raadpleeg de klasse 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

Controleert of de tekenreekswaarde een decimale waarde is wanneer een optionele notatie wordt gegeven volgens de regels van toDecimal().

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

isDelete

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

Controleert of de rij moet worden verwijderd. Voor transformaties die meer dan één invoerstroom nemen, kunt u de (op 1 gebaseerde) index van de stream doorgeven. De streamindex moet ofwel 1 of 2, en de standaardwaarde is 1.

  • isDelete()
  • isDelete(1)

isDistinct

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

Hiermee wordt gevonden 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

Controleert of de tekenreekswaarde een dubbele waarde is wanneer een optionele notatie wordt gegeven 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 is gemarkeerd als een fout. Voor transformaties die meer dan één invoerstroom nemen, kunt u de (op 1 gebaseerde) index van de stream doorgeven. De streamindex moet een van beide zijn 1 of 2 de standaardwaarde is 1.

  • isError()
  • isError(1)

isFloat

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

Controleert of de tekenreekswaarde een float-waarde is wanneer een optionele notatie wordt gegeven 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 moet worden genegeerd. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stream doorgeven. De streamindex moet ofwel 1 of 2, 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 stream doorgeven. De streamindex moet ofwel 1 of 2, en de standaardwaarde is 1.

  • isInsert()
  • isInsert(1)

isInteger

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

Controleert of de tekenreekswaarde een geheel getal is wanneer een optionele notatie wordt gegeven volgens de regels van toInteger().

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

isLong

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

Controleert of de tekenreekswaarde een lange waarde is wanneer een optionele notatie wordt gegeven volgens de regels van toLong().

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

isMatch

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

Controleert of de rij overeenkomt met de zoekactie. Voor transformaties die meer dan één invoerstroom gebruiken, kunt u de (op 1 gebaseerde) index van de stream doorgeven. De streamindex moet ofwel 1 of 2, en de standaardwaarde is 1.

  • isMatch()
  • isMatch(1)

isNan

isNan (<value1> : integral) => boolean

Controleert of de waarde geen getal is.

  • isNan(10.2) => false

isNull

isNull(<value1> : any) => boolean

Controleert of de waarde is NULL.

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

isShort

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

Controleert of de tekenreekswaarde een korte waarde is wanneer een optionele notatie wordt gegeven volgens de regels van toShort().

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

isTimestamp

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

Hiermee wordt gecontroleerd of de invoerdatumtekenreeks een tijdstempel is door gebruik te maken van een optioneel invoerformaat voor tijdstempels. Raadpleeg de klasse SimpleDateFormat van Java voor beschikbare indelingen. 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, PSTof UTCAmerica/Cayman. De timestamp functie ondersteunt een nauwkeurigheid van maximaal milliseconden met een waarde van 999. Raadpleeg de klasse 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 stream doorgeven. De streamindex moet ofwel 1 of 2, 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 stream doorgeven. De streamindex moet ofwel 1 of 2, en de standaardwaarde is 1.

  • isUpsert()
  • isUpsert(1)

J

jaroWinkler

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

Hiermee haalt u de Afstand van Jaro Listener tussen twee tekenreeksen op.

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

K

keyValues

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

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 een gelijke lengte hebben.

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

kurtosis

kurtosis(<value1> : number) => double

Haalt de kurtosis van een kolom op.

  • kurtosis(sales)

kurtosisIf

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

Haalt de kurtosis van een kolom op op basis van criteria.

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

L

lag

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

Hiermee haalt u de waarde op van de eerste parameter die rijen vóór de huidige rij heeft geëvalueerd n . 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

Hiermee haalt u de laatste waarde van een kolomgroep op. Als de tweede parameter ignoreNulls wordt weggelaten, wordt ervan uitgegaan dat deze onwaar is.

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

lastDayOfMonth

lastDayOfMonth(<value1> : datetime) => date

Hiermee haalt u de laatste datum van de maand op wanneer u een datum hebt opgegeven.

  • 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 wordt 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

Maakt gebruik van de vergelijking die kleiner is dan of gelijk is aan de operator. Hetzelfde als de <= 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 die begint bij de 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

Maakt gebruik van de vergelijkingsloze operator. Hetzelfde als de < 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

Maakt gebruik van de vergelijking die kleiner is dan of gelijk is aan de operator. Hetzelfde als de <= operator.

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

levenshtein

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

Hiermee haalt u de levenshtein-afstand tussen twee tekenreeksen op.

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

like

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

Maakt gebruik van een tekenreekspatroon dat letterlijk overeenkomt. De uitzonderingen zijn de volgende speciale symbolen: _ komt overeen met één 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 vergeleken. Het is ongeldig om een ander teken te ontsnappen.

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

locate

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

Hiermee zoekt u de positie (beginnend bij 1) van de subtekenreeks binnen een tekenreeks, beginnend vanaf een bepaalde positie. Als de positie wordt weggelaten, begint de tekenreeks vanaf het begin. Als deze niet wordt gevonden, wordt 0 geretourneerd.

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

log

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

Berekent de logboekwaarde. U kunt een optionele basis of een Euler-nummer opgeven indien 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[]

Hiermee zoekt u de eerste rij van de sink in de cache op met behulp van de opgegeven sleutels die overeenkomen met de sleutels uit de in de cache opgeslagen sink.

  • cacheSink#lookup(movieId)

lower

lower(<value1> : string) => string

Hiermee wordt een tekenreeks in kleine letters weergegeven.

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

lpad

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

Links de tekenreeks door de opgegeven opvulling totdat de tekenreeks een bepaalde lengte heeft. Als de tekenreeks gelijk is aan of groter is dan de lengte, wordt de tekenreeks afgekort tot de lengte.

  • lpad('dumbo', 10, '-') -> '-----dumbo'
  • lpad('dumbo', 4, '-') -> 'dumb'

ltrim

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

Links wordt een tekenreeks met voorlooptekens bijgesnoeid. Als de tweede parameter niet is opgegeven, wordt witruimte ingekort. Anders wordt elk opgegeven teken in de tweede parameter afgesneden.

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

M

map

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

Wijst elk element van de matrix toe aan een nieuw element met behulp van de opgegeven expressie. De map functie 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 aan nieuwe waarden te koppelen. Hiermee wordt een matrix geretourneerd. Er wordt een toewijzingsfunctie gebruikt waarbij u het item kunt adresseren als #key en de 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

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

  • 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

Wijst elk element van de matrix toe aan een nieuw element met behulp van de opgegeven expressie. De map functie 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

Herhaalt van 1 tot de lengte om een array van die lengte te maken. Er wordt een toewijzingsfunctie gebruikt waar 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

Hiermee haalt u de maximumwaarde van een kolom op.

  • max(sales)

maxIf

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

Hiermee haalt u de maximumwaarde van een kolom op op basis van criteria.

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

md5

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

Berekent de MD5-samenvatting van een set kolommen met verschillende primitieve gegevenstypen en retourneert een hextekenreeks van 32 tekens. U kunt deze gebruiken 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

Hiermee haalt u het gemiddelde van waarden van een kolom op. Hetzelfde als AVG.

  • mean(sales)

meanIf

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

Hiermee haalt u het gemiddelde van waarden van een kolom op op basis van criteria. Hetzelfde als avgIf.

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

millisecond

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

Hiermee wordt de waarde van een datum in milliseconden opgehaald. U kunt een optionele tijdzone doorgeven in de vorm van GMT, PSTof UTCAmerica/Cayman. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse SimpleDateFormat van Java voor beschikbare indelingen.

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

milliseconds

milliseconds(<value1> : integer) => long

Hiermee wordt de duur in milliseconden berekend op basis van het aantal milliseconden.

  • milliseconds(2) -> 2L

min

min(<value1> : any) => any

Hiermee haalt u de minimumwaarde van een kolom op.

  • min(sales)

minIf

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

Hiermee haalt u de minimumwaarde van een kolom op op basis van criteria.

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

minus

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

Trekt getallen af. Hiermee wordt het aantal dagen afgetrokken van een datum. Trekt de duur af van een tijdstempel. Trekt twee tijdstempels af om het verschil in milliseconden op te halen. 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

Hiermee wordt de minuutwaarde van een tijdstempel opgehaald. U kunt een optionele tijdzone doorgeven in de vorm van GMT, PSTof UTCAmerica/Cayman. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse SimpleDateFormat van Java voor beschikbare indelingen.

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

minutes

minutes(<value1> : integer) => long

Hiermee wordt de duur in milliseconden bepaald voor het aantal minuten.

  • minutes(2) -> 120000L

mlookup

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

Hiermee worden alle overeenkomende rijen opgezocht uit de gecachete sink, door de opgegeven sleutels te gebruiken die overeenkomen met de sleutels van de gecachete sink.

  • cacheSink#mlookup(movieId)

mod

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

Haalt de modulus van een paar getallen op. 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

Hiermee haalt u het aantal maanden tussen twee datums op. U kunt de berekening afronden. U kunt een optionele tijdzone doorgeven in de vorm van GMT, PSTof UTCAmerica/Cayman. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse SimpleDateFormat van Java voor beschikbare indelingen.

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

multiply

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

Vermenigvuldigt een paar getallen. Hetzelfde als de * operator.

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

N

negate

negate(<value1> : number) => number

Onderhandelt een getal. Hiermee worden positieve getallen omgezet in negatief en omgekeerd.

  • negate(13) -> -13

nextSequence

nextSequence() => long

Retourneert de volgende unieke reeks. Het nummer is alleen opeenvolgend binnen een partitie en wordt voorafgegaan door de partitie-ID.

  • nextSequence() == 12313112 -> false

normalize

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

Normaliseert de tekenreekswaarde om geaccenteerde Unicode-tekens te scheiden.

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

not

not(<value1> : boolean) => boolean

Maakt gebruik van de logische negatieoperator.

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

notEquals

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

Maakt gebruik van de vergelijkingsoperator die niet gelijk is aan. Hetzelfde als de != operator.

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

nTile

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

De nTile functie verdeelt de rijen voor elke window-partitie in n buckets, variërend van 1 tot maximaal n. Bucketwaarden verschillen maximaal 1. Als het aantal rijen in de partitie niet gelijkmatig wordt verdeeld in het aantal buckets, worden de restwaarden één per bucket verdeeld, te beginnen met de eerste bucket. De nTile functie is handig voor de berekening van tertileskwartielen, deciles en andere algemene samenvattingsstatistieken. De functie berekent twee variabelen tijdens de initialisatie. De grootte van een gewone bucket heeft éé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 bucketdrempel bereikt, wordt de bucketwaarde met één verhoogd. De drempelwaarde neemt toe met de bucketgrootte (plus één extra als de huidige bucket is opgevuld).

  • nTile()
  • nTile(numOfBuckets)

null

null() => null

Retourneert een NULL waarde. Gebruik de functie syntax(null()) als een kolom een naam nullheeft. Elke bewerking die gebruikmaakt van null resulteert in een NULL waarde.

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

O

or

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

Maakt gebruik van de logische OR operator. Hetzelfde als ||.

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

originColumns

originColumns(<streamName> : string) => any

Hiermee haalt u alle uitvoerkolommen op voor een oorsprongsstroom waarin kolommen zijn gemaakt. Moet worden ingesloten in een andere functie.

  • 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 set van uitvoerrijen uit de resultaten van de cache sink.

  • cacheSink#outputs()

P

partitionId

partitionId() => integer

Retourneert de huidige partitie-id waarin de invoerrij zich bevindt.

  • partitionId()

pMod

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

Geeft de positieve modulus van een paar getallen.

  • pmod(-20, 8) -> 4

power

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

Verhoogt één getal tot de macht van een ander.

  • power(10, 2) -> 100

R

radians

radians(<value1> : number) => double

Converteert graden naar radialen.

  • radians(180) => 3.141592653589793

random

random(<value1> : integral) => double

Retourneert een willekeurig getal wanneer een seed binnen een partitie wordt gegeven. De seed moet een vaste waarde zijn en wordt gebruikt met de partitie-id om willekeurige waarden in een bereik (0.0-1.0) te produceren.

  • random(1) == 1 -> false

rank

rank() => integer

Berekent de rangschikking van een waarde in een groep waarden die zijn opgegeven in de volgorde van een venster per 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 produceren hiaten in de reeks. De rank functie werkt zelfs wanneer gegevens niet worden gesorteerd en zoekt naar wijzigingen in waarden.

  • rank()

reassociate

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

Transformeert een kaart door de sleutels aan nieuwe waarden te koppelen. Er wordt een toewijzingsfunctie gebruikt waarbij u het item kunt adresseren als #key en de 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. De reduce functie verwacht een verwijzing naar een accumulator en één element in de eerste expressiefunctie als #acc en #item. Er wordt verwacht dat de resulterende waarde #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

Extraheert een overeenkomende subtekenreeks voor een bepaald regex-patroon. De laatste parameter identificeert de overeenkomstgroep en wordt standaard op 1 ingesteld als deze wordt weggelaten. Gebruik <regex> om een string te matchen zonder te escapen. Index 0 levert alle overeenkomsten op. Zonder overeenkomende groepen retourneert index 1 en hoger geen resultaat.

  • 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 <regex> om een string te matchen zonder te escapen.

  • 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

Vervangt alle exemplaren van een regex-patroon door een andere subtekenreeks in de specifieke tekenreeks. Gebruik <regex> om een string te matchen zonder te escapen.

  • 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

Vervangt alle exemplaren van een subtekenreeks door een andere subtekenreeks in de specifieke 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

Retourneert een tekenreeks.

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

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

Extraheert een substring met een aantal tekens van rechts. 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 wanneer een optionele schaal en een optionele afrondingsmodus worden gegeven. 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 onder andere:

  1. ROUND_UP: Afrondingsmodus om van nul af te ronden.

  2. ROUND_DOWN: Afrondingsmodus om naar nul af te ronden.

  3. ROUND_CEILING: Afrondingsmodus om af te ronden naar positieve oneindigheid. (Hetzelfde als ROUND_UP als invoer positief is. Als het negatief is, gedraagt het zich als ROUND_DOWN. Bijvoorbeeld: -1.1 is -1,0 met ROUND_CEILING en -2 met ROUND_UP.)

  4. ROUND_FLOOR: Afrondingsmodus om af te ronden naar negatieve oneindigheid. (Hetzelfde als ROUND_DOWN als invoer positief is. Als dit negatief is, gedraagt het zich als ROUND_UP.)

  5. ROUND_HALF_UP: Afrondingsmodus om af te ronden naar "dichtstbijzijnde buur", tenzij beide buren even ver weg zijn, in welk geval het zich gedraagt als ROUND_UP. (Meest voorkomende + standaardwaarde voor gegevensstroom.)

  6. ROUND_HALF_DOWN: Afrondingsmodus om af te ronden naar 'dichtstbijzijnde buur' tenzij beide buren even ver weg zijn, in welk geval ROUND_DOWN.

  7. ROUND_HALF_EVEN: Afrondingsmodus om af te ronden naar het "dichtstbijzijnde getal", tenzij beide getallen even ver liggen, in dat geval rond af naar het even getal.

  8. ROUND_UNNECESSARY: Afrondingsmodus om aan te geven dat de rondebewerking een exact resultaat heeft, dus er is geen afronding nodig.

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

rowNumber

rowNumber() => integer

Hiermee wordt een sequentiële rijnummering toegewezen 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 rechtermuisknop wordt de tekenreeks door de opgegeven opvulling gebruikt totdat de tekenreeks een bepaalde lengte heeft. Als de tekenreeks gelijk is aan of groter is dan de lengte, wordt de tekenreeks afgekort tot de lengte.

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

rtrim

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

Rechts wordt een tekenreeks met volgtekens bijsnijden. Als de tweede parameter niet is opgegeven, wordt witruimte ingekort. Anders wordt elk opgegeven teken in de tweede parameter afgesneden.

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

S

second

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

Hiermee haalt u de tweede waarde van een datum op. U kunt een optionele tijdzone doorgeven in de vorm van GMT, PSTof UTCAmerica/Cayman. De lokale tijdzone wordt gebruikt als de standaardinstelling. Raadpleeg de klasse SimpleDateFormat van Java voor beschikbare indelingen.

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

seconds

seconds(<value1> : integer) => long

Geeft de 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 hextekenreeks van 40 tekens. U kunt deze gebruiken 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 kolommen met primitieve gegevenstypen met verschillende waardes, met een bepaalde bitlengte, die alleen de waarden 0(256), 224, 256, 384 en 512 kunnen hebben. U kunt deze gebruiken 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 sinuswaarde hyperbolicus.

  • sinh(0) -> 0.0

size

size(<value1> : any) => integer

Hiermee wordt de grootte van een matrix of kaarttype gevonden.

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

skewness

skewness(<value1> : number) => double

Hiermee haalt u de scheefheid van een kolom op.

  • skewness(sales)

skewnessIf

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

Haalt de scheefheid van een kolom op, op basis van de criteria.

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

slice

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

Hiermee wordt een subset van een matrix uit een positie geëxtraheerd. De positie is gebaseerd op 1. Als de lengte wordt weggelaten, is de standaardwaarde het einde van de string.

  • 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

Hiermee sorteert u de matrix met behulp van de opgegeven predicaatfunctie. De sort functie 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

Hiermee haalt u de standaarddeviatie van een kolom op.

  • stdDev(sales)

stddevIf

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

Hiermee haalt u de standaarddeviatie van een kolom op op basis van criteria.

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

stddevPopulation

stddevPopulation(<value1> : number) => double

Hiermee haalt u de standaarddeviatie van de populatie van een kolom op.

  • stddevPopulation(sales)

stddevPopulationIf

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

Hiermee haalt u de standaarddeviatie van de populatie van een kolom op op basis van criteria.

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

stddevSample

stddevSample(<value1> : number) => double

Hiermee haalt u de standaarddeviatie van de steekproef van een kolom op.

  • stddevSample(sales)

stddevSampleIf

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

Hiermee haalt u de standaarddeviatie van de steekproef van een kolom op op basis van criteria.

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

subDays

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

Trekt dagen af 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

Trekt maanden af 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. Wanneer de lengte wordt weggelaten, wordt standaard het einde van de tekenreeks gebruikt.

  • 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) -> ''

substringIndex

substringIndex( <tekenreeks naar subset><scheidingsteken>substringIndex( : tekenreeks, : tekenreeks, <aantal keer dat het scheidingsteken voorkomt> : integer]) = tekenreeks>

Extraheert de subtekenreeks voordat het aantal exemplaren van het scheidingsteken wordt geteld. Als het aantal positief is, wordt alles links van het laatste scheidingsteken geretourneerd (geteld vanaf links). Als het aantal negatief is, wordt alles rechts van het eindscheidingsteken (tellend van rechts) geretourneerd.

  • substringIndex('111-222-333', '-', 1) -> '111'
  • substringIndex('111-222-333', '-', 2) -> '111-222'
  • substringIndex('111-222-333', '-', -1) -> '333'
  • substringIndex('111-222-333', '-', -2) -> '222-333'

sum

sum(<value1> : number) => number

Hiermee haalt u de geaggregeerde som van een numerieke kolom op.

  • sum(col)

sumDistinct

sumDistinct(<value1> : number) => number

Hiermee haalt u de geaggregeerde som van afzonderlijke waarden van een numerieke kolom op.

  • sumDistinct(col)

sumDistinctIf

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

Hiermee haalt u de geaggregeerde som van een numerieke kolom op op basis van criteria. De voorwaarde kan worden gebaseerd op elke kolom.

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

sumIf

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

Hiermee haalt u de geaggregeerde som van een numerieke kolom op op basis van criteria. De voorwaarde kan worden gebaseerd op elke kolom.

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

T

tan

tan(<value1> : number) => double

Berekent een tangenswaarde.

  • tan(0) -> 0.0

tanh

tanh(<value1> : number) => double

Berekent een tangenswaarde hyperbolicus.

  • tanh(0) -> 0.0

toBase64

toBase64(<value1> : string, <encoding type> : string]) => string

Codeert de specifieke tekenreeks in base64. U kunt desgewenst het coderingstype doorgeven.

  • toBase64('bojjus') -> 'Ym9qanVz'
  • toBase64('± 25000, € 5.000,- |', 'Windows-1252') -> 'sSAyNTAwMCwggCA1LjAwMCwtIHw='

toBinary

toBinary(<value1> : any) => binary

Converteert een numerieke waarde, datum, tijdstempel of tekenreeks naar binaire weergave.

  • toBinary(3) -> [0x11]

toBoolean

toBoolean(<value1> : string) => boolean

Converteert een waarde van (t, true, y, yes, 1) naar waar en (f, false, n, no, 0) naar false en NULL voor elke 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. U kunt een optionele Java-decimale notatie gebruiken voor de conversie.

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

toDate

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

Converteert een invoerdatumtekenreeks naar datum met behulp van een optionele invoerdatumnotatie. Raadpleeg de klasse 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* ].

  • 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). U kunt een optionele Java-decimale notatie gebruiken voor de conversie. Gebruik een optioneel landinstellingsformaat in de vorm van een BCP47-taal, zoals de talen en-US, de of 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. U kunt een optionele Java-decimale notatie gebruiken voor de conversie. Gebruik een optioneel landinstellingsformaat in de vorm van een BCP47-taal, zoals de talen en-US, de of 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. U kunt een optionele Java-decimale notatie gebruiken voor de conversie. Kapt elk dubbel getal af.

  • 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. U kunt een optionele Java-decimale notatie gebruiken voor de conversie. Kapt alle lange, zwevende, dubbele.

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

toLong

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

Converteert een numerieke waarde of tekenreeks naar een lange waarde. U kunt een optionele Java-decimale notatie gebruiken voor de conversie. Kapt elke float af, dubbel.

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

topN

topN(<column/expression> : any, <count> : long, <n> : integer) => array

Hiermee haalt u de hoogste N waarden voor deze kolom op op basis van het argument Aantal.

  • topN(custId, count, 5)
  • topN(productId, num_sales, 10)

toShort

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

Converteert een numerieke waarde of tekenreeks naar een korte waarde. U kunt een optionele Java-decimale notatie gebruiken voor de conversie. Kapt een geheel getal af, lang, zwevend, dubbel.

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

toString

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

Converteert een primitief gegevenstype naar een tekenreeks. U kunt een formaat opgeven voor getallen en data. Als dit niet is opgegeven, wordt de standaardwaarde van het systeem gekozen. De decimale java-notatie wordt gebruikt voor getallen. Raadpleeg de klasse SimpleDateFormat van Java voor beschikbare indelingen. De standaardindeling is yyyy-MM-dd. Voor een datum- of tijdstempel kunt u desgewenst een landinstelling opgeven.

  • 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'
  • toString(toDate('12/31/18', 'MM/dd/yy', 'es-ES'), 'MM/dd/yy', 'de-DE')

toTimestamp

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

Converteert een tekenreeks naar een tijdstempel wanneer een optionele tijdstempelnotatie is opgegeven. 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, PSTof UTCAmerica/Cayman. De timestamp functie ondersteunt een nauwkeurigheid van maximaal milliseconden met een waarde van 999. Raadpleeg de klasse SimpleDateFormat van Java voor beschikbare indelingen.

  • 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 het tijdstempel naar UTC. U kunt een optionele tijdzone doorgeven in de vorm van GMT, PSTof UTCAmerica/Cayman. Deze wordt standaard ingesteld op de huidige tijdzone. Raadpleeg de klasse SimpleDateFormat van Java voor beschikbare indelingen.

  • 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 de ene set tekens door een andere set tekens in de tekenreeks. Tekens hebben een één-op-één-vervanging.

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

trim

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

Hiermee wordt een tekenreeks met voorloop- en volgtekens bijsnijden. Als de tweede parameter niet is opgegeven, wordt witruimte ingekort. Anders wordt elk opgegeven teken in de tweede parameter afgesneden.

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

true

true() => boolean

Retourneert altijd een werkelijke waarde. Gebruik de functie syntax(true()) als een kolom een naam trueheeft.

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

typeMatch

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

Komt overeen met het type kolom. U kunt deze alleen gebruiken in patroonexpressies. De number functie komt overeen met korte, gehele getallen, lang, dubbel, zwevend of decimaal. De integral functie komt overeen met short, integer, long. De fractional functie komt overeen met dubbele, zwevende komma, decimaal. De datetime functie komt overeen met het datum- of tijdstempeltype.

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

U

unescape

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

Maakt de escapetekens van een string ongedaan volgens een formaat. Letterlijke waarden voor acceptabele notaties zijn json, xml, ecmascript, html, en java.

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

unfold

unfold (<value1>: array) => any

Vouwt 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

Onthexen van een binaire waarde uit zijn stringrepresentatie. U kunt het gebruiken met sha2, md5 om te converteren van tekenreeks naar binaire weergave.

  • 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 samenvoegset met afzonderlijke items van twee 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()

V

variance

variance(<value1> : number) => double

Hiermee haalt u de variantie van een kolom op.

  • variance(sales)

varianceIf

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

Hiermee haalt u de variantie van een kolom op op basis van criteria.

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

variancePopulation

variancePopulation(<value1> : number) => double

Hiermee haalt u de variantie van de populatie van een kolom op.

  • variancePopulation(sales)

variancePopulationIf

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

Hiermee haalt u de variantie van de populatie van een kolom op op basis van criteria.

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

varianceSample

varianceSample(<value1> : number) => double

Hiermee haalt u de niet-bevooruitte variantie van een kolom op.

  • varianceSample(sales)

varianceSampleIf

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

Hiermee haalt u de niet-bevoordeelde variantie van een kolom op op basis van criteria.

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

W

weekOfYear

weekOfYear(<value1> : datetime) => integer

Hiermee haalt u de week van het jaar op wanneer een datum is opgegeven.

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

weeks

weeks(<value1> : integer) => long

Haalt de duur in milliseconden op voor het aantal weken.

  • weeks(2) -> 1209600000L

X

xor

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

Maakt gebruik van de logische XOR operator. Hetzelfde als de ^ operator.

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

Y

year

year(<value1> : datetime) => integer

Hiermee wordt de jaarwaarde van een datum opgehaald.

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