Freigeben über


Verwendung von Datentransformationsausdrücken in Zuordnungsdatenflüssen

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tip

Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. In Microsoft Fabric können Sie alle erforderlichen Aufgaben ausführen, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

Datenflüsse sind sowohl in Azure Data Factory-Pipelines als auch in Azure Synapse Analytics-Pipelines verfügbar. Dieser Artikel gilt für Zuordnungsdatenflüsse. Wenn Sie mit Transformationen noch nicht fertig sind, lesen Sie den einführungsartikel Transformieren von Daten mithilfe von Zuordnungsdatenflüssen.

Dieser Artikel enthält Details zur Verwendung aller Ausdrücke und Funktionen, die von Azure Data Factory und Azure Synapse Analytics beim Zuordnen von Datenflüssen unterstützt werden. Eine Zusammenfassung der unterstützten Funktionstypen finden Sie in den folgenden Artikeln:

Alphabetische Liste aller Funktionen

Die folgende alphabetische Liste enthält alle Funktionen, die in Zuordnungsdatenflüssen verfügbar sind.

A

abs

abs(<value1> : number) => number

Gibt den absoluten Wert einer Zahl zurück.

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

acos

acos(<value1> : number) => double

Berechnet einen invertierten Kosinuswert.

  • acos(1) -> 0.0

add

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

Addiert ein Paar Zeichenfolgen oder Zahlen. Fügt vielen Tagen ein Datum hinzu. Fügt einem Zeitstempel eine Dauer hinzu. Fügt ein Array eines ähnlichen Typs an ein anderes an. Entspricht dem 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

Fügt einem Datums- oder Zeitstempel Tage hinzu. Identisch mit dem + Operator für Datumsangaben.

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

addMonths

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

Fügt einem Datums- oder Zeitstempel Monate hinzu. Sie können optional eine Zeitzone übergeben.

  • 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

Verwendet den logischen AND Operator. Identisch mit &&.

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

approxDistinctCount

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

Ruft die ungefähre aggregierte Anzahl unterschiedlicher Werte für eine Spalte ab. Der optionale zweite Parameter dient zur Kontrolle des Schätzfehlers.

  • approxDistinctCount(ProductID, .05) => long

array

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

Erstellt ein Array von Elementen. Alle Elemente sollten denselben Typ haben. Wenn keine Elemente angegeben werden, ist ein leeres Zeichenfolgenarray der Standardwert. Entspricht dem Erstellungsoperator [].

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

ascii

ascii(<Input> : string) => number

Gibt den numerischen Wert des Eingabezeichens zurück. Wenn die Eingabezeichenfolge mehrere Zeichen enthält, wird der numerische Wert des ersten Zeichens zurückgegeben.

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

asin

asin(<value1> : number) => double

Berechnet einen invertierten Sinuswert.

  • asin(0) -> 0.0

assertErrorMessages

assertErrorMessages() => map

Gibt eine Zuordnung aller Fehlermeldungen für die Zeile mit der Assert-ID als Schlüssel zurück.

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

Erstellt eine Zuordnung von Schlüsseln/Werten. Alle Schlüssel und Werte sollten denselben Typ aufweisen. Wenn keine Elemente angegeben werden, wird standardmäßig eine Zeichenfolge einem Zeichenfolgentyp zugeordnet. Entspricht dem Erstellungsoperator [ -> ]. Schlüssel und Werte müssen sich abwechseln.

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

at

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

Sucht das Element an einem Arrayindex. Der Index basiert auf 1. Ein ungebundener Index führt zu einem NULL-Wert. Sucht einen Wert in einer Karte, wenn ein Schlüssel angegeben wird. Wenn der Schlüssel nicht gefunden wird, wird ein Nullwert zurückgegeben.

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

atan

atan(<value1> : number) => double

Berechnet einen invertierten Tangenswert.

  • atan(0) -> 0.0

atan2

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

Gibt den Winkel im Bogenmaß zwischen der positiven X-Achse einer Ebene und dem durch die Koordinaten angegebenen Punkt zurück.

  • atan2(0, 0) -> 0.0

avg

avg(<value1> : number) => number

Ruft den Durchschnitt der Werte einer Spalte ab.

  • avg(sales)

avgIf

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

Ruft den Mittelwert der Werte einer Spalte basierend auf Kriterien ab.

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

B

between

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

Überprüft, ob der erste Wert zwischen zwei anderen Werten liegt. Sie können numerische, Zeichenfolgen und datetime Werte vergleichen.

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

bitwiseAnd

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

Verwendet den bitweisen And Operator über integrale Typen hinweg. Entspricht dem Operator &.

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

bitwiseOr

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

Verwendet den bitweisen Or Operator über integrale Typen hinweg. Entspricht dem Operator |.

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

bitwiseXor

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

Verwendet den bitweisen Or Operator über integrale Typen hinweg. Identisch mit dem | Operator

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

blake2b

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

Berechnet den Blake2-Digest einer Reihe von Spalten unterschiedlicher primitiver Datentypen bei einer Bitlänge, die nur Vielfache von 8 zwischen 8 und 512 sein kann. Sie können ihn verwenden, um einen Fingerabdruck für eine Zeile zu berechnen.

  • blake2b(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))
  • 'c9521a5080d8da30dffb430c50ce253c345cc4c4effc315dab2162dac974711d'

blake2bBinary

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

Berechnet den Blake2-Hash einer Gruppe von Spalten verschiedener primitiver Datentypen mit einer angegebenen Bitlänge, die nur ein Vielfaches von 8 zwischen 8 und 512 sein kann. Sie können ihn verwenden, um einen Fingerabdruck für eine Zeile zu berechnen.

  • blake2bBinary(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))
  • unHex('c9521a5080d8da30dffb430c50ce253c345cc4c4effc315dab2162dac974711d')

byItem

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

Sucht ein Unterelement innerhalb einer Struktur oder eines Arrays von Strukturen. Wenn mehrere Übereinstimmungen vorhanden sind, wird die erste Übereinstimmung zurückgegeben. Wenn keine Übereinstimmungen vorhanden sind, wird ein NULL Wert zurückgegeben. Für den zurückgegebenen Wert muss eine Typkonvertierung anhand einer der Typkonvertierungsaktionen (wie ? date und ? string) erfolgen. Adressspaltennamen, die zur Entwurfszeit namentlich bekannt sind. Berechnete Eingaben werden nicht unterstützt, Aber Sie können Parameterersetzungen verwenden.

  • 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

Wählt einen Spaltenwert nach Name im Stream aus. Sie können einen optionalen Streamnamen als zweites Argument übergeben. Wenn mehrere Übereinstimmungen vorhanden sind, wird die erste Übereinstimmung zurückgegeben. Wenn keine Übereinstimmungen vorhanden sind, wird ein NULL Wert zurückgegeben. Der zurückgegebene Wert muss von einer der Typkonvertierungsfunktionen (wie TO_DATE und TO_STRING) konvertiert werden. Adressspaltennamen, die zur Entwurfszeit namentlich bekannt sind. Berechnete Eingaben werden nicht unterstützt, Aber Sie können Parameterersetzungen verwenden.

  • 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

Wählen Sie ein Array von Spalten nach Name im Stream aus. Sie können einen optionalen Streamnamen als zweites Argument übergeben. Wenn mehrere Übereinstimmungen vorhanden sind, wird die erste Übereinstimmung zurückgegeben. Wenn keine Übereinstimmungen für eine Spalte vorhanden sind, ist die gesamte Ausgabe ein NULL Wert. Der zurückgegebene Wert erfordert eine Typkonvertierungsfunktion, wie beispielsweise toDate und toString. Adressspaltennamen, die zur Entwurfszeit namentlich bekannt sind. Berechnete Eingaben werden nicht unterstützt, Aber Sie können Parameterersetzungen verwenden.

  • 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

