Espressioni di trasformazione dei dati nel flusso di dati di mappingData transformation expressions in mapping data flow

SI APPLICA A: sìAzure Data Factory sìAzure Synapse Analytics (anteprima) APPLIES TO: yesAzure Data Factory yesAzure Synapse Analytics (Preview)

Funzioni per le espressioniExpression functions

In Data Factory utilizzare il linguaggio delle espressioni della funzionalità del flusso di dati di mapping per configurare le trasformazioni dei dati.In Data Factory, use the expression language of the mapping data flow feature to configure data transformations.


abs

abs(<value1> : number) => number

Valore assoluto di un numero.Absolute value of a number.

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

acos

acos(<value1> : number) => double

Calcola un valore inverso del coseno* acos(1) -> 0.0Calculates a cosine inverse value * acos(1) -> 0.0


add

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

Aggiunge una coppia di stringhe o numeri.Adds a pair of strings or numbers. Aggiunge una data a un numero di giorni.Adds a date to a number of days. Aggiunge una durata a un timestamp.Adds a duration to a timestamp. Aggiunge una matrice di tipo simile a un'altra.Appends one array of similar type to another. Uguale all'operatore +* add(10, 20) -> 30Same as the + 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

Aggiunge giorni a una data o a un timestamp.Add days to a date or timestamp. Uguale all'operatore + per la data * addDays(toDate('2016-08-08'), 1) -> toDate('2016-08-09')Same as the + operator for date * addDays(toDate('2016-08-08'), 1) -> toDate('2016-08-09')


addMonths

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

Aggiungere mesi a una data o un timestamp.Add months to a date or timestamp. Facoltativamente, è possibile passare un fuso orario* addMonths(toDate('2016-08-31'), 1) -> toDate('2016-09-30')You can optionally pass a timezone * 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

Operatore AND logico.Logical AND operator. Uguale a && * and(true, false) -> falseSame as && * and(true, false) -> false

  • true && false -> false

asin

asin(<value1> : number) => double

Calcola un valore del seno inverso* asin(0) -> 0.0Calculates an inverse sine value * asin(0) -> 0.0


atan

atan(<value1> : number) => double

Calcola il valore della tangente inversa * atan(0) -> 0.0Calculates a inverse tangent value * atan(0) -> 0.0


atan2

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

Restituisce l'angolo in radianti, tra l'asse x positivo di un piano e il punto specificato dalle coordinate * atan2(0, 0) -> 0.0Returns the angle in radians between the positive x-axis of a plane and the point given by the coordinates * atan2(0, 0) -> 0.0


byName

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

Seleziona un valore di colonna in base al nome nel flusso.Selects a column value by name in the stream. È possibile passare un nome di flusso facoltativo come secondo argomento.You can pass a optional stream name as the second argument. Se sono presenti più corrispondenze, viene restituita la prima corrispondenza.If there are multiple matches, the first match is returned. Se nessuna corrispondenza restituisce un valore NULL.If no match it returns a NULL value. Il valore restituito deve essere di tipo convertito da una delle funzioni di conversione del tipo (TO_DATE, TO_STRING...). I nomi di colonna noti in fase di progettazione devono essere risolti solo in base al nome.The returned value has to be type converted by one of the type conversion functions(TO_DATE, TO_STRING ...). Column names known at design time should be addressed just by their name. Gli input calcolati non sono supportati, ma è possibile usare le sostituzioni di parametro* toString(byName('parent'))Computed inputs are not supported but you can use parameter substitutions * toString(byName('parent'))

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

byPosition

byPosition(<position> : integer) => any

Seleziona un valore di colonna in base alla relativa posizione (basata su 1) nel flusso.Selects a column value by its relative position(1 based) in the stream. Se la posizione è fuori limite, viene restituito un valore NULL.If the position is out of bounds it returns a NULL value. Il valore restituito deve essere di tipo convertito da una delle funzioni di conversione del tipo (TO_DATE, TO_STRING...) Gli input calcolati non sono supportati, ma è possibile usare le sostituzioni di parametro* toString(byPosition(1))The returned value has to be type converted by one of the type conversion functions(TO_DATE, TO_STRING ...)Computed inputs are not supported but you can use parameter substitutions * toString(byPosition(1))

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

case

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

In base alle condizioni alternative, applica un valore o l'altro.Based on alternating conditions applies one value or the other. Se il numero di input è pari, l'altro viene impostato come NULL per l'ultima condizione.* case(10 + 20 == 30, 'dumbo', 'gumbo') -> 'dumbo'If the number of inputs are even, the other is defaulted to NULL for last condition * 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

Calcola la radice cubica di un numero * cbrt(8) -> 2.0Calculate the cube root of a number * cbrt(8) -> 2.0


ceil

ceil(<value1> : number) => number

Restituisce l'intero più piccolo non inferiore al numero * ceil(-0.1) -> 0Returns the smallest integer not smaller than the number * ceil(-0.1) -> 0


coalesce

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

Restituisce il primo valore not null da un set di input.Returns the first not null value from a set of inputs. Tutti gli input devono essere dello stesso tipo* coalesce(10, 20) -> 10All inputs should be of the same type * coalesce(10, 20) -> 10

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

collect

collect(<value1> : any) => array

Raccoglie tutti i valori dell'espressione nel gruppo aggregato in una matrice.Collects all values of the expression in the aggregated group into a array. Durante questo processo, è possibile raccogliere e trasformare le strutture in strutture alternative.Structures can be collected and transformed to alternate structures during this process. Il numero di elementi sarà uguale al numero di righe nel gruppo e può contenere valori null.The number of items will be equal to the number of rows in that group and can contain null values. Il numero di elementi raccolti dovrebbe essere ridotto* collect(salesPerson) * collect(firstName + lastName)) * collect(@(name = salesPerson, sales = salesAmount) )


columnNames

columnNames(<value1> : string) => arrayThe number of collected items should be small * collect(salesPerson) * collect(firstName + lastName)) * collect(@(name = salesPerson, sales = salesAmount) )


columnNames

columnNames(<value1> : string) => array

Ottiene tutte le colonne di output per un flusso.Gets all output columns for a stream. È possibile passare un nome di flusso facoltativo come secondo argomento.You can pass a optional stream name as the second argument.

  • columnNames()
  • columnNames('DeriveStream')

compare

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

Confronta due valori dello stesso tipo.Compares two values of the same type. Restituisce un numero intero negativo se value1 < value2, 0 se value1 = = value2, valore positivo se value1 > value2* (compare(12, 24) < 1) -> trueReturns negative integer if value1 < value2, 0 if value1 == value2, positive value if value1 > value2 * (compare(12, 24) < 1) -> true

  • (compare('dumbo', 'dum') > 0) -> true

concat

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

Concatena un numero variabile di stringhe.Concatenates a variable number of strings together. Uguale all'operatore + con le stringhe * concat('dataflow', 'is', 'awesome') -> 'dataflowisawesome'Same as the + operator with strings * concat('dataflow', 'is', 'awesome') -> 'dataflowisawesome'

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

concatWS

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

Concatena un numero variabile di stringhe con un separatore.Concatenates a variable number of strings together with a separator. Il primo parametro è il separatore * concatWS(' ', 'dataflow', 'is', 'awesome') -> 'dataflow is awesome'The first parameter is the separator * 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

Restituisce true se qualsiasi elemento nella matrice fornita restituisce true nel predicato fornito.Returns true if any element in the provided array evaluates as true in the provided predicate. Contains prevede un riferimento a un elemento nella funzione predicato come #item* contains([1, 2, 3, 4], #item == 3) -> trueContains expects a reference to one element in the predicate function as #item * contains([1, 2, 3, 4], #item == 3) -> true

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

cos

cos(<value1> : number) => double

Calcola il valore del coseno * cos(10) -> -0.8390715290764524Calculates a cosine value * cos(10) -> -0.8390715290764524


cosh

cosh(<value1> : number) => double

Calcola il valore del coseno iperbolico * cosh(0) -> 1.0Calculates a hyperbolic cosine of a value * cosh(0) -> 1.0


crc32

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

Calcola l'hash CRC32 di un set di colonne di diversi tipi di dati primitivi, data una lunghezza in bit che può avere solo i valori 0(256), 224, 256, 384 e 512.Calculates the CRC32 hash of set of column of varying primitive datatypes given a bit length which can only be of values 0(256), 224, 256, 384, 512. Può essere usato per calcolare un'impronta digitale per una riga * crc32(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> 3630253689LIt can be used to calculate a fingerprint for a row * crc32(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> 3630253689L


currentDate

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

Ottiene la data corrente quando viene avviata l'esecuzione del processo.Gets the current date when this job starts to run. È possibile passare un fuso orario facoltativo nel formato 'GMT', 'PST', 'UTC', 'America/Cayman'.You can pass an optional timezone in the form of 'GMT', 'PST', 'UTC', 'America/Cayman'. Il fuso orario locale viene usato come valore predefinito. Vedere SimpleDateFormat di Java per i formati disponibili.The local timezone is used as the default.Refer Java's SimpleDateFormat for available formats. "https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * currentDate() == toDate('2250-12-31') -> false"https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * currentDate() == toDate('2250-12-31') -> false

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

currentTimestamp

currentTimestamp() => timestamp

Ottiene il timestamp corrente quando viene avviata l'esecuzione del processo con il fuso orario locale * currentTimestamp() == toTimestamp('2250-12-31 12:12:12') -> falseGets the current timestamp when the job starts to run with local time zone * currentTimestamp() == toTimestamp('2250-12-31 12:12:12') -> false


currentUTC

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

Ottiene il timestamp corrente come ora UTC.Gets the current timestamp as UTC. Se si vuole che l'ora corrente venga interpretata in un fuso orario diverso dal fuso orario del cluster, è possibile passare un fuso orario facoltativo nel formato ' GMT ',' PST ',' UTC ',' America/Cayman '.If you want your current time to be interpreted in a different timezone than your cluster time zone,you can pass an optional timezone in the form of 'GMT', 'PST', 'UTC', 'America/Cayman'. Il valore predefinito è il fuso orario corrente.It is defaulted to the current timezone. Vedere SimpleDateFormat di Java per i formati disponibili.Refer Java's SimpleDateFormat for available formats. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. Per convertire l'ora UTC in un fuso orario diverso, usare fromUTC ()* currentUTC() == toTimestamp('2050-12-12 19:18:12') -> falseTo convert the UTC time to a different timezone use fromUTC() * currentUTC() == toTimestamp('2050-12-12 19:18:12') -> false

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

dayOfMonth

dayOfMonth(<value1> : datetime) => integer

Ottiene il giorno del mese in base a una data specificata * dayOfMonth(toDate('2018-06-08')) -> 8Gets the day of the month given a date * dayOfMonth(toDate('2018-06-08')) -> 8


dayOfWeek

dayOfWeek(<value1> : datetime) => integer

Ottiene il giorno della settimana in base a una data specificata.Gets the day of the week given a date. 1 - domenica, 2 - lunedì ..., 7 - sabato * dayOfWeek(toDate('2018-06-08')) -> 61 - Sunday, 2 - Monday ..., 7 - Saturday * dayOfWeek(toDate('2018-06-08')) -> 6


dayOfYear

dayOfYear(<value1> : datetime) => integer

Ottiene il giorno dell'anno in base a una data specificata * dayOfYear(toDate('2016-04-09')) -> 100Gets the day of the year given a date * dayOfYear(toDate('2016-04-09')) -> 100


days

days(<value1> : integer) => long

Durata in millisecondi per il numero di giorni* days(2) -> 172800000LDuration in milliseconds for number of days * days(2) -> 172800000L


degrees

degrees(<value1> : number) => double

Converte i radianti in gradi* degrees(3.141592653589793) -> 180Converts radians to degrees * degrees(3.141592653589793) -> 180


divide

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

Divide coppie di numeri.Divides pair of numbers. Uguale all'operatore / * divide(20, 10) -> 2Same as the / operator * divide(20, 10) -> 2

  • 20 / 10 -> 2

endsWith

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

Verifica se la stringa termina con la stringa specificata * endsWith('dumbo', 'mbo') -> trueChecks if the string ends with the supplied string * endsWith('dumbo', 'mbo') -> true


equals

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

Operatore equals di confronto.Comparison equals operator. Uguale all'operatore = =* equals(12, 24) -> falseSame as == 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

Operatore equals di confronto senza distinzione tra maiuscole e minuscole.Comparison equals operator ignoring case. Uguale all'operatore <=>* 'abc'<=>'Abc' -> trueSame as <=> operator * 'abc'<=>'Abc' -> true

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

factorial

factorial(<value1> : number) => long

Calcola il fattoriale di un numero * factorial(5) -> 120Calculate the factorial of a number * factorial(5) -> 120


false

false() => boolean

Restituisce sempre un valore false.Always returns a false value. Utilizzare la sintassi della funzione (false ()) se è presente una colonna denominata ' false '* (10 + 20 > 30) -> falseUse the function syntax(false()) if there is a column named 'false' * (10 + 20 > 30) -> false

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

filter

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

Filtra gli elementi dalla matrice che non soddisfano il predicato specificato.Filters elements out of the array that do not meet the provided predicate. Il filtro prevede un riferimento a un elemento nella funzione predicato come #item* filter([1, 2, 3, 4], #item > 2) -> [3, 4]Filter expects a reference to one element in the predicate function as #item * filter([1, 2, 3, 4], #item > 2) -> [3, 4]

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

floor

floor(<value1> : number) => number

Restituisce l'intero più grande non superiore al numero * floor(-0.1) -> -1Returns the largest integer not greater than the number * floor(-0.1) -> -1


fromBase64

fromBase64(<value1> : string) => string

Codifica la stringa specificata in Base64* fromBase64('Z3VuY2h1cw==') -> 'gunchus'Encodes the given string in base64 * fromBase64('Z3VuY2h1cw==') -> 'gunchus'


fromUTC

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

Esegue la conversione al timestamp dall'ora UTC.Converts to the timestamp from UTC. Facoltativamente, è possibile passare il fuso orario nel formato ' GMT ',' PST ',' UTC ',' America/Cayman '.You can optionally pass the timezone in the form of 'GMT', 'PST', 'UTC', 'America/Cayman'. Il valore predefinito è il SimpleDateFormat corrente di timezoneRefer Java per i formati disponibili.It is defaulted to the current timezoneRefer Java's SimpleDateFormat for available formats. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * fromUTC(currentTimeStamp()) == toTimestamp('2050-12-12 19:18:12') -> falsehttps://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * fromUTC(currentTimeStamp()) == toTimestamp('2050-12-12 19:18:12') -> false

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

greater

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

Operatore greater di confronto.Comparison greater operator. Uguale all'operatore >* greater(12, 24) -> falseSame as > 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

Operatore greater than o equal di confronto.Comparison greater than or equal operator. Uguale all'operatore >=* greaterOrEqual(12, 12) -> trueSame as >= operator * greaterOrEqual(12, 12) -> true

  • ('dumbo' >= 'dum') -> true

greatest

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

Restituisce il valore più elevato tra l'elenco di valori come input ignorando i valori null.Returns the greatest value among the list of values as input skipping null values. Restituisce null se tutti gli input sono null * greatest(10, 30, 15, 20) -> 30Returns null if all inputs are null * greatest(10, 30, 15, 20) -> 30

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

hasColumn

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

Verifica la presenza di un valore di colonna in base al nome nel flusso.Checks for a column value by name in the stream. È possibile passare un nome di flusso facoltativo come secondo argomento.You can pass a optional stream name as the second argument. I nomi di colonna noti in fase di progettazione devono essere risolti solo in base al nome.Column names known at design time should be addressed just by their name. Gli input calcolati non sono supportati, ma è possibile usare le sostituzioni di parametro* hasColumn('parent')Computed inputs are not supported but you can use parameter substitutions * hasColumn('parent')


hour

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

Ottiene il valore dell'ora di un timestamp.Gets the hour value of a timestamp. È possibile passare un fuso orario facoltativo nel formato 'GMT', 'PST', 'UTC', 'America/Cayman'.You can pass an optional timezone in the form of 'GMT', 'PST', 'UTC', 'America/Cayman'. Il fuso orario locale viene usato come valore predefinito. Vedere SimpleDateFormat di Java per i formati disponibili.The local timezone is used as the default.Refer Java's SimpleDateFormat for available formats. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * hour(toTimestamp('2009-07-30 12:58:59')) -> 12https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * hour(toTimestamp('2009-07-30 12:58:59')) -> 12

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

hours

hours(<value1> : integer) => long

Durata in millisecondi per il numero di ore* hours(2) -> 7200000LDuration in milliseconds for number of hours * hours(2) -> 7200000L


iif

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

In base alla condizione specifica, applica un valore o l'altro.Based on a condition applies one value or the other. Se other non è specificato, viene considerato NULL.If other is unspecified it is considered NULL. Entrambi i valori devono essere compatibili (valore numerico, stringa e così via) * iif(10 + 20 == 30, 'dumbo', 'gumbo') -> 'dumbo'Both the values must be compatible(numeric, string...) * 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

Controlla se il primo parametro è null.Checks if the first parameter is null. Se non è null, viene restituito il primo parametro.If not null, the first parameter is returned. Se null, viene restituito il secondo parametro.If null, the second parameter is returned. Se vengono specificati tre parametri, il comportamento è lo stesso di IIF (isNull (value1), value2, valore3) e viene restituito il terzo parametro se il primo valore non è null.If three parameters are specified, the behavior is the same as iif(isNull(value1), value2, value3) and the third parameter is returned if the first value is not null.

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

in

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

Verifica se un elemento si trova nella matrice * in([10, 20, 30], 10) -> trueChecks if an item is in the array * in([10, 20, 30], 10) -> true

  • in(['good', 'kid'], 'bad') -> false

initCap

initCap(<value1> : string) => string

Converte la prima lettera di ogni parola in lettere maiuscole.Converts the first letter of every word to uppercase. Le parole vengono identificate in base agli spazi vuoti * initCap('cool iceCREAM') -> 'Cool Icecream'Words are identified as separated by whitespace * initCap('cool iceCREAM') -> 'Cool Icecream'


instr

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

Trova la posizione (in base 1) della sottostringa all'interno di una stringa.Finds the position(1 based) of the substring within a string. Se non trovata, restituisce 0 * instr('dumbo', 'mbo') -> 30 is returned if not found * instr('dumbo', 'mbo') -> 3

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

isDelete

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

Controlla se la riga è contrassegnata per l'eliminazione.Checks if the row is marked for delete. Per le trasformazioni che impiegano più di un flusso di input, è possibile passare l'indice (in base 1) del flusso.For transformations taking more than one input stream you can pass the (1-based) index of the stream. L'indice del flusso deve essere 1 o 2 e il valore predefinito è 1* isDelete()The stream index should be either 1 or 2 and the default value is 1 * isDelete()

  • isDelete(1)

isError

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

Controlla se la riga è contrassegnata come errore.Checks if the row is marked as error. Per le trasformazioni che impiegano più di un flusso di input, è possibile passare l'indice (in base 1) del flusso.For transformations taking more than one input stream you can pass the (1-based) index of the stream. L'indice del flusso deve essere 1 o 2 e il valore predefinito è 1* isError()The stream index should be either 1 or 2 and the default value is 1 * isError()

  • isError(1)

isIgnore

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

Controlla se la riga è contrassegnata per essere ignorata.Checks if the row is marked to be ignored. Per le trasformazioni che impiegano più di un flusso di input, è possibile passare l'indice (in base 1) del flusso.For transformations taking more than one input stream you can pass the (1-based) index of the stream. L'indice del flusso deve essere 1 o 2 e il valore predefinito è 1* isIgnore()The stream index should be either 1 or 2 and the default value is 1 * isIgnore()

  • isIgnore(1)

isInsert

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

Controlla se la riga è contrassegnata per l'inserimento.Checks if the row is marked for insert. Per le trasformazioni che impiegano più di un flusso di input, è possibile passare l'indice (in base 1) del flusso.For transformations taking more than one input stream you can pass the (1-based) index of the stream. L'indice del flusso deve essere 1 o 2 e il valore predefinito è 1* isInsert()The stream index should be either 1 or 2 and the default value is 1 * isInsert()

  • isInsert(1)

isMatch

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

Controlla se per la riga viene trovata una corrispondenza.Checks if the row is matched at lookup. Per le trasformazioni che impiegano più di un flusso di input, è possibile passare l'indice (in base 1) del flusso.For transformations taking more than one input stream you can pass the (1-based) index of the stream. L'indice del flusso deve essere 1 o 2 e il valore predefinito è 1* isMatch()The stream index should be either 1 or 2 and the default value is 1 * isMatch()

  • isMatch(1)

isNull

isNull(<value1> : any) => boolean

Verifica se il valore è NULL * isNull(NULL()) -> trueChecks if the value is NULL * isNull(NULL()) -> true

  • isNull('') -> false

isUpdate

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

Controlla se la riga è contrassegnata per l'aggiornamento.Checks if the row is marked for update. Per le trasformazioni che impiegano più di un flusso di input, è possibile passare l'indice (in base 1) del flusso.For transformations taking more than one input stream you can pass the (1-based) index of the stream. L'indice del flusso deve essere 1 o 2 e il valore predefinito è 1* isUpdate()The stream index should be either 1 or 2 and the default value is 1 * isUpdate()

  • isUpdate(1)

isUpsert

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

Controlla se la riga è contrassegnata per l'inserimento.Checks if the row is marked for insert. Per le trasformazioni che impiegano più di un flusso di input, è possibile passare l'indice (in base 1) del flusso.For transformations taking more than one input stream you can pass the (1-based) index of the stream. L'indice del flusso deve essere 1 o 2 e il valore predefinito è 1* isUpsert()The stream index should be either 1 or 2 and the default value is 1 * isUpsert()

  • isUpsert(1)

lastDayOfMonth

lastDayOfMonth(<value1> : datetime) => date

Ottiene l'ultimo giorno del mese in base a una data specificata * lastDayOfMonth(toDate('2009-01-12')) -> toDate('2009-01-31')Gets the last date of the month given a date * lastDayOfMonth(toDate('2009-01-12')) -> toDate('2009-01-31')


least

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

Operatore lesser than o equal di confronto.Comparison lesser than or equal operator. Uguale all'operatore <=* least(10, 30, 15, 20) -> 10Same as <= 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

Estrae una sottostringa iniziale in corrispondenza dell'indice 1 con il numero di caratteri specificato.Extracts a substring start at index 1 with number of characters. Uguale all'operatore SUBSTRING(str, 1, n) * left('bojjus', 2) -> 'bo'Same as SUBSTRING(str, 1, n) * left('bojjus', 2) -> 'bo'

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

length

length(<value1> : string) => integer

Restituisce la lunghezza della stringa * length('dumbo') -> 5Returns the length of the string * length('dumbo') -> 5


lesser

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

Operatore less di confronto.Comparison less operator. Uguale all'operatore <* lesser(12, 24) -> trueSame as < 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

Operatore lesser than o equal di confronto.Comparison lesser than or equal operator. Uguale all'operatore <=* lesserOrEqual(12, 12) -> trueSame as <= operator * lesserOrEqual(12, 12) -> true

  • ('dumbo' <= 'dum') -> false

levenshtein

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

Ottiene la distanza di Levenshtein tra due stringhe * levenshtein('boys', 'girls') -> 4Gets the levenshtein distance between two strings * levenshtein('boys', 'girls') -> 4


like

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

Il modello è una stringa che corrisponde letteralmente a una stringa.The pattern is a string that is matched literally. Le eccezioni sono i simboli speciali seguenti: _ corrisponde a un carattere qualsiasi nell'input (simile a.The exceptions are the following special symbols: _ matches any one character in the input (similar to . nelle espressioni regolari posix) % corrisponde a zero o più caratteri nell'input (simile a .* nelle espressioni regolari posix).in posix regular expressions) % matches zero or more characters in the input (similar to .* in posix regular expressions). Il carattere di escape è ".The escape character is ''. Se un carattere di escape precede un simbolo speciale o un altro carattere di escape, per il carattere successivo viene stabilita una corrispondenza letterale.If an escape character precedes a special symbol or another escape character, the following character is matched literally. Non è possibile aggiungere caratteri di escape a qualsiasi altro carattere.It is invalid to escape any other character.

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

locate

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

Trova la posizione (in base 1) della sottostringa all'interno di una stringa a partire da una determinata posizione.Finds the position(1 based) of the substring within a string starting a certain position. Se si omette la posizione, viene considerato l'inizio della stringa.If the position is omitted it is considered from the beginning of the string. Se non trovata, restituisce 0 * locate('mbo', 'dumbo') -> 30 is returned if not found * locate('mbo', 'dumbo') -> 3

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

log

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

Calcola il valore del logaritmo.Calculates log value. È possibile specificare una base facoltativa, altrimenti un numero di Eulero, se usato* log(100, 10) -> 2An optional base can be supplied else a Euler number if used * log(100, 10) -> 2


log10

log10(<value1> : number) => double

Calcola il valore del logaritmo in base 10 * log10(100) -> 2Calculates log value based on 10 base * log10(100) -> 2


lower

lower(<value1> : string) => string

Applica il formato minuscolo a tutti i caratteri di una stringa * lower('GunChus') -> 'gunchus'Lowercases a string * lower('GunChus') -> 'gunchus'


lpad

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

Riempie a sinistra la stringa in base al riempimento specificato fino a raggiungere una determinata lunghezza.Left pads the string by the supplied padding until it is of a certain length. Se la stringa è uguale o maggiore della lunghezza, viene ritagliata fino alla lunghezza* lpad('dumbo', 10, '-') -> '-----dumbo'If the string is equal to or greater than the length, then it is trimmed to the length * lpad('dumbo', 10, '-') -> '-----dumbo'

  • lpad('dumbo', 4, '-') -> 'dumb'
    *'' LPAD (' Dumbo ', 8,' <>')->' <><dumbo'``

LTrim

ltrim(<string to trim> : string, [<trim characters> : string]) => string* lpad('dumbo', 8, '<>') -> '<><dumbo'


ltrim

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

Rimuove i caratteri iniziali dal lato sinistro di una stringa.Left trims a string of leading characters. Se il secondo parametro non è specificato, rimuove lo spazio vuoto.If second parameter is unspecified, it trims whitespace. In caso contrario, rimuove qualsiasi carattere specificato nel secondo parametro * ltrim(' dumbo ') -> 'dumbo 'Else it trims any character specified in the second parameter * ltrim(' dumbo ') -> 'dumbo '

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

map

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

Esegue il mapping di ogni elemento della matrice a un nuovo elemento usando l'espressione fornita.Maps each element of the array to a new element using the provided expression. Map prevede un riferimento a un elemento nella funzione Expression come #item* map([1, 2, 3, 4], #item + 2) -> [3, 4, 5, 6]Map expects a reference to one element in the expression function as #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']