Wählt einen Spaltenwert nach Name im Ursprungsstream aus. Das zweite Argument ist der Name des Ursprungsstreams. Wenn mehrere Übereinstimmungen vorhanden sind, wird die erste Übereinstimmung zurückgegeben. Wenn keine Übereinstimmungen vorhanden sind, wird ein NULL Wert zurückgegeben. Der zurückgegebene Wert muss von einer der Typkonvertierungsfunktionen (wie TO_DATE und TO_STRING) konvertiert werden. Adressspaltennamen, die zur Entwurfszeit namentlich bekannt sind. Berechnete Eingaben werden nicht unterstützt, Aber Sie können Parameterersetzungen verwenden.

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

byOrigins

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

Wählt ein Array von Spalten nach Name im Stream aus. Das zweite Argument ist der Datenstrom, von dem er stammt. Wenn mehrere Übereinstimmungen vorhanden sind, wird die erste Übereinstimmung zurückgegeben. Wenn keine Übereinstimmungen vorhanden sind, wird ein NULL Wert zurückgegeben. Der zurückgegebene Wert muss von einer der Typkonvertierungsfunktionen (wie TO_DATE und TO_STRING) konvertiert werden. Adressspaltennamen, die zur Entwurfszeit namentlich bekannt sind. Berechnete Eingaben werden nicht unterstützt, Aber Sie können Parameterersetzungen verwenden.

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

byPath

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

Sucht einen hierarchischen Pfad anhand des Namens im Stream. Sie können einen optionalen Streamnamen als zweites Argument übergeben. Wenn kein solcher Pfad gefunden wird, wird er zurückgegeben NULL. Spaltennamen/-pfade, die zur Entwurfszeit bekannt sind, sollten nur mit ihrem Namen oder Punktnotationspfad adressiert werden. Berechnete Eingaben werden nicht unterstützt, Aber Sie können Parameterersetzungen verwenden.

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

byPosition

byPosition(<position> : integer) => any

Wählt einen Spaltenwert anhand seiner relativen Position (1-basiert) im Stream aus. Wenn die Position außerhalb der Grenzen liegt, wird ein NULL Wert zurückgegeben. Der zurückgegebene Wert muss mithilfe einer der Typkonvertierungsfunktionen konvertiert werden, wie etwa TO_DATE oder TO_STRING. Berechnete Eingaben werden nicht unterstützt, Aber Sie können Parameterersetzungen verwenden.

  • 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

Basierend auf wechselnden Bedingungen wendet die case Funktion einen Wert oder den anderen an. Wenn die Anzahl von Eingaben gerade ist, ist der andere Wert für die letzte Bedingung standardmäßig NULL.

  • 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

Berechnet die Kubikwurzel einer Zahl.

  • cbrt(8) -> 2.0

ceil

ceil(<value1> : number) => number

Gibt den kleinsten Integerwert zurück, der nicht kleiner als die Zahl ist.

  • ceil(-0.1) -> 0

char

char(<Input> : number) => string

Gibt das ASCII-Zeichen zurück, das durch die Eingabenummer dargestellt wird. Wenn die Zahl größer als 256 ist, entspricht das Ergebnis „char (number % 256)“.

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

coalesce

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

Gibt den ersten Wert ungleich NULL aus einem Satz von Eingaben zurück. Alle Eingaben müssen den gleichen Typ haben.

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

collect

collect(<value1> : any) => array

Sammelt alle Werte des Ausdrucks in der aggregierten Gruppe in einem Array. Sie können Strukturen während dieses Prozesses in alternative Strukturen sammeln und transformieren. Die Anzahl der Elemente entspricht der Anzahl der Zeilen in dieser Gruppe und kann NULL-Werte enthalten. Die Anzahl der gesammelten Elemente sollte klein sein.

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

collectUnique

collectUnique(<value1> : any) => array

Sammelt alle Werte des Ausdrucks in der aggregierten Gruppe in einem eindeutigen Array. Sie können Strukturen während dieses Prozesses in alternative Strukturen sammeln und transformieren. Die Anzahl der Elemente entspricht der Anzahl der Zeilen in dieser Gruppe und kann NULL-Werte enthalten. Die Anzahl der gesammelten Elemente sollte klein sein.

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

columnNames