mapIndex

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

Esegue il mapping di ogni elemento della matrice a un nuovo elemento usando l'espressione fornita.Maps each element of the array to a new element using the provided expression. Map prevede un riferimento a un elemento nella funzione Expression come #item e un riferimento all'indice dell'elemento come #index* mapIndex([1, 2, 3, 4], #item + 2 + #index) -> [4, 6, 8, 10]Map expects a reference to one element in the expression function as #item and a reference to the element index as #index * mapIndex([1, 2, 3, 4], #item + 2 + #index) -> [4, 6, 8, 10]


md5

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

Calcola il digest MD5 di un set di colonne di diversi tipi di dati primitivi e restituisce una stringa esadecimale a 32 caratteri.Calculates the MD5 digest of set of column of varying primitive datatypes and returns a 32 character hex string. Può essere usato per calcolare un'impronta digitale per una riga * md5(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> '4ce8a880bd621a1ffad0bca905e1bc5a'It can be used to calculate a fingerprint for a row * md5(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> '4ce8a880bd621a1ffad0bca905e1bc5a'


millisecond

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

Ottiene il valore dei millisecondi di una data.Gets the millisecond value of a date. È possibile passare un fuso orario facoltativo nel formato 'GMT', 'PST', 'UTC', 'America/Cayman'.You can pass an optional timezone in the form of 'GMT', 'PST', 'UTC', 'America/Cayman'. Il fuso orario locale viene usato come valore predefinito. Vedere SimpleDateFormat di Java per i formati disponibili.The local timezone is used as the default.Refer Java's SimpleDateFormat for available formats. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * millisecond(toTimestamp('2009-07-30 12:58:59.871', 'yyyy-MM-dd HH:mm:ss.SSS')) -> 871https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * millisecond(toTimestamp('2009-07-30 12:58:59.871', 'yyyy-MM-dd HH:mm:ss.SSS')) -> 871


milliseconds

milliseconds(<value1> : integer) => long

Durata in millisecondi per il numero di millisecondi* milliseconds(2) -> 2LDuration in milliseconds for number of milliseconds * milliseconds(2) -> 2L


minus

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

Sottrae numeri.Subtracts numbers. Sottrarre un numero di giorni da una data.Subtract from a date number of days. Sottrazione della durata da un timestamp.Subtract duration from a timestamp. Sottrarre due timestamp per ottenere la differenza in millisecondi.Subtract two timestamps to get difference in milliseconds. Uguale all'operatore-* minus(20, 10) -> 10Same as the - 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

Ottiene il valore dei minuti di un timestamp.Gets the minute value of a timestamp. È possibile passare un fuso orario facoltativo nel formato 'GMT', 'PST', 'UTC', 'America/Cayman'.You can pass an optional timezone in the form of 'GMT', 'PST', 'UTC', 'America/Cayman'. Il fuso orario locale viene usato come valore predefinito. Vedere SimpleDateFormat di Java per i formati disponibili.The local timezone is used as the default.Refer Java's SimpleDateFormat for available formats. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * minute(toTimestamp('2009-07-30 12:58:59')) -> 58https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * minute(toTimestamp('2009-07-30 12:58:59')) -> 58

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

minutes

minutes(<value1> : integer) => long

Durata in millisecondi per il numero di minuti* minutes(2) -> 120000LDuration in milliseconds for number of minutes * minutes(2) -> 120000L


mod

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

Calcola il modulo di coppie di numeri.Modulus of pair of numbers. Uguale all'operatore%* mod(20, 8) -> 4Same as the % operator * mod(20, 8) -> 4

  • 20 % 8 -> 4

month

month(<value1> : datetime) => integer

Ottiene il valore del mese di una data o di un timestamp * month(toDate('2012-8-8')) -> 8Gets the month value of a date or timestamp * month(toDate('2012-8-8')) -> 8


monthsBetween

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

Ottiene il numero di mesi tra due date.Gets the number of months between two dates. È possibile arrotondare il calcolo. È possibile passare un fuso orario facoltativo nel formato ' GMT ',' PST ',' UTC ',' America/Cayman '.You can round off the calculation.You can pass an optional timezone in the form of 'GMT', 'PST', 'UTC', 'America/Cayman'. Il fuso orario locale viene usato come valore predefinito. Vedere SimpleDateFormat di Java per i formati disponibili.The local timezone is used as the default.Refer Java's SimpleDateFormat for available formats. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * monthsBetween(toTimestamp('1997-02-28 10:30:00'), toDate('1996-10-30')) -> 3.94959677https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * monthsBetween(toTimestamp('1997-02-28 10:30:00'), toDate('1996-10-30')) -> 3.94959677


multiply

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

Moltiplica coppie di numeri.Multiplies pair of numbers. Uguale all'operatore ** multiply(20, 10) -> 200Same as the * operator * multiply(20, 10) -> 200

  • 20 * 10 -> 200

negate

negate(<value1> : number) => number

Nega un numero.Negates a number. Trasforma i numeri positivi in negativi e viceversa * negate(13) -> -13Turns positive numbers to negative and vice versa * negate(13) -> -13


nextSequence

nextSequence() => long

Restituisce la sequenza univoca successiva.Returns the next unique sequence. Il numero è consecutivo solo all'interno di una partizione ed è preceduto da partitionId * nextSequence() == 12313112 -> falseThe number is consecutive only within a partition and is prefixed by the partitionId * nextSequence() == 12313112 -> false


normalize

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

Normalizzare il valore stringa per separare i caratteri Unicode accentati* regexReplace(normalize('bo²s'), `\p{M}`, '') -> 'boys'Normalize the string value to separate accented unicode characters * regexReplace(normalize('bo²s'), `\p{M}`, '') -> 'boys'


not

not(<value1> : boolean) => boolean

Operatore di negazione logica * not(true) -> falseLogical negation operator * not(true) -> false

  • not(10 == 20) -> true

notEquals

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

Operatore not equals di confronto.Comparison not equals operator. Uguale a! = (operatore)* 12 != 24 -> trueSame as != operator * 12 != 24 -> true

  • 'bojjus' != 'bo' + 'jjus' -> false

notNull

notNull(<value1> : any) => boolean

Verifica se il valore non è NULL* notNull(NULL()) -> falseChecks if the value is not NULL * notNull(NULL()) -> false

  • notNull('') -> true

null

null() => null

Restituisce un valore NULL.Returns a NULL value. Usare la sintassi della funzione (null()) se è presente una colonna denominata 'null'.Use the function syntax(null()) if there is a column named 'null'. Qualsiasi operazione usata restituirà un valore NULL * isNull('dumbo' + null) -> trueAny operation that uses will result in a NULL * isNull('dumbo' + null) -> true

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

or

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

Operatore OR logico.Logical OR operator. Uguale a | |* or(true, false) -> trueSame as || * or(true, false) -> true

  • true || false -> true