columnNames( <value1>columnNames( : string, i><value1> : boolean) => array

Ruft die Namen aller Ausgabespalten für einen Stream ab. Sie können einen optionalen Streamnamen als erstes Argument übergeben. Das zweite Argument ist ebenfalls optional, mit „false“ als Standardwert. Wenn Sie das zweite Argument auf true() festlegen, gibt Data Factory nur Spalten zurück, die durch Schemadrift gedriftet sind.

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

columns

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

Ruft die Werte aller Ausgabespalten für einen Stream ab. Sie können einen optionalen Streamnamen als zweites Argument übergeben.

  • columns()
  • columns('DeriveStream')

compare

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

Vergleicht zwei Werte des gleichen Typs. Gibt eine negative ganze Zahl zurück, wenn Wert1 < Wert2, 0 wenn Wert1 == Wert2 und ein positiver Wert, wenn Wert1 > Wert2.

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

concat

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

Verkettet eine variable Anzahl von Zeichenfolgen miteinander. Identisch mit dem + Operator mit Zeichenfolgen.

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

concatWS

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

Verkettet eine variable Anzahl von Zeichenfolgen unter Verwendung eines Trennzeichens miteinander. Der erste Parameter ist das Trennzeichen.

  • 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

Gibt zurück true , wenn ein Element im bereitgestellten Array wie true im bereitgestellten Prädikat ausgewertet wird. Th-Funktion contains erwartet einen Verweis auf ein Element in der Prädikatfunktion als #item.

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

cos

cos(<value1> : number) => double

Berechnet einen Kosinuswert.

  • cos(10) -> -0.8390715290764524

cosh

cosh(<value1> : number) => double

Berechnet einen hyperbolischen Kosinuswert.

  • cosh(0) -> 1.0

count

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

Ruft die aggregierte Anzahl von Werten ab. Wenn mindestens eine optionale Spalte angegeben wird, ignoriert er NULL-Werte bei der Zählung.

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

countAll

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

Ruft die Aggregatanzahl von Werten einschließlich NULL-Werten ab.

  • countAll(custId)
  • countAll()

countDistinct

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

Ruft die aggregierte Anzahl unterschiedlicher Werte für eine Gruppe von Spalten ab.

  • countDistinct(custId, custName)

countAllDistinct

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

Ruft die Gesamtanzahl von unterschiedlichen Werten einer Spaltenmenge einschließlich NULL-Werten ab.

  • countAllDistinct(custId, custName)

countIf

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

Ruft die Gesamtanzahl von Werten basierend auf Kriterien ab. Wenn die optionale Spalte angegeben ist, werden NULL-Werte bei der Zählung ignoriert.

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

covariancePopulation

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

Ruft die Kovarianz der Population zweier Spalten ab.

  • covariancePopulation(sales, profit)

covariancePopulationIf

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

Ermittelt die Populationskovarianz von zwei Spalten basierend auf Kriterien.

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

covarianceSample

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

Ruft die Kovarianz einer Stichprobe zweier Spalten ab.

  • covarianceSample(sales, profit)

covarianceSampleIf

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

Ermittelt die Stichprobenkovarianz von zwei Spalten auf Grundlage von Kriterien.

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

crc32

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

Berechnet den CRC32-Hash einer Reihe von Spalten mit unterschiedlichen primitiven Datentypen, wenn eine Bitlänge angegeben wird, die nur Werte 0(256, 224, 256, 384 und 512 annehmen kann. Sie können ihn verwenden, um einen Fingerabdruck für eine Zeile zu berechnen.

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

cumeDist

cumeDist() => integer

Die cumeDist Funktion berechnet die Position eines Werts relativ zu allen Werten in der Partition. Das Ergebnis ist die Anzahl der Zeilen vor der aktuellen Zeile oder gleich dieser in der Reihenfolge der Partition, dividiert durch die Gesamtanzahl von Zeilen in der Fensterpartition. Alle gleichwertigen Werte in der Reihenfolge werden zur derselben Position ausgewertet.

  • cumeDist()

currentDate

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

Ruft das aktuelle Datum ab, wenn dieser Auftrag ausgeführt wird. Sie können eine optionale Zeitzone in Form von GMT, PST, UTC oder America/Cayman übergeben. Die lokale Zeitzone des Rechenzentrums/der Region der Datenfabrik wird als Standard verwendet. Informationen zu den verfügbaren Formaten finden Sie in der SimpleDateFormat-Klasse von Java.

  • 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

Ruft den aktuellen Zeitstempel mit der lokalen Zeitzone ab, wenn der Auftrag ausgeführt wird.

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

currentUTC

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

Ruft den aktuellen Zeitstempel als UTC ab. Wenn die aktuelle Uhrzeit in einer anderen Zeitzone als der Zeitzone Ihres Clusters interpretiert werden soll, können Sie eine optionale Zeitzone in der Form GMT, PST, UTC oder America/Cayman übergeben. Standardmäßig wird die aktuelle Zeitzone verwendet. Informationen zu den verfügbaren Formaten finden Sie in der SimpleDateFormat-Klasse von Java. Um die UTC-Zeit in eine andere Zeitzone zu konvertieren, verwenden Sie 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

Gibt den Tag des Monats für ein angegebenes Datum zurück.

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

dayOfWeek

dayOfWeek(<value1> : datetime) => integer

Gibt den Wochentag eines angegebenen Datums zurück. Beispielsweise 1 ist Sonntag, 2 ist Montag, ... und 7 ist Samstag.

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

dayOfYear

dayOfYear(<value1> : datetime) => integer

Gibt den Tag des Jahres zurück, wenn ein Datum angegeben ist.

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

days

days(<value1> : integer) => long

Dauer in Millisekunden für die Anzahl der Tage.

  • days(2) -> 172800000L

decode

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

Decodiert die codierten Eingabedaten basierend auf dem angegebenen Zeichensatz in eine Zeichenfolge. Sie können ein zweites (optionales) Argument verwenden, um anzugeben, welches Zeichensatz verwendet werden soll. Beispiele sind US-ASCII: , ISO-8859-1, UTF-8 (Standard), UTF-16BE, UTF-16LEund UTF-16.

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

degrees

degrees(<value1> : number) => double

Konvertiert Bogenmaße zu Graden.

  • degrees(3.141592653589793) -> 180

denseRank

denseRank() => integer

Berechnet den Rang eines Werts in einer Gruppe von Werten, die in der Reihenfolge eines Fensters nach Klausel angegeben sind. Das Ergebnis ist 1 plus der Anzahl von Zeilen vor der aktuellen Zeile oder gleich dieser in der Reihenfolge der Partition. Die Werte erzeugen keine Lücken in der Folge. Die denseRank Funktion funktioniert auch dann, wenn Daten nicht sortiert sind und nach Änderungen in Werten suchen.

  • denseRank()

distinct

distinct(<value1> : array) => array

Gibt eine bestimmte Menge von Elementen aus einem Array zurück.

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

divide

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

Dividiert ein Zahlenpaar. Entspricht dem Operator /.

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

dropLeft

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

Entfernt die angegebene Anzahl von Zeichen links von der Zeichenfolge. Wenn die angeforderte Löschung die Länge der Zeichenfolge überschreitet, wird eine leere Zeichenfolge zurückgegeben.

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

dropRight

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

Entfernt die angegebene Anzahl von Zeichen rechts von der Zeichenfolge. Wenn die angeforderte Löschung die Länge der Zeichenfolge überschreitet, wird eine leere Zeichenfolge zurückgegeben.

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

E

encode

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

Codiert die Daten der Eingabezeichenfolge basierend auf einem Zeichensatz in Binärcode. Ein zweites (optionales) Argument kann verwendet werden, um anzugeben, welche Zeichenmenge verwendet werden soll. Beispiele sind US-ASCII: , ISO-8859-1, UTF-8 (Standard), UTF-16BE, UTF-16LEund UTF-16.

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

endsWith

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

Überprüft, ob die Zeichenfolge mit der angegebenen Zeichenfolge endet.

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

equals

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

Verwendet den Vergleichsoperator "Equals". Entspricht dem 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

Verwendet den Operator für Vergleich auf Gleichheit ohne Berücksichtigung der Groß-/Kleinschreibung. Entspricht dem Operator <=>.

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

escape

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

Versieht eine Zeichenfolge mit einem Escapezeichen entsprechend einem Format. Literalwerte für zulässiges Format sind json, , xml, ecmascript, htmlund java.


except

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

Gibt eine Differenzmenge eines Arrays aus einem anderen zurück, wobei Duplikate gelöscht werden.

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

expr

expr(<expr> : string) => any

Ergibt einen Ausdruck aus einer Zeichenfolge, der dem Schreiben dieses Ausdrucks in nichtwörtlicher Form entspricht. Sie können sie verwenden, um Parameter als Zeichenfolgendarstellungen zu übergeben.

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

F

factorial

factorial(<value1> : number) => long

Berechnet die Fakultät einer Zahl.

  • factorial(5) -> 120

false

false() => boolean

Gibt immer den Wert FALSE zurück. Verwenden Sie die Funktion syntax(false()) , wenn eine Spalte benannt falseist.

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

filter

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

Filtert Elemente aus dem Array heraus, die dem bereitgestellten Prädikat nicht entsprechen. Filter erwartet einen Verweis auf ein Element in der Prädikatfunktion 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

Suchen Sie das erste Element aus einem Array, das der Bedingung entspricht. Es verwendet eine Filterfunktion, in der Sie das Element im Array als #itemadressieren können. Für tief geschachtelte Karten können Sie mithilfe der #item_n Notation (#item_1, #item_2...) auf die übergeordneten Karten verweisen.

  • 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

Ruft den ersten Wert einer Spaltengruppe ab. Wenn der zweite Parameter ignoreNulls nicht angegeben wird, geht Data Factory von "false" aus.

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

flatten

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

Vereinfacht ein Array oder Arrays in ein einziges Array. Arrays unteilbarer Elemente werden unverändert zurückgegeben. Das letzte Argument ist optional und lautet standardmäßig FALSE, um rekursiv mehr als eine Ebene tief zu vereinfachen.

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

floor

floor(<value1> : number) => number

Gibt den größten Integerwert zurück, der nicht größer als die Zahl ist.

  • floor(-0.1) -> -1

fromBase64

fromBase64(<value1> : string, <encoding type> : string) => string

Decodiert die spezifische base64-codierte Zeichenfolge. Optional können Sie den Codierungstyp übergeben.

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

fromUTC

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

Wandelt in den Zeitstempel von UTC um. Sie können optional die Zeitzone in Form von GMT, PST, UTC oder America/Cayman übergeben. Standardmäßig wird die aktuelle Zeitzone verwendet. Informationen zu den verfügbaren Formaten finden Sie in der SimpleDateFormat-Klasse von Java.

  • 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

Verwendet den Vergleichsoperator größer. Gleich wie 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

Verwendet den Operator für Vergleich auf „größer als oder gleich“. Gleich wie Operator >=.

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

greatest

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

Gibt den größten Wert in der Liste der Werte als Eingabe zurück, wobei Nullwerte übersprungen werden. Gibt zurück null , wenn alle Eingaben null sind.

  • 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

Überprüft anhand des Namens, ob ein Spaltenwert im Stream vorhanden ist. Sie können einen optionalen Streamnamen als zweites Argument übergeben. Adressspaltennamen, die zur Entwurfszeit namentlich bekannt sind. Berechnete Eingaben werden nicht unterstützt, Aber Sie können Parameterersetzungen verwenden.

  • hasColumn('parent')

hasError

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

Überprüft, ob die Ressource mit einer angegebenen ID als Fehler markiert ist.

Examples

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

hasPath

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

Überprüft, ob ein bestimmter hierarchischer Pfad nach dem Namen im Stream vorhanden ist. Sie können einen optionalen Streamnamen als zweites Argument übergeben. Spaltennamen/-pfade, die zur Entwurfszeit bekannt sind, sollten nur mit ihrem Namen oder Punktnotationspfad adressiert werden. Berechnete Eingaben werden nicht unterstützt, Aber Sie können Parameterersetzungen verwenden.

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

hex

hex(<value1>: binary) => string

Diese Funktion gibt eine Hexadezimal-Zeichenfolgendarstellung eines Binärwerts zurück.

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

hour

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

Ruft den Stundenwert eines Zeitstempels ab. Sie können eine optionale Zeitzone in Form von GMT, PST, UTC oder America/Cayman übergeben. Die lokale Zeitzone wird als Standard verwendet. Informationen zu den verfügbaren Formaten finden Sie in der SimpleDateFormat-Klasse von Java.

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

hours

hours(<value1> : integer) => long

Ruft die Dauer in Millisekunden für die Anzahl der Stunden ab.

  • hours(2) -> 7200000L

I

iif

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

Wendet einen Wert oder den anderen basierend auf einer Bedingung an. Wenn der andere nicht angegeben ist, wird der Wert berücksichtigt NULL. Beide Werte müssen kompatibel sein (z. B. numerische und Zeichenfolge).

  • 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

Gibt das erste nicht NULL-Element zurück, wenn zwei oder mehr Eingaben vorhanden sind. Diese Funktion entspricht der coalesce Funktion.

  • 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

Überprüft, ob ein Element im Array vorhanden ist.

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

initCap

initCap(<value1> : string) => string

Wandelt den ersten Buchstaben jedes Worts in Großbuchstaben um. Wörter werden als durch Leerzeichen getrennt identifiziert.

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

instr

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

Sucht die Position (basierend auf 1) der Teilzeichenfolge innerhalb einer Zeichenfolge. Wird nichts gefunden, wird 0 zurückgegeben.

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

intersect

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

Gibt eine Schnittmenge verschiedener Elemente aus zwei Arrays zurück.

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

isBitSet

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

Überprüft, ob eine Bitposition in dieser Bitmenge festgelegt ist.

  • isBitSet(toBitSet([10, 32, 98]), 10) => true

isBoolean

isBoolean(<value1>: string) => boolean

Überprüft, ob der Zeichenfolgenwert ein boolescher Wert gemäß den Regeln von toBoolean().

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

isByte

isByte(<value1> : string) => boolean

Überprüft, ob der Stringwert ein Bytewert ist, wenn ein optionales Format nach den Regeln von toByte() angegeben ist.

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

isDate

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

Überprüft, ob die Eingabedatumszeichenfolge ein Datum ist, indem Sie ein optionales Eingabedatumsformat verwenden. Informationen zu den verfügbaren Formaten finden Sie in der SimpleDateFormat-Klasse von Java. Wenn das Eingabedatumsformat nicht angegeben wird, ist yyyy-[M]M-[d]ddas Standardformat . Akzeptierte Formate sind :[ 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

Überprüft, ob der Zeichenfolgenwert ein Dezimalwert ist, wenn ein optionales Format gemäß den Regeln von toDecimal() angegeben ist.

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

isDelete

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

Überprüft, ob die Zeile gelöscht werden soll. Bei Transformationen, die mehr als einen Eingabedatenstrom verwenden, können Sie den (1-basierten) Index des Datenstroms übergeben. Der Datenstromindex sollte entweder 1 oder 2 sein, und der Standardwert ist 1.

  • isDelete()
  • isDelete(1)

isDistinct

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

Stellt fest, ob eine Spalte oder eine Gruppe von Spalten eindeutig ist. Er zählt null nicht als eindeutiger Wert.

  • isDistinct(custId, custName) => boolean

isDouble

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

Überprüft, ob der Zeichenfolgenwert ein Double-Wert ist, wenn er gemäß den Regeln von toDouble() ein optionales Format erhält.

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

isError

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

Überprüft, ob die Zeile als Fehler markiert ist. Bei Transformationen, die mehr als einen Eingabedatenstrom verwenden, können Sie den (1-basierten) Index des Datenstroms übergeben. Der Datenstromindex sollte entweder 1 oder 2 sein, und der Standardwert ist 1.

  • isError()
  • isError(1)

isFloat

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

Überprüft, ob der Zeichenfolgenwert ein Fließkommawert ist, wenn ein optionales Format gemäß den Regeln von toFloat() vorliegt.

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

isIgnore

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

Überprüft, ob die Zeile ignoriert werden soll. Für Transformationen mit mehr als einem Eingabedatenstrom können Sie den (1-basierten) Index des Datenstroms übergeben. Der Datenstromindex sollte entweder 1 oder 2 sein, und der Standardwert ist 1.

  • isIgnore()
  • isIgnore(1)

isInsert

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

Überprüft, ob die Zeile zum Einfügen markiert ist. Für Transformationen mit mehr als einem Eingabedatenstrom können Sie den (1-basierten) Index des Datenstroms übergeben. Der Datenstromindex sollte entweder 1 oder 2 sein, und der Standardwert ist 1.

  • isInsert()
  • isInsert(1)

isInteger

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

Überprüft, ob der Zeichenfolgenwert ein Integerwert ist, wenn er gemäß den Regeln von toInteger() ein optionales Format erhält.

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

isLong

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

Überprüft, ob der Zeichenfolgenwert ein Long-Wert ist, wenn ein optionales Format gemäß den Regeln von toLong() verwendet wird.

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

isMatch

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

Überprüft, ob die Zeile bei der Suche übereinstimmt. Für Transformationen mit mehr als einem Eingabedatenstrom können Sie den (1-basierten) Index des Datenstroms übergeben. Der Datenstromindex sollte entweder 1 oder 2 sein, und der Standardwert ist 1.

  • isMatch()
  • isMatch(1)

isNan

isNan (<value1> : integral) => boolean

Überprüft, ob der Wert keine Zahl ist.

  • isNan(10.2) => false

isNull

isNull(<value1> : any) => boolean

Überprüft, ob der Wert ist NULL.

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

isShort

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

Überprüft, ob der Zeichenfolgenwert ein Short-Wert ist, wenn ein optionales Format gemäß den Regeln von toShort() angegeben ist.

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

isTimestamp

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

Überprüft, ob die Eingabedatumszeichenfolge ein Zeitstempel ist, indem Sie ein optionales Eingabezeitstempelformat verwenden. Informationen zu den verfügbaren Formaten finden Sie in der SimpleDateFormat-Klasse von Java. Wenn der Zeitstempel weggelassen wird, wird das Standardmuster yyyy-[M]M-[d]d hh:mm:ss[.f...] verwendet. Sie können eine optionale Zeitzone in Form von GMT, PST, UTC oder America/Cayman übergeben. Die timestamp Funktion unterstützt bis zu Millisekundengenauigkeit mit einem Wert von 999. Informationen zu den verfügbaren Formaten finden Sie in der SimpleDateFormat-Klasse von Java.

  • 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

Überprüft, ob die Zeile zum Aktualisieren markiert ist. Für Transformationen mit mehr als einem Eingabedatenstrom können Sie den (1-basierten) Index des Datenstroms übergeben. Der Datenstromindex sollte entweder 1 oder 2 sein, und der Standardwert ist 1.

  • isUpdate()
  • isUpdate(1)

isUpsert

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

Überprüft, ob die Zeile zum Einfügen markiert ist. Für Transformationen mit mehr als einem Eingabedatenstrom können Sie den (1-basierten) Index des Datenstroms übergeben. Der Datenstromindex sollte entweder 1 oder 2 sein, und der Standardwert ist 1.

  • isUpsert()
  • isUpsert(1)

J

jaroWinkler

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

Ruft den Jaro-Winkler-Abstand zwischen zwei Zeichenfolgen ab.

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

K

keyValues

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

Erstellt eine Zuordnung von Schlüsseln/Werten. Der erste Parameter ist ein Array von Schlüsseln, und das zweite ist das Array von Werten. Beide Arrays müssen die gleiche Länge haben.

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

kurtosis

kurtosis(<value1> : number) => double

Ruft die Kurtosis einer Spalte ab.

  • kurtosis(sales)

kurtosisIf

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

Ruft die Kurtosis einer Spalte basierend auf Kriterien ab.

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

L

lag

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

Ruft den Wert des ersten ausgewerteten n Parameters Zeilen vor der aktuellen Zeile ab. Der zweite Parameter ist die Anzahl der Zeilen, die zurückgegeben werden sollen, und der Standardwert ist 1. Wenn nicht so viele Zeilen vorhanden sind, wird ein Nullwert zurückgegeben, es sei denn, ein Standardwert ist angegeben.

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

last

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

Ruft den letzten Wert einer Spaltengruppe ab. Wenn der zweite Parameter ignoreNulls nicht angegeben wird, wird "false" angenommen.

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

lastDayOfMonth

lastDayOfMonth(<value1> : datetime) => date

Gibt den letzten Tag eines Monats zurück, wenn ein Datum angegeben ist.

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

lead

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

Ruft den Wert des ersten ausgewerteten n Parameters Zeilen nach der aktuellen Zeile ab. Der zweite Parameter ist die Anzahl der Zeilen, die vorwärts angezeigt werden sollen, und der Standardwert ist 1. Wenn nicht so viele Zeilen vorhanden sind, wird ein Nullwert zurückgegeben, es sei denn, ein Standardwert ist angegeben.

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

least

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

Verwendet den Operator für Vergleich auf „kleiner als oder gleich“. Entspricht dem 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

Extrahiert eine Teilzeichenfolge, die bei Index 1 beginnt, mit der Anzahl der Zeichen. Identisch mit SUBSTRING(str, 1, n).

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

length

length(<value1> : string) => integer

Gibt die Länge der Zeichenfolge zurück.

  • length('dumbo') -> 5

lesser

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

Verwendet den Operator für Vergleich auf „kleiner als“. Entspricht dem 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

Verwendet den Operator für Vergleich auf „kleiner als oder gleich“. Entspricht dem Operator <=.

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

levenshtein

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

Ruft die Levenshtein-Distanz zwischen zwei Zeichenfolgen ab.

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

like

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

Verwendet ein Zeichenfolgenmuster, das buchstäblich übereinstimmt. Die Ausnahmen sind die folgenden Sondersymbole: _ entspricht einem beliebigen Zeichen in der Eingabe (ähnlich .* wie in posix regulären Ausdrücken). % entspricht null oder mehr Zeichen in der Eingabe (ähnlich wie .* in posix regulären Ausdrücken). Das Escapezeichen lautet „"“. Wenn ein Escapezeichen einem besonderen Symbol oder einem anderen Escapezeichen vorangestellt ist, wird das folgende Zeichen direkt verglichen. Es ist als Escapezeichen für alle anderen Zeichen ungültig.

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

locate

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

Sucht die Position (basierend auf 1) der Teilzeichenfolge innerhalb einer Zeichenfolge ab einer bestimmten Position. Wenn die Position nicht angegeben ist, wird am Anfang der Zeichenfolge gestartet. Wird nichts gefunden, wird 0 zurückgegeben.

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

log

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

Berechnet den Protokollwert. Sie können bei Verwendung eine optionale Basis oder eine Eulernummer angeben.

  • log(100, 10) -> 2

log10

log10(<value1> : number) => double

Berechnet den Logarithmuswert über der Basis 10.

  • log10(100) -> 2

lookup

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

Schlägt die erste Zeile der zwischengespeicherten Senke mithilfe der angegebenen Schlüssel nach, die mit den Schlüsseln der zwischengespeicherten Senke identisch sind.

  • cacheSink#lookup(movieId)

lower

lower(<value1> : string) => string

Wandelt eine Zeichenfolge in Kleinschreibung um.

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

lpad

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

Füllt die Zeichenfolge nach links mit der angegebenen Auffüllung, bis die Zeichenfolge eine bestimmte Länge hat. Ist die Zeichenfolge größer oder gleich der Länge, wird die Zeichenfolge auf die Länge gekürzt.

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

ltrim

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

Entfernt vorangestellte Zeichen aus einer Zeichenfolge. Wenn der zweite Parameter nicht angegeben ist, werden Leerzeichen gekürzt. Andernfalls werden alle im zweiten Parameter angegebenen Zeichen gekürzt.

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

M

map

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

Ordnet jedes Element des Arrays einem neuen Element mithilfe des bereitgestellten Ausdrucks zu. Die map Funktion erwartet einen Verweis auf ein Element in der Ausdrucksfunktion 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

Transformiert eine Zuordnung durch Zuordnen der Schlüssel zu neuen Werten. Gibt ein Array zurück. Es verwendet eine Zuordnungsfunktion, in der Sie das Element als #key und den aktuellen Wert als #value adressieren können.

  • 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

Ordnet ein Array bedingt einem anderen Array derselben oder kleineren Länge zu. Die Werte können beliebiger Datentyp sein, einschließlich structTypes. Es verwendet eine Zuordnungsfunktion, in der Sie das Element im Array als #item und den aktuellen Index als #indexadressieren können. Für tief ineinander verschachtelte Maps können Sie auf die übergeordneten Maps verweisen, indem Sie die Notation "#item_[n] (#item_1, #index_1" verwenden.

  • 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

Ordnet jedes Element des Arrays einem neuen Element mithilfe des bereitgestellten Ausdrucks zu. Die map Funktion erwartet einen Verweis auf ein Element in der Ausdrucksfunktion als #item und einen Verweis auf den Elementindex als #index.

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

mapLoop

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

Durchläuft Schleifen von 1 bis zur Länge, um ein Array mit dieser Länge zu erstellen. Es verwendet eine Zuordnungsfunktion, in der Sie den Index im Array als #indexadressieren können. Für tief geschachtelte Karten können Sie mithilfe der #index_n (#index_1, #index_2) Notation auf die übergeordneten Karten verweisen.

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

max

max(<value1> : any) => any

Ruft den größten Wert einer Spalte ab.

  • max(sales)

maxIf

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

Ruft den Maximalwert einer Spalte basierend auf Kriterien ab.

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

md5

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

Berechnet den MD5-Digest einer Reihe von Spalten unterschiedlicher primitiver Datentypen und gibt eine 32-stellige Hexadexzeichenfolge zurück. Sie können ihn verwenden, um einen Fingerabdruck für eine Zeile zu berechnen.

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

mean

mean(<value1> : number) => number

Ruft das Mittel der Werte einer Spalte ab. Identisch mit AVG.

  • mean(sales)

meanIf

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

Ruft den Mittelwert einer Spalte basierend auf Kriterien ab. Identisch mit avgIf.

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

millisecond

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

Ruft den Millisekundenwert eines Datums ab. Sie können eine optionale Zeitzone in Form von GMT, PST, UTC oder America/Cayman übergeben. Die lokale Zeitzone wird als Standard verwendet. Informationen zu den verfügbaren Formaten finden Sie in der SimpleDateFormat-Klasse von Java.

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

milliseconds

milliseconds(<value1> : integer) => long

Gibt die Dauer in Millisekunden für eine bestimmte Anzahl von Millisekunden zurück.

  • milliseconds(2) -> 2L

min

min(<value1> : any) => any

Ruft den kleinsten Wert einer Spalte ab.

  • min(sales)

minIf

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

Ruft den Minimalwert einer Spalte basierend auf Kriterien ab.

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

minus

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

Subtrahiert Zahlen. Subtrahiert die Anzahl von Tagen von einem Datum. Subtrahiert die Dauer von einem Zeitstempel. Subtrahiert zwei Zeitstempel, um die Differenz in Millisekunden zu erhalten. Entspricht dem 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

Ruft den Minutenwert eines Zeitstempels ab. Sie können eine optionale Zeitzone in Form von GMT, PST, UTC oder America/Cayman übergeben. Die lokale Zeitzone wird als Standard verwendet. Informationen zu den verfügbaren Formaten finden Sie in der SimpleDateFormat-Klasse von Java.

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

minutes

minutes(<value1> : integer) => long

Ruft die Dauer in Millisekunden für die Anzahl der Minuten ab.

  • minutes(2) -> 120000L

mlookup

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

Schlägt alle übereinstimmenden Zeilen der zwischengespeicherten Senke mithilfe der angegebenen Schlüssel nach, die mit den Schlüsseln der zwischengespeicherten Senke identisch sind.

  • cacheSink#mlookup(movieId)

mod

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

Bestimmt den Modulus eines Zahlenpaars. Entspricht dem Operator %.

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

month

month(<value1> : datetime) => integer

Ruft den Monatswert eines Datums- oder Zeitstempels ab.

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

monthsBetween

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

Ruft die Anzahl der Monate zwischen zwei Datumsangaben ab. Sie können die Berechnung abrunden. Sie können eine optionale Zeitzone in Form von GMT, PST, UTC oder America/Cayman übergeben. Die lokale Zeitzone wird als Standard verwendet. Informationen zu den verfügbaren Formaten finden Sie in der SimpleDateFormat-Klasse von Java.

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

multiply

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

Multipliziert ein Zahlenpaar. Entspricht dem Operator *.

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

N

negate

negate(<value1> : number) => number

Negiert eine Zahl. Wandelt positive Zahlen in negative um (und umgekehrt).

  • negate(13) -> -13

nextSequence

nextSequence() => long

Gibt die nächste eindeutige Folge zurück. Die Zahl ist nur innerhalb einer Partition aufeinanderfolgend und wird mit der Partitions-ID vorangestellt.

  • nextSequence() == 12313112 -> false

normalize

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

Normalisiert den Zeichenfolgenwert so, dass akzentierte Unicode-Zeichen getrennt werden.

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

not

not(<value1> : boolean) => boolean

Verwendet den logischen Negationsoperator.

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

notEquals

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

Verwendet den Operator für Vergleich auf Ungleichheit. Entspricht dem Operator !=.

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

nTile

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

Die nTile Funktion dividiert die Zeilen für jede Fensterpartition in n Buckets von 1 bis zu höchstens n. Bucketwerte unterscheiden sich um höchstens 1. Wenn die Anzahl der Zeilen in der Partition nicht gleichmäßig in die Anzahl der Buckets unterteilt werden kann, werden die Restwerte einzeln auf Buckets verteilt, beginnend mit dem ersten Bucket. Die nTile-Funktion ist nützlich für die Berechnung von tertiles, Quartilen, Dezilen und anderen üblichen zusammenfassenden Statistiken. Die Funktion berechnet zwei Variablen während der Initialisierung. Der Größe eines regulären Buckets wird eine zusätzliche Zeile hinzugefügt. Beide Variablen basieren auf der Größe der aktuellen Partition. Während des Berechnungsprozesses verfolgt die Funktion die aktuelle Zeilennummer, die aktuelle Bucketnummer und die Zeilennummer, an der sich der Bucket ändert (bucketThreshold). Wenn die aktuelle Zeilennummer den Bucketschwellenwert erreicht, wird der Bucketwert um eins erhöht. Der Schwellenwert wird um die Bucketgröße erhöht (zusätzlich um eins, wenn der aktuelle Bucket aufgefüllt ist).

  • nTile()
  • nTile(numOfBuckets)

null

null() => null

Gibt einen NULL Wert zurück. Verwenden Sie die Funktion syntax(null()) , wenn eine Spalte benannt nullist. Jeder Vorgang, der NULL verwendet, führt zu einem NULL Wert.

  • 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

Verwendet den logischen OR Operator. Identisch mit ||.

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

originColumns

originColumns(<streamName> : string) => any

Ruft alle Ausgabespalten für einen Ursprungsdatenstrom ab, in dem Spalten erstellt wurden. Muss in eine andere Funktion eingeschlossen werden.

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

output

output() => any

Gibt die erste Zeile der Ergebnisse der zwischengespeicherten Senke zurück.

  • cacheSink#output()

outputs

output() => any

Gibt das gesamte Ausgabe-Rowset der zwischengespeicherten Senke zurück.

  • cacheSink#outputs()

P

partitionId

partitionId() => integer

Gibt die aktuelle Partitions-ID zurück, in der sich die Eingabezeile befindet.

  • partitionId()

pMod

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

Gibt den positiven Modulus eines Zahlenpaars an.

  • pmod(-20, 8) -> 4

power

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

Potenziert eine Zahl um den Potenzwert einer anderen.

  • power(10, 2) -> 100

R

radians

radians(<value1> : number) => double

Konvertiert Grade in Bogenmaße.

  • radians(180) => 3.141592653589793

random

random(<value1> : integral) => double

Gibt eine Zufallszahl zurück, wenn ein Seed innerhalb einer Partition angegeben wird. Der Seed sollte ein fester Wert sein und wird zusammen mit der Partitions-ID zum Erzeugen von Zufallswerten im Bereich (0.0-1.0) verwendet.

  • random(1) == 1 -> false

rank

rank() => integer

Berechnet den Rang eines Werts in einer Gruppe von Werten, die in der Reihenfolge eines Fensters nach Klausel angegeben sind. Das Ergebnis ist 1 plus der Anzahl von Zeilen vor der aktuellen Zeile oder gleich dieser in der Reihenfolge der Partition. Die Werte erzeugen Lücken in der Sequenz. Die rank Funktion funktioniert auch dann, wenn Daten nicht sortiert sind und nach Änderungen in Werten suchen.

  • rank()

reassociate

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

Transformiert eine Zuordnung durch Zuordnen der Schlüssel zu neuen Werten. Es verwendet eine Zuordnungsfunktion, in der Sie das Element als #key und den aktuellen Wert als #value adressieren können.

  • 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

Akkumuliert Elemente in einem Array. Die reduce-Funktion erwartet einen Verweis auf einen Akkumulator sowie ein Element in der ersten Ausdrucksfunktion als #acc und #item. Es wird erwartet, dass der resultierende Wert als #result in der zweiten Ausdrucksfunktion verwendet wird.

  • 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

Extrahiert eine übereinstimmende Teilzeichenfolge für ein vorgegebenes Regex-Muster. Der letzte Parameter identifiziert die Übereinstimmungsgruppe und ist standardmäßig 1, wenn er nicht angegeben ist. <regex> stimmt mit einer Zeichenfolge ohne Escapezeichen überein. Index 0 gibt alle Übereinstimmungen zurück. Ohne Übereinstimmungsgruppen gibt der Index 1 und höher keine Ergebnisse zurück.

  • 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

Überprüft, ob die Zeichenfolge mit dem angegebenen RegEx-Muster übereinstimmt. <regex> stimmt mit einer Zeichenfolge ohne Escapezeichen überein.

  • 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

Ersetzt alle Vorkommen eines Regex-Musters durch eine andere Teilzeichenfolge in einem bestimmten String. <regex> stimmt mit einer Zeichenfolge ohne Escapezeichen überein.

  • 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

Unterteilt eine Zeichenfolge anhand eines Trennzeichens basierend auf einem regulären Ausdruck und gibt ein Array mit Zeichenfolgen zurück.

  • 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

Ersetzt alle Vorkommen einer Teilzeichenfolge durch eine andere Teilzeichenfolge in der spezifischen Zeichenfolge. Wenn der letzte Parameter nicht angegeben wird, wird standardmäßig eine leere Zeichenfolge verwendet.

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

reverse

reverse(<value1> : string) => string

Kehrt eine Zeichenfolge um.

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

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

Extrahiert eine Teilzeichenfolge mit einer Anzahl von Zeichen von rechts. Identisch mit SUBSTRING(str, LENGTH(str) - n, n).

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

rlike

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

Überprüft, ob die Zeichenfolge mit dem angegebenen RegEx-Muster übereinstimmt.

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

round

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

Rundet eine Zahl, wenn eine optionale Skalierung und ein optionaler Rundungsmodus angegeben wird. Wenn die Skalierung nicht angegeben wird, wird standardmäßig auf 0 zurückgesetzt. Wenn der Modus nicht angegeben wird, ist er standardmäßig ROUND_HALF_UP(5). Die Werte für das Runden beinhalten:

  1. ROUND_UP: Rundungsmodus zum Runden von Null weg.

  2. ROUND_DOWN: Rundungsmodus, um in Richtung Null zu runden.

  3. ROUND_CEILING: Rundungsmodus, um in Richtung positive Unendlichkeit zu runden. (Gleich wie ROUND_UP bei positiver Eingabe. Bei negativer Eingabe verhält es sich wie ROUND_DOWN. Zum Beispiel: -1,1 wäre -1,0 mit ROUND_CEILING und -2 mit ROUND_UP.)

  4. ROUND_FLOOR: Rundungsmodus zum Runden gegen negative Unendlichkeit. (Gleich wie ROUND_DOWN, wenn die Eingabe positiv ist. Wenn negativ, verhält es sich wie ROUND_UP.)

  5. ROUND_HALF_UP: Rundungsmodus zur Rundung gegen „nächsten Nachbarn“, es sei denn, beide Nachbarn sind gleich weit entfernt; in diesem Fall ist das Verhalten wie ROUND_UP. (Am häufigsten + Standard für Dataflow.)

  6. ROUND_HALF_DOWN: Rundungsmodus zur Rundung gegen „nächsten Nachbarn“, es sei denn, beide Nachbarn sind gleich weit entfernt; in diesem Fall ROUND_DOWN.

  7. ROUND_HALF_EVEN: Rundungsmodus zur Rundung gegen „nächsten Nachbarn“, es sei denn, beide Nachbarn sind gleich weit entfernt; in diesem Fall gilt Rundung gegen den geraden Nachbarn.

  8. ROUND_UNNECESSARY: Rundungsmodus, um zu bestätigen, dass der Rundenvorgang ein genaues Ergebnis hat, sodass keine Rundung erforderlich ist.

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

rowNumber

rowNumber() => integer

Weist Zeilen in einem Fenster eine sequenzielle Zeilennummerierung zu, die bei 1 beginnt.

  • rowNumber()

rpad

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

Füllt die Zeichenfolge nach rechts mit der angegebenen Auffüllung, bis die Zeichenfolge eine bestimmte Länge hat. Ist die Zeichenfolge größer oder gleich der Länge, wird die Zeichenfolge auf die Länge gekürzt.

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

rtrim

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

Entfernt nachgestellte Zeichen aus einer Zeichenfolge. Wenn der zweite Parameter nicht angegeben ist, werden Leerzeichen gekürzt. Andernfalls werden alle im zweiten Parameter angegebenen Zeichen gekürzt.

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

S

second

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

Ruft den Sekundenwert eines Datums ab. Sie können eine optionale Zeitzone in Form von GMT, PST, UTC oder America/Cayman übergeben. Die lokale Zeitzone wird als Standard verwendet. Informationen zu den verfügbaren Formaten finden Sie in der SimpleDateFormat-Klasse von Java.

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

seconds

seconds(<value1> : integer) => long

Gibt die Dauer in Millisekunden für die Anzahl der Sekunden an.

  • seconds(2) -> 2000L

setBitSet

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

Legt Bitpositionen in dieser Bitmenge fest.

  • setBitSet(toBitSet([10, 32]), [98]) => [4294968320L, 17179869184L]

sha1

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

Berechnet den SHA-1-Digest einer Reihe von Spalten unterschiedlicher primitiver Datentypen und gibt eine 40-stellige Hexadexzeichenfolge zurück. Sie können ihn verwenden, um einen Fingerabdruck für eine Zeile zu berechnen.

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

sha2

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

Berechnet den SHA-2-Digest für eine Anzahl von Spalten mit verschiedenen primitiven Datentypen, wenn eine Bitlänge angegeben wird, die nur die Werte 0(256), 224, 256, 384 und 512 umfassen kann. Sie können ihn verwenden, um einen Fingerabdruck für eine Zeile zu berechnen.

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

sin

sin(<value1> : number) => double

Berechnet einen Sinuswert.

  • sin(2) -> 0.9092974268256817

sinh

sinh(<value1> : number) => double

Berechnet einen hyperbolischen Sinuswert.

  • sinh(0) -> 0.0

size

size(<value1> : any) => integer

Ermittelt die Größe eines Array- oder Zuordnungstyps.

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

skewness

skewness(<value1> : number) => double

Ruft die Schiefe einer Spalte ab.

  • skewness(sales)

skewnessIf

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

Ruft die Schiefe einer Spalte basierend auf Kriterien ab.

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

slice

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

Extrahiert eine Teilmenge eines Arrays ab einer Position. Die Position basiert auf 1. Wenn die Länge nicht angegeben wird, wird standardmäßig das Ende der Zeichenfolge verwendet.

  • 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

Sortiert das Array mithilfe der bereitgestellten Prädikatfunktion. Die sort Funktion erwartet einen Verweis auf zwei aufeinander folgende Elemente in der Ausdrucksfunktion als #item1 und #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

Ruft den Code soundex für die Zeichenfolge ab.

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

split

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

Unterteilt eine Zeichenfolge basierend auf einem Trennzeichen und gibt ein Array mit Zeichenfolgen zurück.

  • 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

Berechnet die Quadratwurzel einer Zahl.

  • sqrt(9) -> 3

startsWith

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

Überprüft, ob die Zeichenfolge mit der angegebenen Zeichenfolge beginnt.

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

stddev

stddev(<value1> : number) => double

Ruft die Standardabweichung einer Spalte ab.

  • stdDev(sales)

stddevIf

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

Ruft die Standardabweichung einer Spalte basierend auf Kriterien ab.

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

stddevPopulation

stddevPopulation(<value1> : number) => double

Ruft die Standardabweichung der Population einer Spalte ab.

  • stddevPopulation(sales)

stddevPopulationIf

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

Ruft die Populationsstandardabweichung einer Spalte basierend auf bestimmten Kriterien ab.

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

stddevSample

stddevSample(<value1> : number) => double

Ruft die Standardabweichung einer Stichprobe einer Spalte ab.

  • stddevSample(sales)

stddevSampleIf

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

Ruft die Stichprobenstandardabweichung einer Spalte basierend auf Kriterien ab.

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

subDays

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

Subtrahiert Tage von einem Datums- oder Zeitstempel. Identisch mit dem Operator für datum - .

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

subMonths

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

Subtrahiert Monate von einem Datums- oder Zeitstempel.

  • 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

Extrahiert eine Teilzeichenfolge mit einer bestimmten Länge ab einer Position. Die Position basiert auf 1. Wenn die Länge nicht angegeben wird, wird standardmäßig das Ende der Zeichenfolge verwendet.

  • 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( <string to subset><delimiter>substringIndex( : string, : string, <count of delimiter occurrences> : integral]) => string

Extrahiert die Teilzeichenfolge vor der Anzahl von Vorkommen des Trennzeichens. Wenn die Anzahl positiv ist, wird alles, was links von dem letzten Trennzeichen liegt (von links gezählt), zurückgegeben. Wenn die Anzahl negativ ist, wird alles rechts vom endgültigen Trennzeichen (von rechts gezählt) zurückgegeben.

  • 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

Ruft die aggregierte Summe einer numerischen Spalte ab.

  • sum(col)

sumDistinct

sumDistinct(<value1> : number) => number

Ruft die aggregierte Summe unterschiedlicher Werte einer numerischen Spalte ab.

  • sumDistinct(col)

sumDistinctIf

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

Ruft die Aggregatsumme einer numerischen Spalte basierend auf Kriterien ab. Die Bedingung kann auf jeder Spalte basieren.

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

sumIf

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

Ruft die Aggregatsumme einer numerischen Spalte basierend auf Kriterien ab. Die Bedingung kann auf jeder Spalte basieren.

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

T

tan

tan(<value1> : number) => double

Berechnet einen Tangenswert.

  • tan(0) -> 0.0

tanh

tanh(<value1> : number) => double

Berechnet einen hyperbolischen Tangenswert.

  • tanh(0) -> 0.0

toBase64

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

Codiert die spezifische Zeichenfolge in Base64. Optional können Sie den Codierungstyp übergeben.

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

toBinary

toBinary(<value1> : any) => binary

Wandelt numerische, Datums-, Zeitstempel oder Zeichenfolgen in binäre Darstellung um.

  • toBinary(3) -> [0x11]

toBoolean

toBoolean(<value1> : string) => boolean

Wandelt einen Wert von (t, true, , yyes, 1) in true und (f, false, n, , no0) in false und NULL für einen anderen Wert um.

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

toByte

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

Konvertiert beliebige numerische oder Zeichenfolgenwerte in einen Bytewert. Sie können ein optionales Java-Dezimalformat für die Konvertierung verwenden.

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

toDate

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

Konvertiert eine Eingabedatumszeichenfolge in ein Datum mithilfe eines optionalen Eingabedatumsformats. Informationen zu den verfügbaren Formaten finden Sie in der SimpleDateFormat-Klasse von Java. Wenn das Eingabedatumsformat nicht angegeben wird, ist yyyy-[M]M-[d]ddas Standardformat . Akzeptierte Formate sind :[ 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)

Wandelt beliebige numerische oder Zeichenfolgenwerte in einen decimal-Wert um. Wenn Genauigkeit und Skalierung nicht angegeben sind, wird standardmäßig (10,2) verwendet. Sie können ein optionales Java-Dezimalformat für die Konvertierung verwenden. Verwenden Sie ein optionales Gebietsschemaformat in Form einer BCP47-Sprache wie en-US, de oder 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

Wandelt beliebige numerische oder Zeichenfolgenwerte in einen double-Wert um. Sie können ein optionales Java-Dezimalformat für die Konvertierung verwenden. Verwenden Sie ein optionales Gebietsschemaformat in Form einer BCP47-Sprache wie en-US, de oder 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

Wandelt beliebige numerische oder Zeichenfolgenwerte in einen float-Wert um. Sie können ein optionales Java-Dezimalformat für die Konvertierung verwenden. Kürzt alle double-Werte.

  • 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

Konvertiert beliebige numerische oder Zeichenfolgenwerte in einen Integer-Wert. Sie können ein optionales Java-Dezimalformat für die Konvertierung verwenden. Kürzt alle long-, float- und double-Werte.

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

toLong

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

Wandelt beliebige numerische oder Zeichenfolgenwerte in einen long-Wert um. Sie können ein optionales Java-Dezimalformat für die Konvertierung verwenden. Kürzt alle float- und double-Werte.

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

topN

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

Ruft die obersten N Werte für diese Spalte basierend auf dem Count-Argument ab.

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

toShort

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

Wandelt beliebige numerische oder Zeichenfolgenwerte in einen short-Wert um. Sie können ein optionales Java-Dezimalformat für die Konvertierung verwenden. Kürzt alle integer-, long-, float- und double-Werte.

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

toString

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

Konvertiert einen primitiven Datentyp in eine Zeichenfolge. Sie können ein Format für Zahlen und Datum angeben. Wenn nicht angegeben, wird der Systemstandard ausgewählt. Das Java-Dezimalformat wird für Zahlen verwendet. Informationen zu den verfügbaren Formaten finden Sie in der SimpleDateFormat-Klasse von Java. Das Standardformat ist yyyy-MM-dd. Für einen Datums- oder Zeitstempel können Sie optional ein Gebietsschema angeben.

  • 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

Konvertiert eine Zeichenfolge in einen Zeitstempel, wenn ein optionales Zeitstempelformat angegeben ist. Wenn der Zeitstempel weggelassen wird, wird das Standardmuster yyyy-[M]M-[d]d hh:mm:ss[.f...] verwendet. Sie können eine optionale Zeitzone in Form von GMT, PST, UTC oder America/Cayman übergeben. Die timestamp Funktion unterstützt bis zu Millisekundengenauigkeit mit einem Wert von 999. Informationen zu den verfügbaren Formaten finden Sie in der SimpleDateFormat-Klasse von Java.

  • 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

Wandelt den Zeitstempel in UTC um. Sie können eine optionale Zeitzone in Form von GMT, PST, UTC oder America/Cayman übergeben. Standardmäßig wird die aktuelle Zeitzone verwendet. Informationen zu den verfügbaren Formaten finden Sie in der SimpleDateFormat-Klasse von Java.

  • 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

Ersetzt eine Gruppe von Zeichen durch eine andere Gruppe von Zeichen in der Zeichenfolge. Zeichen haben eine 1:1-Ersetzung.

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

trim

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

Entfernt vorangestellte und nachgestellte Zeichen aus einer Zeichenfolge. Wenn der zweite Parameter nicht angegeben ist, werden Leerzeichen gekürzt. Andernfalls werden alle im zweiten Parameter angegebenen Zeichen gekürzt.

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

true

true() => boolean

Gibt immer den Wert TRUE zurück. Verwenden Sie die Funktion syntax(true()) , wenn eine Spalte benannt trueist.

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

typeMatch

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

Stimmt mit dem Typ der Spalte überein. Sie können sie nur in Musterausdrücken verwenden. Die Funktion number gleicht „short“, „integer“, „long“, „double“, „float“ oder „decimal“ ab. Die Funktion integral entspricht short, int und long. Die fractional Funktion unterstützt double, float, Decimal. Die datetime Funktion entspricht dem Datums- oder Zeitstempeltyp.

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

U

unescape

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

Entfernt die Escapezeichen einer Zeichenfolge entsprechend einem Format. Literalwerte für zulässige Formate sind json, , xml, ecmascript, htmlund java.

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

unfold

unfold (<value1>: array) => any

Entfaltet ein Array in eine Reihe von Zeilen und wiederholt die Werte für die verbleibenden Spalten in jeder Zeile.

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

unhex

unhex(<value1>: string) => binary

Diese Funktion konvertiert die Zeichenfolgendarstellung eines Hexadezimalwerts in einen Binärwert. Sie können es mit sha2, md5 zum Konvertieren von Zeichenfolge in binäre Darstellung verwenden.

  • 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

Gibt eine Vereinigungsmenge einzigartiger Elemente aus zwei Arrays zurück.

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

upper

upper(<value1> : string) => string

Wandelt eine Zeichenfolge in Großschreibung um.

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

uuid

uuid() => string

Gibt die generierte UUID zurück.

  • uuid()

V

variance

variance(<value1> : number) => double

Ruft die Varianz einer Spalte ab.

  • variance(sales)

varianceIf

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

Ruft die Varianz einer Spalte basierend auf Kriterien ab.

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

variancePopulation

variancePopulation(<value1> : number) => double

Ruft die Varianz der Population einer Spalte ab.

  • variancePopulation(sales)

variancePopulationIf

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

Ruft die Populationsvarianz einer Spalte basierend auf bestimmten Kriterien ab.

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

varianceSample

varianceSample(<value1> : number) => double

Ruft die ausgewogene Varianz einer Spalte ab.

  • varianceSample(sales)

varianceSampleIf

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

Ruft die unvoreingenommene Varianz einer Spalte basierend auf Kriterien ab.

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

W

weekOfYear

weekOfYear(<value1> : datetime) => integer

Ermittelt die Woche des Jahres, wenn ein Datum angegeben ist.

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

weeks

weeks(<value1> : integer) => long

Ruft die Dauer in Millisekunden für die Anzahl der Wochen ab.

  • weeks(2) -> 1209600000L

X

xor

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

Verwendet den logischen XOR Operator. Entspricht dem Operator ^.

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

Y

year

year(<value1> : datetime) => integer

Ruft den Jahreswert eines Datums ab.

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