pMod

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

Calcola il modulo positivo di coppie di numeri.Positive Modulus of pair of numbers.

  • pmod(-20, 8) -> 4

partitionId

partitionId() => integer

Restituisce l'ID di partizione corrente in cui si trova la riga di input* partitionId()Returns the current partition id the input row is in * partitionId()


power

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

Eleva un numero alla potenza di un altro * power(10, 2) -> 100Raises one number to the power of another * power(10, 2) -> 100


reduce

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

Accumula gli elementi in una matrice.Accumulates elements in an array. Il riduttore prevede un riferimento a un accumulatore e un elemento nella prima funzione di espressione come #acc e #item e prevede che il valore risultante sia #result da usare nella seconda funzione di espressione* toString(reduce(['1', '2', '3', '4'], '0', #acc + #item, #result)) -> '01234'Reduce expects a reference to an accumulator and one element in the first expression function as #acc and #item and it expects the resulting value as #result to be used in the second expression function * 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

Estrae una sottostringa corrispondente per un modello di espressione regolare specificato.Extract a matching substring for a given regex pattern. L'ultimo parametro identifica il gruppo di corrispondenza e, se omesso, viene usato il valore predefinito 1.The last parameter identifies the match group and is defaulted to 1 if omitted. Usare <regex> (apice inverso) per trovare una corrispondenza con una stringa senza caratteri di escape * regexExtract('Cost is between 600 and 800 dollars', '(\\d+) and (\\d+)', 2) -> '800'Use <regex>(back quote) to match a string without escaping * 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

Verifica se la stringa corrisponde al modello di espressione regolare specificato.Checks if the string matches the given regex pattern. Usare <regex> (apice inverso) per trovare una corrispondenza con una stringa senza caratteri di escape * regexMatch('200.50', '(\\d+).(\\d+)') -> trueUse <regex>(back quote) to match a string without escaping * 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

Sostituisce tutte le occorrenze di un modello di espressione regolare con un'altra sottostringa nella stringa specificata. Usare <regex> (apice inverso) per trovare una corrispondenza con una stringa senza caratteri di escape * regexReplace('100 and 200', '(\\d+)', 'bojjus') -> 'bojjus and bojjus'Replace all occurrences of a regex pattern with another substring in the given string Use <regex>(back quote) to match a string without escaping * 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

Suddivide una stringa in base a un delimitatore basato su un'espressione regolare e restituisce una matrice di stringhe * regexSplit('bojjusAgunchusBdumbo', `[CAB]`) -> ['bojjus', 'gunchus', 'dumbo']Splits a string based on a delimiter based on regex and returns an array of strings * 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

Sostituire tutte le occorrenze di una sottostringa con un'altra sottostringa nella stringa specificata.Replace all occurrences of a substring with another substring in the given string. Se l'ultimo parametro viene omesso, il valore predefinito è una stringa vuota* replace('doggie dog', 'dog', 'cat') -> 'catgie cat'If the last parameter is omitted, it is default to empty string * replace('doggie dog', 'dog', 'cat') -> 'catgie cat'

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

reverse

reverse(<value1> : string) => string

Inverte una stringa * reverse('gunchus') -> 'suhcnug'Reverses a string * reverse('gunchus') -> 'suhcnug'


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

Estrae una sottostringa finale con il numero di caratteri specificato.Extracts a substring with number of characters from the right. Uguale all'operatore SUBSTRING(str, LENGTH(str) - n, n) * right('bojjus', 2) -> 'us'Same as SUBSTRING(str, LENGTH(str) - n, n) * right('bojjus', 2) -> 'us'

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

rlike

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

Controlla se la stringa corrisponde al modello Regex specificato* rlike('200.50', `(\d+).(\d+)`) -> trueChecks if the string matches the given regex pattern * rlike('200.50', `(\d+).(\d+)`) -> true

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

round

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

Arrotonda un numero in base a una scala facoltativa e una modalità di arrotondamento facoltativa.Rounds a number given an optional scale and an optional rounding mode. Se la scala viene omessa, il valore predefinito è 0.If the scale is omitted, it is defaulted to 0. Se la modalità viene omessa, il valore predefinito è ROUND_HALF_UP (5).If the mode is omitted, it is defaulted to ROUND_HALF_UP(5). I valori per l'arrotondamento includono 1 - ROUND_UP 2 - ROUND_DOWN 3 - ROUND_CEILING 4 - ROUND_FLOOR 5 - ROUND_HALF_UP 6 - ROUND_HALF_DOWN 7 - ROUND_HALF_EVEN 8 - ROUND_UNNECESSARY * round(100.123) -> 100.0The values for rounding include 1 - ROUND_UP 2 - ROUND_DOWN 3 - ROUND_CEILING 4 - ROUND_FLOOR 5 - ROUND_HALF_UP 6 - ROUND_HALF_DOWN 7 - ROUND_HALF_EVEN 8 - ROUND_UNNECESSARY * round(100.123) -> 100.0

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

rpad

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

Riempie a destra la stringa in base al riempimento specificato fino a raggiungere una determinata lunghezza.Right pads the string by the supplied padding until it is of a certain length. Se la stringa è uguale o maggiore della lunghezza, viene ritagliata fino alla lunghezza* rpad('dumbo', 10, '-') -> 'dumbo-----'If the string is equal to or greater than the length, then it is trimmed to the length * rpad('dumbo', 10, '-') -> 'dumbo-----'

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

rtrimRTRIM

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

rtrimrtrim

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

Rimuove i caratteri finali dal lato destro di una stringa.Right trims a string of leading characters. Se il secondo parametro non è specificato, rimuove lo spazio vuoto.If second parameter is unspecified, it trims whitespace. In caso contrario, rimuove qualsiasi carattere specificato nel secondo parametro * rtrim(' dumbo ') -> ' dumbo'Else it trims any character specified in the second parameter * rtrim(' dumbo ') -> ' dumbo'

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

second

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

Ottiene il valore dei secondi di una data.Gets the second value of a date. È possibile passare un fuso orario facoltativo nel formato 'GMT', 'PST', 'UTC', 'America/Cayman'.You can pass an optional timezone in the form of 'GMT', 'PST', 'UTC', 'America/Cayman'. Il fuso orario locale viene usato come valore predefinito. Vedere SimpleDateFormat di Java per i formati disponibili.The local timezone is used as the default.Refer Java's SimpleDateFormat for available formats. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * second(toTimestamp('2009-07-30 12:58:59')) -> 59https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * second(toTimestamp('2009-07-30 12:58:59')) -> 59


seconds

seconds(<value1> : integer) => long

Durata in millisecondi per il numero di secondi* seconds(2) -> 2000LDuration in milliseconds for number of seconds * seconds(2) -> 2000L


sha1

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

Calcola il digest SHA-1 di un set di colonne di diversi tipi di dati primitivi e restituisce una stringa esadecimale a 40 caratteri.Calculates the SHA-1 digest of set of column of varying primitive datatypes and returns a 40 character hex string. Può essere usato per calcolare un'impronta digitale per una riga * sha1(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> '46d3b478e8ec4e1f3b453ac3d8e59d5854e282bb'It can be used to calculate a fingerprint for a row * sha1(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> '46d3b478e8ec4e1f3b453ac3d8e59d5854e282bb'


sha2

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

Calcola il digest SHA-2 del set di colonne di tipi di dati primitivi variabili in base a una lunghezza di bit che può essere solo di valori 0 (256), 224, 256, 384, 512.Calculates the SHA-2 digest of set of column of varying primitive datatypes given a bit length which can only be of values 0(256), 224, 256, 384, 512. Può essere usato per calcolare un'impronta digitale per una riga * sha2(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> 'afe8a553b1761c67d76f8c31ceef7f71b66a1ee6f4e6d3b5478bf68b47d06bd3'It can be used to calculate a fingerprint for a row * sha2(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> 'afe8a553b1761c67d76f8c31ceef7f71b66a1ee6f4e6d3b5478bf68b47d06bd3'


sin

sin(<value1> : number) => double

Calcola il valore del seno * sin(2) -> 0.9092974268256817Calculates a sine value * sin(2) -> 0.9092974268256817


sinh

sinh(<value1> : number) => double

Calcola il valore del seno iperbolico * sinh(0) -> 0.0Calculates a hyperbolic sine value * sinh(0) -> 0.0


slice

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

Estrae un subset di una matrice da una posizione.Extracts a subset of an array from a position. La posizione è in base 1.Position is 1 based. Se la lunghezza viene omessa, per impostazione predefinita viene estratta la parte finale della stringa * slice([10, 20, 30, 40], 1, 2) -> [10, 20]If the length is omitted, it is defaulted to end of the 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

Ordina la matrice utilizzando la funzione di predicato fornita.Sorts the array using the provided predicate function. Sort prevede un riferimento a due elementi consecutivi nella funzione Expression come #item1 e #item2* sort([4, 8, 2, 3], compare(#item1, #item2)) -> [2, 3, 4, 8]Sort expects a reference to two consecutive elements in the expression function as #item1 and #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

Ottiene il codice soundex per la stringa * soundex('genius') -> 'G520'Gets the soundex code for the string * soundex('genius') -> 'G520'


split

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

Suddivide una stringa in base a un delimitatore e restituisce una matrice di stringhe * split('bojjus,guchus,dumbo', ',') -> ['bojjus', 'guchus', 'dumbo']Splits a string based on a delimiter and returns an array of strings * 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

Calcola la radice quadrata di un numero * sqrt(9) -> 3Calculates the square root of a number * sqrt(9) -> 3


startsWith

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

Verifica se la stringa inizia con la stringa specificata * startsWith('dumbo', 'du') -> trueChecks if the string starts with the supplied string * startsWith('dumbo', 'du') -> true


subDays

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

Sottrarre i mesi da una data o un timestamp.Subtract months from a date or timestamp. Uguale all'operatore-per date* subDays(toDate('2016-08-08'), 1) -> toDate('2016-08-07')Same as the - operator for date * subDays(toDate('2016-08-08'), 1) -> toDate('2016-08-07')


subMonths

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

Sottrae mesi da una data o da un timestamp * subMonths(toDate('2016-09-30'), 1) -> toDate('2016-08-31')Subtract months from a date or timestamp * 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

Estrae una sottostringa di una determinata lunghezza da una posizione.Extracts a substring of a certain length from a position. La posizione è in base 1.Position is 1 based. Se la lunghezza viene omessa, per impostazione predefinita viene estratta la parte finale della stringa * substring('Cat in the hat', 5, 2) -> 'in'If the length is omitted, it is defaulted to end of the string * 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) -> ''

tan

tan(<value1> : number) => double

Calcola il valore della tangente * tan(0) -> 0.0Calculates a tangent value * tan(0) -> 0.0


tanh

tanh(<value1> : number) => double

Calcola il valore della tangente iperbolica * tanh(0) -> 0.0Calculates a hyperbolic tangent value * tanh(0) -> 0.0


toBase64

toBase64(<value1> : string) => string

Codifica la stringa specificata in Base64* toBase64('bojjus') -> 'Ym9qanVz'Encodes the given string in base64 * toBase64('bojjus') -> 'Ym9qanVz'


toBinary

toBinary(<value1> : any) => binary

Converte qualsiasi stringa numerica/data/timestamp/stringa in una rappresentazione binaria* toBinary(3) -> [0x11]Converts any numeric/date/timestamp/string to binary representation * toBinary(3) -> [0x11]


toBoolean

toBoolean(<value1> : string) => boolean

Converte un valore ('t', 'true', 'y', 'yes', '1') in true e un valore ('f', 'false', 'n', 'no', '0') in false e NULL per qualsiasi altro valore * toBoolean('true') -> trueConverts a value of ('t', 'true', 'y', 'yes', '1') to true and ('f', 'false', 'n', 'no', '0') to false and NULL for any other value * toBoolean('true') -> true

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

toDate

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

Converte la stringa di data di input in date utilizzando un formato di data di input facoltativo.Converts input date string to date using an optional input date format. Vedere SimpleDateFormat di Java per i formati disponibili.Refer Java's SimpleDateFormat for available formats. Se il formato della data di input viene omesso, il formato predefinito è aaaa-[M] M-[d] d.If the input date format is omitted, default format is yyyy-[M]M-[d]d. Formati accettati: [aaaa, aaaa-[M] M, aaaa-[M] M-[d] d, aaaa-[M] M-[d] dT ] toDate('2012-8-18') -> toDate('2012-08-18')Accepted formats are :[ 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)

Converte un valore numerico o stringa in un valore decimale.Converts any numeric or string to a decimal value. Se precisione e scalabilità non sono specificate, per la conversione viene usato il valore predefinito (10,2). Per la conversione è possibile usare un formato decimale Java facoltativo.If precision and scale are not specified, it is defaulted to (10,2).An optional Java decimal format can be used for the conversion. Un formato facoltativo per le impostazioni locali sotto forma di linguaggio BCP47, ad esempio en-US, de, zh-CN* toDecimal(123.45) -> 123.45An optional locale format in the form of BCP47 language like en-US, de, zh-CN * toDecimal(123.45) -> 123.45

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

toDouble

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

Converte un valore numerico o stringa in un valore double.Converts any numeric or string to a double value. Per la conversione è possibile usare un formato decimale Java facoltativo.An optional Java decimal format can be used for the conversion. Un formato facoltativo per le impostazioni locali sotto forma di linguaggio BCP47, ad esempio en-US, de, zh-CN* toDouble(123.45) -> 123.45An optional locale format in the form of BCP47 language like en-US, de, zh-CN * toDouble(123.45) -> 123.45

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

toFloat

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

Converte un valore numerico o stringa in un valore float.Converts any numeric or string to a float value. Per la conversione è possibile usare un formato decimale Java facoltativo.An optional Java decimal format can be used for the conversion. Tronca qualsiasi valore Double* toFloat(123.45) -> 123.45fTruncates any double * 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

Converte qualsiasi valore numerico o stringa in un valore integer.Converts any numeric or string to an integer value. Per la conversione è possibile usare un formato decimale Java facoltativo.An optional Java decimal format can be used for the conversion. Tronca qualsiasi tipo Long, float, Double* toInteger(123) -> 123Truncates any long, float, double * toInteger(123) -> 123

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

toLong

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

Converte un valore numerico o stringa in un valore long.Converts any numeric or string to a long value. Per la conversione è possibile usare un formato decimale Java facoltativo.An optional Java decimal format can be used for the conversion. Tronca gli eventuali valori float, Double* toLong(123) -> 123Truncates any float, double * toLong(123) -> 123

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

toShort

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

Converte un valore numerico o stringa in un valore short.Converts any numeric or string to a short value. Per la conversione è possibile usare un formato decimale Java facoltativo.An optional Java decimal format can be used for the conversion. Tronca qualsiasi Integer, Long, float, Double* toShort(123) -> 123Truncates any integer, long, float, double * toShort(123) -> 123

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

toString

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

Converte un tipo di dati primitivo in una stringa.Converts a primitive datatype to a string. Per numeri e date è possibile specificare un formato.For numbers and date a format can be specified. Se non è specificato, viene selezionato il valore predefinito del sistema. Per i numeri viene usato il formato decimale Java.If unspecified the system default is picked.Java decimal format is used for numbers. Vedere SimpleDateFormat Java per tutti i formati di data possibili; il formato predefinito è AAAA-MM-GG* toString(10) -> '10'Refer to Java SimpleDateFormat for all possible date formats; the default format is yyyy-MM-dd * toString(10) -> '10'

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

toTimestamp

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

Converte una stringa in un timestamp in base a un formato timestamp facoltativo.Converts a string to a timestamp given an optional timestamp format. Vedere Java SimpleDateFormat per tutti i formati possibili.Refer to Java SimpleDateFormat for all possible formats. Se il timestamp viene omesso, viene utilizzato il modello predefinito. aaaa-[M] M-[d] d HH: mm: SS [. f...].If the timestamp is omitted the default pattern.yyyy-[M]M-[d]d hh:mm:ss[.f...] is used. È possibile passare un fuso orario facoltativo nel formato ' GMT ',' PST ',' UTC ',' America/Cayman '. Timestamp supporta la precisione fino a millisecondo con il valore di SimpleDateFormat di 999Refer Java per i formati disponibili.You can pass an optional timezone in the form of 'GMT', 'PST', 'UTC', 'America/Cayman'.Timestamp supports up to millisecond accuracy with value of 999Refer Java's SimpleDateFormat for available formats. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * toTimestamp('2016-12-31 00:12:00') -> toTimestamp('2016-12-31 00:12:00')https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * toTimestamp('2016-12-31 00:12:00') -> toTimestamp('2016-12-31 00:12:00')

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

toUTC

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

Converte il timestamp in UTC.Converts the timestamp to UTC. È possibile passare un fuso orario facoltativo nel formato 'GMT', 'PST', 'UTC', 'America/Cayman'.You can pass an optional timezone in the form of 'GMT', 'PST', 'UTC', 'America/Cayman'. Il valore predefinito è il SimpleDateFormat corrente di timezoneRefer Java per i formati disponibili.It is defaulted to the current timezoneRefer Java's SimpleDateFormat for available formats. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * toUTC(currentTimeStamp()) == toTimestamp('2050-12-12 19:18:12') -> falsehttps://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html * toUTC(currentTimeStamp()) == toTimestamp('2050-12-12 19:18:12') -> false

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

translate

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

Sostituisce un set di caratteri con un altro set di caratteri nella stringa.Replace one set of characters by another set of characters in the string. Viene eseguita una sostituzione da 1 a 1 * translate('(bojjus)', '()', '[]') -> '[bojjus]'Characters have 1 to 1 replacement * translate('(bojjus)', '()', '[]') -> '[bojjus]'

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

trim

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

Rimuove i caratteri iniziali e finali di una stringa.Trims a string of leading and trailing characters. Se il secondo parametro non è specificato, rimuove lo spazio vuoto.If second parameter is unspecified, it trims whitespace. In caso contrario, rimuove qualsiasi carattere specificato nel secondo parametro * trim(' dumbo ') -> 'dumbo'Else it trims any character specified in the second parameter * trim(' dumbo ') -> 'dumbo'

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

true

true() => boolean

Restituisce sempre un valore true.Always returns a true value. Usare la sintassi della funzione (true ()) se è presente una colonna denominata ' true '* (10 + 20 == 30) -> trueUse the function syntax(true()) if there is a column named 'true' * (10 + 20 == 30) -> true

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

typeMatch

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

Trova corrispondenze tra tipi di colonne.Matches the type of the column. Può essere usato solo nelle espressioni di modello. number trova corrispondenze con short, integer, long, double, float o decimal; integral trova corrispondenze con short, integer o long; fractional trova corrispondenze con double, float o decimal; datetime trova corrispondenze con il tipo date o timestamp * typeMatch(type, 'number')Can only be used in pattern expressions.number matches short, integer, long, double, float or decimal, integral matches short, integer, long, fractional matches double, float, decimal and datetime matches date or timestamp type * typeMatch(type, 'number')

  • typeMatch('date', 'datetime')

upper

upper(<value1> : string) => string

Applica il formato maiuscolo a tutti i caratteri di una stringa * upper('bojjus') -> 'BOJJUS'Uppercases a string * upper('bojjus') -> 'BOJJUS'


uuid

uuid() => string

Restituisce l'UUID generato* uuid()Returns the generated UUID * uuid()


weekOfYear

weekOfYear(<value1> : datetime) => integer

Ottiene la settimana dell'anno in base a una data specificata * weekOfYear(toDate('2008-02-20')) -> 8Gets the week of the year given a date * weekOfYear(toDate('2008-02-20')) -> 8


weeks

weeks(<value1> : integer) => long

Durata in millisecondi per il numero di settimane* weeks(2) -> 1209600000LDuration in milliseconds for number of weeks * weeks(2) -> 1209600000L


xor

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

Operatore XOR logico.Logical XOR operator. Uguale all'operatore ^ * xor(true, false) -> trueSame as ^ operator * xor(true, false) -> true

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

year

year(<value1> : datetime) => integer

Ottiene il valore dell'anno di una data * year(toDate('2012-8-8')) -> 2012Gets the year value of a date * year(toDate('2012-8-8')) -> 2012
##Funzioni di aggregazione le funzioni seguenti sono disponibili solo nelle trasformazioni aggregate, pivot, UNPIVOT e Window___

avg

avg(<value1> : number) => number## Aggregate functions The following functions are only available in aggregate, pivot, unpivot, and window transformations ___

avg

avg(<value1> : number) => number

Ottiene la media dei valori di una colonna * avg(sales)Gets the average of values of a column * avg(sales)


avgIf

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

In base a un criterio, ottiene la media dei valori di una colonna * avgIf(region == 'West', sales)Based on a criteria gets the average of values of a column * avgIf(region == 'West', sales)


count

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

Ottiene il conteggio aggregato dei valori.Gets the aggregate count of values. Se vengono specificate le colonne facoltative, i valori NULL vengono ignorati dal conteggio * count(custId)If the optional column(s) is specified, it ignores NULL values in the count * count(custId)

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

countDistinct

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

Ottiene il conteggio aggregato di valori distinti di un set di colonne * countDistinct(custId, custName)Gets the aggregate count of distinct values of a set of columns * countDistinct(custId, custName)


countIf

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

In base a un criterio, ottiene il conteggio aggregato dei valori.Based on a criteria gets the aggregate count of values. Se viene specificata la colonna facoltativa, i valori NULL vengono ignorati dal conteggio * countIf(state == 'CA' && commission < 10000, name)If the optional column is specified, it ignores NULL values in the count * countIf(state == 'CA' && commission < 10000, name)


covariancePopulation

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

Ottiene la covarianza della popolazione tra due colonne * covariancePopulation(sales, profit)Gets the population covariance between two columns * covariancePopulation(sales, profit)


covariancePopulationIf

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

In base a un criterio, ottiene la covarianza della popolazione di due colonne * covariancePopulationIf(region == 'West', sales)Based on a criteria, gets the population covariance of two columns * covariancePopulationIf(region == 'West', sales)


covarianceSample

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

Ottiene la covarianza campionaria di due colonne * covarianceSample(sales, profit)Gets the sample covariance of two columns * covarianceSample(sales, profit)


covarianceSampleIf

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

In base a un criterio, ottiene la covarianza campionaria di due colonne * covarianceSampleIf(region == 'West', sales, profit)Based on a criteria, gets the sample covariance of two columns * covarianceSampleIf(region == 'West', sales, profit)


first

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

Ottiene il primo valore di un gruppo di colonne.Gets the first value of a column group. Se il secondo parametro ignoreNulls viene omesso, si presuppone che sia false * first(sales)If the second parameter ignoreNulls is omitted, it is assumed false * first(sales)

  • first(sales, false)

kurtosis

kurtosis(<value1> : number) => double

Ottiene la curtosi di una colonna * kurtosis(sales)Gets the kurtosis of a column * kurtosis(sales)


kurtosisIf

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

In base a un criterio, ottiene la curtosi di una colonna * kurtosisIf(region == 'West', sales)Based on a criteria, gets the kurtosis of a column * kurtosisIf(region == 'West', sales)


last

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

Ottiene l'ultimo valore di un gruppo di colonne.Gets the last value of a column group. Se il secondo parametro ignoreNulls viene omesso, si presuppone che sia false * last(sales)If the second parameter ignoreNulls is omitted, it is assumed false * last(sales)

  • last(sales, false)

max

max(<value1> : any) => any

Ottiene il valore massimo di una colonna * max(sales)Gets the maximum value of a column * max(sales)


maxIf

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

In base a un criterio, ottiene il valore massimo di una colonna * maxIf(region == 'West', sales)Based on a criteria, gets the maximum value of a column * maxIf(region == 'West', sales)


mean

mean(<value1> : number) => number

Ottiene la media dei valori di una colonna.Gets the mean of values of a column. Uguale all'operatore AVG * mean(sales)Same as AVG * mean(sales)


meanIf

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

In base a un criterio, ottiene la media dei valori di una colonna.Based on a criteria gets the mean of values of a column. Uguale all'operatore AVGLF * meanIf(region == 'West', sales)Same as avgIf * meanIf(region == 'West', sales)


min

min(<value1> : any) => any

Ottiene il valore minimo di una colonna * min(sales)Gets the minimum value of a column * min(sales)


minIf

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

In base a un criterio, ottiene il valore minimo di una colonna * minIf(region == 'West', sales)Based on a criteria, gets the minimum value of a column * minIf(region == 'West', sales)


skewness

skewness(<value1> : number) => double

Ottiene l'asimmetria di una colonna * skewness(sales)Gets the skewness of a column * skewness(sales)


skewnessIf

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

In base a un criterio, ottiene l'asimmetria di una colonna * skewnessIf(region == 'West', sales)Based on a criteria, gets the skewness of a column * skewnessIf(region == 'West', sales)


stddev

stddev(<value1> : number) => double

Ottiene la deviazione standard di una colonna * stdDev(sales)Gets the standard deviation of a column * stdDev(sales)


stddevIf

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

In base a un criterio, ottiene la deviazione standard di una colonna * stddevIf(region == 'West', sales)Based on a criteria, gets the standard deviation of a column * stddevIf(region == 'West', sales)


stddevPopulation

stddevPopulation(<value1> : number) => double

Ottiene la deviazione standard della popolazione di una colonna * stddevPopulation(sales)Gets the population standard deviation of a column * stddevPopulation(sales)


stddevPopulationIf

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

In base a un criterio, ottiene la deviazione standard della popolazione di una colonna * stddevPopulationIf(region == 'West', sales)Based on a criteria, gets the population standard deviation of a column * stddevPopulationIf(region == 'West', sales)


stddevSample

stddevSample(<value1> : number) => double

Ottiene la deviazione standard campionaria di una colonna * stddevSample(sales)Gets the sample standard deviation of a column * stddevSample(sales)


stddevSampleIf

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

In base a un criterio, ottiene la deviazione standard campionaria di una colonna * stddevSampleIf(region == 'West', sales)Based on a criteria, gets the sample standard deviation of a column * stddevSampleIf(region == 'West', sales)


sum

sum(<value1> : number) => number

Ottiene la somma aggregata di una colonna numerica * sum(col)Gets the aggregate sum of a numeric column * sum(col)


sumDistinct

sumDistinct(<value1> : number) => number

Ottiene la somma aggregata di valori distinti di una colonna numerica * sumDistinct(col)Gets the aggregate sum of distinct values of a numeric column * sumDistinct(col)


sumDistinctIf

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

In base a criteri, ottiene la somma aggregata di una colonna numerica.Based on criteria gets the aggregate sum of a numeric column. La condizione può essere basata su qualsiasi colonna * sumDistinctIf(state == 'CA' && commission < 10000, sales)The condition can be based on any column * sumDistinctIf(state == 'CA' && commission < 10000, sales)

  • sumDistinctIf(true, sales)

sumIf

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

In base a criteri, ottiene la somma aggregata di una colonna numerica.Based on criteria gets the aggregate sum of a numeric column. La condizione può essere basata su qualsiasi colonna * sumIf(state == 'CA' && commission < 10000, sales)The condition can be based on any column * sumIf(state == 'CA' && commission < 10000, sales)

  • sumIf(true, sales)

variance

variance(<value1> : number) => double

Ottiene la varianza di una colonna * variance(sales)Gets the variance of a column * variance(sales)


varianceIf

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

In base a un criterio, ottiene la varianza di una colonna * varianceIf(region == 'West', sales)Based on a criteria, gets the variance of a column * varianceIf(region == 'West', sales)


variancePopulation

variancePopulation(<value1> : number) => double

Ottiene la varianza della popolazione di una colonna * variancePopulation(sales)Gets the population variance of a column * variancePopulation(sales)


variancePopulationIf

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

In base a un criterio, ottiene la varianza della popolazione di una colonna * variancePopulationIf(region == 'West', sales)Based on a criteria, gets the population variance of a column * variancePopulationIf(region == 'West', sales)


varianceSample

varianceSample(<value1> : number) => double

Ottiene la varianza imparziale di una colonna * varianceSample(sales)Gets the unbiased variance of a column * varianceSample(sales)


varianceSampleIf

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

In base a un criterio, ottiene la varianza imparziale di una colonna * varianceSampleIf(region == 'West', sales)Based on a criteria, gets the unbiased variance of a column * varianceSampleIf(region == 'West', sales)
##Funzioni finestra le funzioni seguenti sono disponibili solo nelle trasformazioni finestra___

cumeDist

cumeDist() => integer## Window functions The following functions are only available in window transformations ___

cumeDist

cumeDist() => integer

La funzione CumeDist calcola la posizione di un valore rispetto a tutti i valori nella partizione.The CumeDist function computes the position of a value relative to all values in the partition. Il risultato è il numero di righe precedenti o uguali alla riga corrente nell'ordinamento della partizione diviso per il numero totale di righe nella partizione di finestra.The result is the number of rows preceding or equal to the current row in the ordering of the partition divided by the total number of rows in the window partition. Qualsiasi valore Tie nell'ordinamento restituirà la stessa posizione.Any tie values in the ordering will evaluate to the same position.

  • cumeDist()

denseRank

denseRank() => integer

Calcola il rango di un valore in un gruppo di valori specificato nella clausola ORDER BY di una finestra.Computes the rank of a value in a group of values specified in a window's order by clause. Come risultato si ha uno più il numero di righe precedenti o uguali alla riga corrente nell'ordinamento della partizione.The result is one plus the number of rows preceding or equal to the current row in the ordering of the partition. I valori non produrranno spazi nella sequenza.The values will not produce gaps in the sequence. La funzione denseRank può essere eseguita anche quando i dati non sono ordinati e cerca eventuali variazioni dei valori * denseRank()Dense Rank works even when data is not sorted and looks for change in values * denseRank()


lag

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

Ottiene il valore del primo parametro valutato in n righe prima della riga corrente.Gets the value of the first parameter evaluated n rows before the current row. Il secondo parametro è il numero di righe di cui eseguire la ricerca e il valore predefinito è 1.The second parameter is the number of rows to look back and the default value is 1. Se il numero di righe è ridotto, viene restituito un valore null a meno che non sia specificato un valore predefinito * lag(amount, 2)If there are not as many rows a value of null is returned unless a default value is specified * lag(amount, 2)

  • lag(amount, 2000, 100)

lead

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

Ottiene il valore del primo parametro valutato in n righe dopo la riga corrente.Gets the value of the first parameter evaluated n rows after the current row. Il secondo parametro è il numero di righe da ricercare e il valore predefinito è 1.The second parameter is the number of rows to look forward and the default value is 1. Se il numero di righe è ridotto, viene restituito un valore null a meno che non sia specificato un valore predefinito * lead(amount, 2)If there are not as many rows a value of null is returned unless a default value is specified * lead(amount, 2)

  • lead(amount, 2000, 100)

nTile

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

La funzione NTile divide le righe per ogni partizione di finestra in n bucket compresi tra 1 e un valore massimo n.The NTile function divides the rows for each window partition into n buckets ranging from 1 to at most n. I valori dei bucket si differenzieranno per un massimo di 1.Bucket values will differ by at most 1. Se il numero di righe nella partizione non può essere diviso equamente in base al numero di bucket, i valori rimanenti verranno distribuiti uno per bucket, a partire dal primo bucket.If the number of rows in the partition does not divide evenly into the number of buckets, then the remainder values are distributed one per bucket, starting with the first bucket. La funzione NTile è utile per il calcolo di tertiles, quartili, decili e altre statistiche di riepilogo comuni.The NTile function is useful for the calculation of tertiles, quartiles, deciles, and other common summary statistics. La funzione calcola due variabili durante l'inizializzazione: alla dimensione di un bucket regolare verrà aggiunta una riga aggiuntiva.The function calculates two variables during initialization: The size of a regular bucket will have one extra row added to it. Entrambe le variabili si basano sulle dimensioni della partizione corrente.Both variables are based on the size of the current partition. Durante il processo di calcolo, la funzione tiene traccia del numero di righe corrente, del numero di bucket corrente e del numero di righe in corrispondenza del quale il bucket cambierà (bucketThreshold).During the calculation process the function keeps track of the current row number, the current bucket number, and the row number at which the bucket will change (bucketThreshold). Quando il numero di righe corrente raggiunge la soglia del bucket, il valore del bucket viene incrementato di uno e la soglia viene aumentata in base alla dimensione del bucket (più un valore aggiuntivo, in caso di riempimento del bucket corrente).When the current row number reaches bucket threshold, the bucket value is increased by one and the threshold is increased by the bucket size (plus one extra if the current bucket is padded).

  • nTile()
  • nTile(numOfBuckets)

rank

rank() => integer

Calcola il rango di un valore in un gruppo di valori specificato nella clausola ORDER BY di una finestra.Computes the rank of a value in a group of values specified in a window's order by clause. Come risultato si ha uno più il numero di righe precedenti o uguali alla riga corrente nell'ordinamento della partizione.The result is one plus the number of rows preceding or equal to the current row in the ordering of the partition. I valori produrranno spazi nella sequenza.The values will produce gaps in the sequence. La funzione rank può essere eseguita anche quando i dati non sono ordinati e cerca eventuali variazioni dei valori * rank()Rank works even when data is not sorted and looks for change in values * rank()


rowNumber

rowNumber() => integer

Assegna una numerazione sequenziale alle righe in una finestra a partire da 1 * rowNumber()Assigns a sequential row numbering for rows in a window starting with 1 * rowNumber()

Passaggi successiviNext steps

Informazioni su come usare il generatore di espressioni.Learn how to use Expression Builder.