Användning av datatransformeringsuttryck i mappning av dataflöden
GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics
Dricks
Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!
Dataflöden är tillgängliga både i Azure Data Factory och Azure Synapse Pipelines. Den här artikeln gäller för mappning av dataflöden. Om du är nybörjare på transformeringar kan du läsa den inledande artikeln Transformera data med hjälp av ett mappningsdataflöde.
Följande artiklar innehåller information om användningen av alla uttryck och funktioner som stöds av Azure Data Factory och Azure Synapse Analytics i mappning av dataflöden. Sammanfattningar av varje typ av funktion som stöds finns i följande artiklar:
- Mängdfunktioner
- Matrisfunktioner
- Cachelagrade uppslagsfunktioner
- Konverteringsfunktioner
- Översikt över datum- och tidsfunktioner
- Uttrycksfunktioner
- Kartfunktioner
- Metafunktioner
- Fönsterfunktioner
Alfabetisk lista över alla funktioner
Följande är en alfabetisk lista över alla funktioner som är tillgängliga i mappning av dataflöden.
A
abs
abs(<value1> : number) => number
Absolut värde för ett tal.
abs(-20) -> 20
abs(10) -> 10
acos
acos(<value1> : number) => double
Beräknar ett inverteringsvärde för cosinéer.
acos(1) -> 0.0
add
add(<value1> : any, <value2> : any) => any
Lägger till ett par strängar eller siffror. Lägger till ett datum i många dagar. Lägger till en varaktighet i en tidsstämpel. Lägger till en matris av liknande typ till en annan. Samma som operatorn + .
add(10, 20) -> 30
10 + 20 -> 30
add('ice', 'cream') -> 'icecream'
'ice' + 'cream' + ' cone' -> 'icecream cone'
add(toDate('2012-12-12'), 3) -> toDate('2012-12-15')
toDate('2012-12-12') + 3 -> toDate('2012-12-15')
[10, 20] + [30, 40] -> [10, 20, 30, 40]
toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS') + (days(1) + hours(2) - seconds(10)) -> toTimestamp('2019-02-04 07:19:18.871', 'yyyy-MM-dd HH:mm:ss.SSS')
addDays
addDays(<date/timestamp> : datetime, <days to add> : integral) => datetime
Lägg till dagar i ett datum eller en tidsstämpel. Samma som operatorn + för datum.
addDays(toDate('2016-08-08'), 1) -> toDate('2016-08-09')
addMonths
addMonths(<date/timestamp> : datetime, <months to add> : integral, [<value3> : string]) => datetime
Lägg till månader i ett datum eller en tidsstämpel. Du kan också skicka en tidszon.
addMonths(toDate('2016-08-31'), 1) -> toDate('2016-09-30')
addMonths(toTimestamp('2016-09-30 10:10:10'), -1) -> toTimestamp('2016-08-31 10:10:10')
and
and(<value1> : boolean, <value2> : boolean) => boolean
Logisk AND-operator. Samma som &&.
and(true, false) -> false
true && false -> false
approxDistinctCount
approxDistinctCount(<value1> : any, [ <value2> : double ]) => long
Hämtar det ungefärliga mängdantalet distinkta värden för en kolumn. Den valfria andra parametern är att kontrollera uppskattningsfelet.
approxDistinctCount(ProductID, .05) => long
array
array([<value1> : any], ...) => array
Skapar en matris med objekt. Alla objekt ska vara av samma typ. Om inga objekt anges är en tom strängmatris standard. Samma som en [] skapandeoperator.
array('Seattle', 'Washington')
['Seattle', 'Washington']
['Seattle', 'Washington'][1]
'Washington'
ascii
ascii(<Input> : string) => number
Returnerar det numeriska värdet för indatatecknet. Om indatasträngen har mer än ett tecken returneras det numeriska värdet för det första tecknet
ascii('A') -> 65
ascii('a') -> 97
asin
asin(<value1> : number) => double
Beräknar ett invertera sinusvärde.
asin(0) -> 0.0
assertErrorMessages
assertErrorMessages() => map
Returnerar en karta över alla felmeddelanden för raden med kontroll-ID som nyckel.
Exempel
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
Skapar en karta över nyckel/värden. Alla nycklar och värden ska vara av samma typ. Om inga objekt anges används som standard en mappning av sträng till strängtyp. Samma som en [ -> ]
skapandeoperator. Nycklar och värden bör växlas med varandra.
associate('fruit', 'apple', 'vegetable', 'carrot' )=> ['fruit' -> 'apple', 'vegetable' -> 'carrot']
at
at(<value1> : array/map, <value2> : integer/key type) => array
Söker efter elementet i ett matrisindex. Indexet är 1-baserat. Index utanför gränserna resulterar i ett null-värde. Hittar ett värde i en karta med en viss nyckel. Om nyckeln inte hittas returneras null.
at(['apples', 'pears'], 1) => 'apples'
at(['fruit' -> 'apples', 'vegetable' -> 'carrot'], 'fruit') => 'apples'
atan
atan(<value1> : number) => double
Beräknar ett invertera tangensvärde.
atan(0) -> 0.0
atan2
atan2(<value1> : number, <value2> : number) => double
Returnerar vinkeln i radianer mellan den positiva x-axeln för ett plan och den punkt som koordinaterna anger.
atan2(0, 0) -> 0.0
avg
avg(<value1> : number) => number
Hämtar medelvärdet av värden för en kolumn.
avg(sales)
avgIf
avgIf(<value1> : boolean, <value2> : number) => number
Baserat på ett villkor hämtar medelvärdet av värden för en kolumn.
avgIf(region == 'West', sales)
F
between
between(<value1> : any, <value2> : any, <value3> : any) => boolean
Kontrollerar om det första värdet ligger mellan två andra värden. Numeriska värden, strängvärden och datetime-värden kan jämföras
between(10, 5, 24)
true
between(currentDate(), currentDate() + 10, currentDate() + 20)
false
bitwiseAnd
bitwiseAnd(<value1> : integral, <value2> : integral) => integral
Bitvis och operator över integraltyper. Samma som &operatorn
bitwiseAnd(0xf4, 0xef)
0xe4
(0xf4 & 0xef)
0xe4
bitwiseOr
bitwiseOr(<value1> : integral, <value2> : integral) => integral
Bitvis eller operator över integraltyper. Samma som | operatör
bitwiseOr(0xf4, 0xef)
0xff
(0xf4 | 0xef)
0xff
bitwiseXor
bitwiseXor(<value1> : any, <value2> : any) => any
Bitvis eller operator över integraltyper. Samma som | operatör
bitwiseXor(0xf4, 0xef)
0x1b
(0xf4 ^ 0xef)
0x1b
(true ^ false)
true
(true ^ true)
false
blake2b
blake2b(<value1> : integer, <value2> : any, ...) => string
Beräknar Blake2-sammandraget av en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd, som bara kan vara multiplar av 8 mellan 8 och 512. Den kan användas för att beräkna ett fingeravtryck för en rad
blake2b(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))
'c9521a5080d8da30dffb430c50ce253c345cc4c4effc315dab2162dac974711d'
blake2bBinary
blake2bBinary(<value1> : integer, <value2> : any, ...) => binary
Beräknar Blake2-sammandraget av en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd, som bara kan vara multiplar av 8 mellan 8 och 512. Den kan användas för att beräkna ett fingeravtryck för en rad
blake2bBinary(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))
unHex('c9521a5080d8da30dffb430c50ce253c345cc4c4effc315dab2162dac974711d')
byItem
byItem(<parent column> : any, <column name> : string) => any
Hitta ett underobjekt i en struktur eller matris med struktur. Om det finns flera matchningar returneras den första matchningen. Om ingen matchning returneras ett NULL-värde. Det returnerade värdet måste vara typkonverterat av någon av typen konverteringsåtgärder (? datum, ? sträng ...). Adressera bara kolumnnamn som är kända vid designtillfället efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.
byItem( byName('customer'), 'orderItems') ? (itemName as string, itemQty as integer)
byItem( byItem( byName('customer'), 'orderItems'), 'itemName') ? string
byName
byName(<column name> : string, [<stream name> : string]) => any
Väljer ett kolumnvärde efter namn i strömmen. Du kan skicka ett valfritt strömnamn som det andra argumentet. Om det finns flera matchningar returneras den första matchningen. Om ingen matchning returneras ett NULL-värde. Det returnerade värdet måste vara typkonverterat av någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...). Adressera bara kolumnnamn som är kända vid designtillfället efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.
toString(byName('parent'))
toLong(byName('income'))
toBoolean(byName('foster'))
toLong(byName($debtCol))
toString(byName('Bogus Column'))
toString(byName('Bogus Column', 'DeriveStream'))
byNames
byNames(<column names> : array, [<stream name> : string]) => any
Välj en matris med kolumner efter namn i strömmen. Du kan skicka ett valfritt strömnamn som det andra argumentet. Om det finns flera matchningar returneras den första matchningen. Om det inte finns några matchningar för en kolumn är hela utdata ett NULL-värde. Det returnerade värdet kräver en typkonverteringsfunktion (toDate, toString, ...). Adressera bara kolumnnamn som är kända vid designtillfället efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.
toString(byNames(['parent', 'child']))
byNames(['parent']) ? string
toLong(byNames(['income']))
byNames(['income']) ? long
toBoolean(byNames(['foster']))
toLong(byNames($debtCols))
toString(byNames(['a Column']))
toString(byNames(['a Column'], 'DeriveStream'))
byNames(['orderItem']) ? (itemName as string, itemQty as integer)
byOrigin
byOrigin(<column name> : string, [<origin stream name> : string]) => any
Väljer ett kolumnvärde efter namn i ursprungsströmmen. Det andra argumentet är namnet på ursprungsströmmen. Om det finns flera matchningar returneras den första matchningen. Om ingen matchning returneras ett NULL-värde. Det returnerade värdet måste vara typkonverterat av någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...). Adressera bara kolumnnamn som är kända vid designtillfället efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.
toString(byOrigin('ancestor', 'ancestorStream'))
byOrigins
byOrigins(<column names> : array, [<origin stream name> : string]) => any
Väljer en matris med kolumner efter namn i strömmen. Det andra argumentet är strömmen där den kommer från. Om det finns flera matchningar returneras den första matchningen. Om ingen matchning returneras ett NULL-värde. Det returnerade värdet måste vara typkonverterat av någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...). Adressera bara kolumnnamn som är kända vid designtillfället efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.
toString(byOrigins(['ancestor1', 'ancestor2'], 'ancestorStream'))
byPath
byPath(<value1> : string, [<streamName> : string]) => any
Söker efter en hierarkisk sökväg efter namn i strömmen. Du kan skicka ett valfritt strömnamn som det andra argumentet. Om ingen sådan sökväg hittas returneras null. Kolumnnamn/sökvägar som är kända vid designtillfället bör bara hanteras med deras namn eller punkt notationssökväg. Beräknade indata stöds inte, men du kan använda parameterersättningar.
byPath('grandpa.parent.child') => column
byPosition
byPosition(<position> : integer) => any
Väljer ett kolumnvärde efter dess relativa position (1 baserad) i strömmen. Om positionen ligger utanför gränserna returneras ett NULL-värde. Det returnerade värdet måste vara typkonverterat av någon av typkonverteringsfunktionerna (TO_DATE, TO_STRING ...). Beräknade indata stöds inte, men du kan använda parameterersättningar.
toString(byPosition(1))
toDecimal(byPosition(2), 10, 2)
toBoolean(byName(4))
toString(byName($colName))
toString(byPosition(1234))
C
case
case(<condition> : boolean, <true_expression> : any, <false_expression> : any, ...) => any
Baserat på alternerande villkor gäller det ena eller det andra värdet. Om antalet indata är jämnt är det andra standardvärdet NULL för det sista villkoret.
case(10 + 20 == 30, 'dumbo', 'gumbo') -> 'dumbo'
case(10 + 20 == 25, 'bojjus', 'do' < 'go', 'gunchus') -> 'gunchus'
isNull(case(10 + 20 == 25, 'bojjus', 'do' > 'go', 'gunchus')) -> true
case(10 + 20 == 25, 'bojjus', 'do' > 'go', 'gunchus', 'dumbo') -> 'dumbo'
cbrt
cbrt(<value1> : number) => double
Beräknar kubroten för ett tal.
cbrt(8) -> 2.0
ceil
ceil(<value1> : number) => number
Returnerar det minsta heltalet som inte är mindre än talet.
ceil(-0.1) -> 0
char
char(<Input> : number) => string
Returnerar ascii-tecknet som representeras av indatanumret. Om talet är större än 256 motsvarar resultatet tecken (nummer % 256)
char(65) -> 'A'
char(97) -> 'a'
coalesce
coalesce(<value1> : any, ...) => any
Returnerar det första inte null-värdet från en uppsättning indata. Alla indata ska vara av samma typ.
coalesce(10, 20) -> 10
coalesce(toString(null), toString(null), 'dumbo', 'bo', 'go') -> 'dumbo'
collect
collect(<value1> : any) => array
Samlar in alla värden för uttrycket i den aggregerade gruppen till en matris. Strukturer kan samlas in och omvandlas till alternativa strukturer under den här processen. Antalet objekt är lika med antalet rader i gruppen och kan innehålla null-värden. Antalet insamlade objekt ska vara litet.
collect(salesPerson)
collect(firstName + lastName))
collect(@(name = salesPerson, sales = salesAmount) )
collectUnique
collectUnique(<value1> : any) => array
Samlar in alla värden för uttrycket i den aggregerade gruppen till en unik matris. Strukturer kan samlas in och omvandlas till alternativa strukturer under den här processen. Antalet objekt är lika med antalet rader i gruppen och kan innehålla null-värden. Antalet insamlade objekt ska vara litet.
collect(salesPerson)
collect(firstName + lastName))
collect(@(name = salesPerson, sales = salesAmount) )
columnNames
columnNames(<value1>
columnNames( : string, i><value1> : boolean) = array>
Hämtar namnen på alla utdatakolumner för en ström. Du kan skicka ett valfritt strömnamn som det första argumentet. Det andra argumentet är också valfritt, med false som standard. Om du anger det andra argumentet till true()
returnerar Data Factory endast kolumner som har drivits via schemaavvikelse.
columnNames()
columnNames('DeriveStream')
columnNames('DeriveStream', true())
columnNames('', true())
columns
columns([<stream name> : string]) => any
Hämtar värdena för alla utdatakolumner för en dataström. Du kan skicka ett valfritt strömnamn som det andra argumentet.
columns()
columns('DeriveStream')
compare
compare(<value1> : any, <value2> : any) => integer
Jämför två värden av samma typ. Returnerar negativt heltal om value1 < value2, 0 if value1 == value2, positive value if value1 > value2.
(compare(12, 24) < 1) -> true
(compare('dumbo', 'dum') > 0) -> true
concat
concat(<this> : string, <that> : string, ...) => string
Sammanfogar ett variabelt antal strängar. Samma som operatorn + med strängar.
concat('dataflow', 'is', 'awesome') -> 'dataflowisawesome'
'dataflow' + 'is' + 'awesome' -> 'dataflowisawesome'
isNull('sql' + null) -> true
concatWS
concatWS(<separator> : string, <this> : string, <that> : string, ...) => string
Sammanfogar ett variabelt antal strängar tillsammans med en avgränsare. Den första parametern är avgränsaren.
concatWS(' ', 'dataflow', 'is', 'awesome') -> 'dataflow is awesome'
isNull(concatWS(null, 'dataflow', 'is', 'awesome')) -> true
concatWS(' is ', 'dataflow', 'awesome') -> 'dataflow is awesome'
contains
contains(<value1> : array, <value2> : unaryfunction) => boolean
Returnerar sant om något element i den angivna matrisen utvärderas som sant i det angivna predikatet. Contains förväntar sig en referens till ett element i predikatfunktionen som #item.
contains([1, 2, 3, 4], #item == 3) -> true
contains([1, 2, 3, 4], #item > 5) -> false
cos
cos(<value1> : number) => double
Beräknar ett cosinévärde.
cos(10) -> -0.8390715290764524
cosh
cosh(<value1> : number) => double
Beräknar en hyperbolisk cosiné för ett värde.
cosh(0) -> 1.0
count
count([<value1> : any]) => long
Hämtar det aggregerade antalet värden. Om en eller flera valfria kolumner anges ignoreras NULL-värden i antalet.
count(custId)
count(custId, custName)
count()
count(iif(isNull(custId), 1, NULL))
countAll
countAll([<value1> : any]) => long
Hämtar det aggregerade antalet värden, inklusive nullvärden.
countAll(custId)
countAll()
countDistinct
countDistinct(<value1> : any, [<value2> : any], ...) => long
Hämtar det aggregerade antalet distinkta värden för en uppsättning kolumner.
countDistinct(custId, custName)
countAllDistinct
countAllDistinct(<value1> : any, [<value2> : any], ...) => long
Hämtar det aggregerade antalet distinkta värden för en uppsättning kolumner, inklusive nullvärden.
countAllDistinct(custId, custName)
countIf
countIf(<value1> : boolean, [<value2> : any]) => long
Baserat på ett villkor hämtar det aggregerade antalet värden. Om den valfria kolumnen anges ignoreras NULL-värden i antalet.
countIf(state == 'CA' && commission < 10000, name)
covariancePopulation
covariancePopulation(<value1> : number, <value2> : number) => double
Hämtar populationens kovarians mellan två kolumner.
covariancePopulation(sales, profit)
covariancePopulationIf
covariancePopulationIf(<value1> : boolean, <value2> : number, <value3> : number) => double
Baserat på ett villkor hämtar populationens kovarians för två kolumner.
covariancePopulationIf(region == 'West', sales)
covarianceSample
covarianceSample(<value1> : number, <value2> : number) => double
Hämtar samvariansexemplet för två kolumner.
covarianceSample(sales, profit)
covarianceSampleIf
covarianceSampleIf(<value1> : boolean, <value2> : number, <value3> : number) => double
Baserat på ett villkor hämtar du samvariansexemplet för två kolumner.
covarianceSampleIf(region == 'West', sales, profit)
crc32
crc32(<value1> : any, ...) => long
Beräknar CRC32-hashen för en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd, som bara kan vara av värdena 0(256), 224, 256, 384, 512. Den kan användas för att beräkna ett fingeravtryck för en rad.
crc32(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> 3630253689L
cumeDist
cumeDist() => integer
Funktionen CumeDist beräknar positionen för ett värde i förhållande till alla värden i partitionen. Resultatet är antalet rader som föregår eller är lika med den aktuella raden i ordningen på partitionen dividerat med det totala antalet rader i fönsterpartitionen. Eventuella bindningsvärden i ordningen utvärderas till samma position.
cumeDist()
currentDate
currentDate([<value1> : string]) => date
Hämtar det aktuella datumet när jobbet börjar köras. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen för datafabrikens datacenter/region används som standard. Se Java-klassen SimpleDateFormat
för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
currentDate() == toDate('2250-12-31') -> false
currentDate('PST') == toDate('2250-12-31') -> false
currentDate('America/New_York') == toDate('2250-12-31') -> false
currentTimestamp
currentTimestamp() => timestamp
Hämtar den aktuella tidsstämpeln när jobbet börjar köras med den lokala tidszonen.
currentTimestamp() == toTimestamp('2250-12-31 12:12:12') -> false
currentUTC
currentUTC([<value1> : string]) => timestamp
Hämtar den aktuella tidsstämpeln som UTC. Om du vill att din aktuella tid ska tolkas i en annan tidszon än klustertidszonen kan du skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den är som standard den aktuella tidszonen. Se Java-klassen SimpleDateFormat
för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html. Om du vill konvertera UTC-tiden till en annan tidszon använder du fromUTC()
.
currentUTC() == toTimestamp('2050-12-12 19:18:12') -> false
currentUTC() != toTimestamp('2050-12-12 19:18:12') -> true
fromUTC(currentUTC(), 'Asia/Seoul') != toTimestamp('2050-12-12 19:18:12') -> true
D
dayOfMonth
dayOfMonth(<value1> : datetime) => integer
Hämtar dagen i månaden med ett datum.
dayOfMonth(toDate('2018-06-08')) -> 8
dayOfWeek
dayOfWeek(<value1> : datetime) => integer
Får veckodagen angiven ett datum. 1 - Söndag, 2 - Måndag ..., 7 - Lördag.
dayOfWeek(toDate('2018-06-08')) -> 6
dayOfYear
dayOfYear(<value1> : datetime) => integer
Får dagen på året givet ett datum.
dayOfYear(toDate('2016-04-09')) -> 100
days
days(<value1> : integer) => long
Varaktighet i millisekunder för antal dagar.
days(2) -> 172800000L
decode
decode(<Input> : any, <Charset> : string) => binary
Avkodar kodade indata till en sträng baserat på den angivna teckenuppsättningen. Ett andra (valfritt) argument kan användas för att ange vilken teckenuppsättning som ska användas – "US-ASCII", "ISO-8859-1", "UTF-8" (standard), "UTF-16BE", "UTF-16LE", "UTF-16"
decode(array(toByte(97),toByte(98),toByte(99)), 'US-ASCII') -> abc
degrees
degrees(<value1> : number) => double
Konverterar radianer till grader.
degrees(3.141592653589793) -> 180
denseRank
denseRank() => integer
Beräknar rangordningen för ett värde i en grupp med värden som anges i ett fönsters order by-sats. Resultatet är ett plus antalet rader som föregår eller är lika med den aktuella raden i partitionens ordning. Värdena skapar inte luckor i sekvensen. Tät rangordning fungerar även när data inte sorteras och söker efter ändringar i värden.
denseRank()
distinct
distinct(<value1> : array) => array
Returnerar en distinkt uppsättning objekt från en matris.
distinct([10, 20, 30, 10]) => [10, 20, 30]
divide
divide(<value1> : any, <value2> : any) => any
Delar upp par med tal. Samma som operatorn /
.
divide(20, 10) -> 2
20 / 10 -> 2
dropLeft
dropLeft(<value1> : string, <value2> : integer) => string
Tar bort så många tecken som finns till vänster om strängen. Om den begärda droppen överskrider strängens längd returneras en tom sträng.
- dropLeft('bojjus', 2) => 'jjus'
- dropLeft('cake', 10) => ''
dropRight
dropRight(<value1> : string, <value2> : integer) => string
Tar bort så många tecken från höger om strängen. Om den begärda droppen överskrider strängens längd returneras en tom sträng.
- dropRight('bojjus', 2) => 'bojj'
- dropRight('cake', 10) => ''
E
encode
encode(<Input> : string, <Charset> : string) => binary
Kodar indatasträngsdata till binär baserat på en teckenuppsättning. Ett andra (valfritt) argument kan användas för att ange vilken teckenuppsättning som ska användas – "US-ASCII", "ISO-8859-1", "UTF-8" (standard), "UTF-16BE", "UTF-16LE", "UTF-16"
encode('abc', 'US-ASCII') -> array(toByte(97),toByte(98),toByte(99))
endsWith
endsWith(<string> : string, <substring to check> : string) => boolean
Kontrollerar om strängen slutar med den angivna strängen.
endsWith('dumbo', 'mbo') -> true
equals
equals(<value1> : any, <value2> : any) => boolean
Jämförelse är lika med operatorn. Samma som == 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
Jämförelse är lika med operatorn som ignorerar skiftläge. Samma som <=> operator.
'abc'<=>'Abc' -> true
equalsIgnoreCase('abc', 'Abc') -> true
escape
escape(<string_to_escape> : string, <format> : string) => string
Undflyr en sträng enligt ett format. Literalvärden för acceptabelt format är "json", "xml", "ecmascript", "html", "java".
except
except(<value1> : array, <value2> : array) => array
Returnerar en skillnadsuppsättning för en matris från en annan som släpper dubbletter.
except([10, 20, 30], [20, 40]) => [10, 30]
expr
expr(<expr> : string) => any
Resulterar i ett uttryck från en sträng. Detta är samma sak som att skriva det här uttrycket i ett icke-belyst format. Detta kan användas för att skicka parametrar som strängrepresentationer.
- expr('price * discount') => any
F
factorial
factorial(<value1> : number) => long
Beräknar faktoriellt för ett tal.
factorial(5) -> 120
false
false() => boolean
Returnerar alltid ett falskt värde. Använd funktionen syntax(false())
om det finns en kolumn med namnet "false".
(10 + 20 > 30) -> false
(10 + 20 > 30) -> false()
filter
filter(<value1> : array, <value2> : unaryfunction) => array
Filtrerar bort element från matrisen som inte uppfyller det angivna predikatet. Filter förväntar sig en referens till ett element i predikatfunktionen som #item.
filter([1, 2, 3, 4], #item > 2) -> [3, 4]
filter(['a', 'b', 'c', 'd'], #item == 'a' || #item == 'b') -> ['a', 'b']
find
find(<value1> : array, <value2> : unaryfunction) => any
Hitta det första objektet från en matris som matchar villkoret. Det tar en filterfunktion där du kan adressera objektet i matrisen som #item. För djupt kapslade kartor kan du referera till de överordnade kartorna med notationen #item_n(#item_1, #item_2...).
find([10, 20, 30], #item > 10) -> 20
find(['azure', 'data', 'factory'], length(#item) > 4) -> 'azure'
find([ @( name = 'Daniel', types = [ @(mood = 'jovial', behavior = 'terrific'), @(mood = 'grumpy', behavior = 'bad') ] ), @( name = 'Mark', types = [ @(mood = 'happy', behavior = 'awesome'), @(mood = 'calm', behavior = 'reclusive') ] ) ], contains(#item.types, #item.mood=='happy') /*Filter out the happy kid*/ )
@( name = 'Mark', types = [ @(mood = 'happy', behavior = 'awesome'), @(mood = 'calm', behavior = 'reclusive') ] )
first
first(<value1> : any, [<value2> : boolean]) => any
Hämtar det första värdet för en kolumngrupp. Om den andra parametern ignoreNulls utelämnas förutsätter Data Factory falskt.
first(sales)
first(sales, false)
flatten
flatten(<array> : array, <value2> : array ..., <value2> : boolean) => array
Jämnar ut matriser eller matriser till en enda matris. Matriser med atomiska objekt returneras oförändrade. Det sista argumentet är valfritt och är standardvärdet false för att platta ut rekursivt mer än en nivå djup.
flatten([['bojjus', 'girl'], ['gunchus', 'boy']]) => ['bojjus', 'girl', 'gunchus', 'boy']
flatten([[['bojjus', 'gunchus']]] , true) => ['bojjus', 'gunchus']
floor
floor(<value1> : number) => number
Returnerar det största heltalet som inte är större än talet.
floor(-0.1) -> -1
fromBase64
fromBase64(<value1> : string, <encoding type> : string) => string
Avkodar den angivna base64-kodade strängen. Du kan också skicka kodningstypen.
fromBase64('Z3VuY2h1cw==') -> 'gunchus'
fromBase64('SGVsbG8gV29ybGQ=', 'Windows-1252') -> 'Hello World'
fromUTC
fromUTC(<value1> : timestamp, [<value2> : string]) => timestamp
Konverterar till tidsstämpeln från UTC. Du kan också skicka tidszonen i form av "GMT", "PST", "UTC", "America/Cayman". Den är som standard den aktuella tidszonen. Se Java-klassen SimpleDateFormat
för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
fromUTC(currentTimestamp()) == toTimestamp('2050-12-12 19:18:12') -> false
fromUTC(currentTimestamp(), 'Asia/Seoul') != toTimestamp('2050-12-12 19:18:12') -> true
G
greater
greater(<value1> : any, <value2> : any) => boolean
Jämförelse större operator. Samma som > operatorn.
greater(12, 24) -> false
('dumbo' > 'dum') -> true
(toTimestamp('2019-02-05 08:21:34.890', 'yyyy-MM-dd HH:mm:ss.SSS') > toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS')) -> true
greaterOrEqual
greaterOrEqual(<value1> : any, <value2> : any) => boolean
Jämförelse större än eller lika med operator. Samma som >= operator.
greaterOrEqual(12, 12) -> true
('dumbo' >= 'dum') -> true
greatest
greatest(<value1> : any, ...) => any
Returnerar det största värdet i listan med värden som indata som hoppar över null-värden. Returnerar null om alla indata är null.
greatest(10, 30, 15, 20) -> 30
greatest(10, toInteger(null), 20) -> 20
greatest(toDate('2010-12-12'), toDate('2011-12-12'), toDate('2000-12-12')) -> toDate('2011-12-12')
greatest(toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS'), toTimestamp('2019-02-05 08:21:34.890', 'yyyy-MM-dd HH:mm:ss.SSS')) -> toTimestamp('2019-02-05 08:21:34.890', 'yyyy-MM-dd HH:mm:ss.SSS')
H
hasColumn
hasColumn(<column name> : string, [<stream name> : string]) => boolean
Söker efter ett kolumnvärde efter namn i strömmen. Du kan skicka ett valfritt strömnamn som det andra argumentet. Adressera bara kolumnnamn som är kända vid designtillfället efter deras namn. Beräknade indata stöds inte, men du kan använda parameterersättningar.
hasColumn('parent')
hasError
hasError([<value1> : string]) => boolean
Kontrollerar om tillgången med angivet ID har markerats som fel.
Exempel
hasError('assert1')
hasError('assert2')
hasPath
hasPath(<value1> : string, [<streamName> : string]) => boolean
Kontrollerar om det finns en viss hierarkisk sökväg efter namn i strömmen. Du kan skicka ett valfritt strömnamn som det andra argumentet. Kolumnnamn/sökvägar som är kända vid designtillfället bör bara hanteras med deras namn eller punkt notationssökväg. Beräknade indata stöds inte, men du kan använda parameterersättningar.
hasPath('grandpa.parent.child') => boolean
hex
hex(<value1>: binary) => string
Returnerar en hexsträngsrepresentation av ett binärt värde
hex(toBinary([toByte(0x1f), toByte(0xad), toByte(0xbe)])) -> '1fadbe'
hour
hour(<value1> : timestamp, [<value2> : string]) => integer
Hämtar timvärdet för en tidsstämpel. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat
för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
hour(toTimestamp('2009-07-30 12:58:59')) -> 12
hour(toTimestamp('2009-07-30 12:58:59'), 'PST') -> 12
hours
hours(<value1> : integer) => long
Varaktighet i millisekunder för antal timmar.
hours(2) -> 7200000L
I
iif
iif(<condition> : boolean, <true_expression> : any, [<false_expression> : any]) => any
Baserat på ett villkor gäller det ena eller det andra värdet. Om andra är ospecificerade betraktas värdet som NULL. Båda värdena måste vara kompatibla (numeriska, sträng...).
iif(10 + 20 == 30, 'dumbo', 'gumbo') -> 'dumbo'
iif(10 > 30, 'dumbo', 'gumbo') -> 'gumbo'
iif(month(toDate('2018-12-01')) == 12, 345.12, 102.67) -> 345.12
iifNull
iifNull(<value1> : any, [<value2> : any], ...) => any
Givet två eller flera indata returnerar det första inte null-objektet. Den här funktionen motsvarar sammansmältning.
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
Kontrollerar om ett objekt finns i matrisen.
in([10, 20, 30], 10) -> true
in(['good', 'kid'], 'bad') -> false
initCap
initCap(<value1> : string) => string
Konverterar den första bokstaven i varje ord till versaler. Ord identifieras som avgränsade med blanksteg.
initCap('cool iceCREAM') -> 'Cool Icecream'
instr
instr(<string> : string, <substring to find> : string) => integer
Söker efter positionen (1 baserad) för delsträngen i en sträng. 0 returneras om det inte hittas.
instr('dumbo', 'mbo') -> 3
instr('microsoft', 'o') -> 5
instr('good', 'bad') -> 0
intersect
intersect(<value1> : array, <value2> : array) => array
Returnerar en skärningspunktsuppsättning med distinkta objekt från två matriser.
intersect([10, 20, 30], [20, 40]) => [20]
isBitSet
isBitSet (<value1> : array, <value2>:integer ) => boolean
Kontrollerar om en bitposition har angetts i den här bituppsättningen
isBitSet(toBitSet([10, 32, 98]), 10) => true
isBoolean
isBoolean(<value1>: string) => boolean
Kontrollerar om strängvärdet är ett booleskt värde enligt reglerna för toBoolean()
isBoolean('true') -> true
isBoolean('no') -> true
isBoolean('microsoft') -> false
isByte
isByte(<value1> : string) => boolean
Kontrollerar om strängvärdet är ett bytevärde med ett valfritt format enligt reglerna för toByte()
isByte('123') -> true
isByte('chocolate') -> false
isDate
isDate (<value1> : string, [<format>: string]) => boolean
Kontrollerar om indatadatumsträngen är ett datum med ett valfritt indatadatumformat. Se Javas SimpleDateFormat för tillgängliga format. Om indatadatumformatet utelämnas är yyyy-[M]M-[d]d
standardformatet . Godkända format är [ yyyy, yyyy-[M]M, yyyy-[M]M-[d]d, yyyy-[M]M-[d]dT* ]
isDate('2012-8-18') -> true
isDate('12/18--234234' -> 'MM/dd/yyyy') -> false
isDecimal
isDecimal (<value1> : string) => boolean
Kontrollerar om strängvärdet är ett decimalvärde med ett valfritt format enligt reglerna för toDecimal()
isDecimal('123.45') -> true
isDecimal('12/12/2000') -> false
isDelete
isDelete([<value1> : integer]) => boolean
Kontrollerar om raden har markerats för borttagning. För omvandlingar som tar mer än en indataström kan du skicka dataströmmens (1-baserade) index. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isDelete()
isDelete(1)
isDistinct
isDistinct(<value1> : any , <value1> : any) => boolean
Söker efter om en kolumn eller uppsättning kolumner är distinkt. Den räknar inte null som ett distinkt värde
isDistinct(custId, custName) => boolean
isDouble
isDouble (<value1> : string, [<format>: string]) => boolean
Kontrollerar om strängvärdet är ett dubbelt värde med ett valfritt format enligt reglerna för toDouble()
isDouble('123') -> true
isDouble('$123.45' -> '$###.00') -> true
isDouble('icecream') -> false
isError
isError([<value1> : integer]) => boolean
Kontrollerar om raden har markerats som ett fel. För omvandlingar som tar mer än en indataström kan du skicka dataströmmens (1-baserade) index. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isError()
isError(1)
isFloat
isFloat (<value1> : string, [<format>: string]) => boolean
Kontrollerar om strängvärdet är ett flyttalvärde med ett valfritt format enligt reglerna för toFloat()
isFloat('123') -> true
isFloat('$123.45' -> '$###.00') -> true
isFloat('icecream') -> false
isIgnore
isIgnore([<value1> : integer]) => boolean
Kontrollerar om raden är markerad som ignorerad. För omvandlingar som tar mer än en indataström kan du skicka dataströmmens (1-baserade) index. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isIgnore()
isIgnore(1)
isInsert
isInsert([<value1> : integer]) => boolean
Kontrollerar om raden är markerad som infogad. För omvandlingar som tar mer än en indataström kan du skicka dataströmmens (1-baserade) index. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isInsert()
isInsert(1)
isInteger
isInteger (<value1> : string, [<format>: string]) => boolean
Kontrollerar om strängvärdet är ett heltalsvärde med ett valfritt format enligt reglerna för toInteger()
isInteger('123') -> true
isInteger('$123' -> '$###') -> true
isInteger('microsoft') -> false
isLong
isLong (<value1> : string, [<format>: string]) => boolean
Kontrollerar om strängvärdet är ett långt värde med ett valfritt format enligt reglerna för toLong()
isLong('123') -> true
isLong('$123' -> '$###') -> true
isLong('gunchus') -> false
isMatch
isMatch([<value1> : integer]) => boolean
Kontrollerar om raden matchas vid uppslag. För omvandlingar som tar mer än en indataström kan du skicka dataströmmens (1-baserade) index. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isMatch()
isMatch(1)
isNan
isNan (<value1> : integral) => boolean
Kontrollera om det här inte är ett tal.
isNan(10.2) => false
isNull
isNull(<value1> : any) => boolean
Kontrollerar om värdet är NULL.
isNull(NULL()) -> true
isNull('') -> false
isShort
isShort (<value1> : string, [<format>: string]) => boolean
Kontrollerar om strängvärdet är ett kort värde med ett valfritt format enligt reglerna för toShort()
isShort('123') -> true
isShort('$123' -> '$###') -> true
isShort('microsoft') -> false
isTimestamp
isTimestamp (<value1> : string, [<format>: string]) => boolean
Kontrollerar om indatadatumsträngen är en tidsstämpel med ett valfritt tidsstämpelformat för indata. Se Javas SimpleDateFormat för tillgängliga format. Om tidsstämpeln utelämnas används standardmönstret yyyy-[M]M-[d]d hh:mm:ss[.f...]
. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Tidsstämpeln stöder upp till millisekunders noggrannhet med värdet 999 Referera till Javas SimpleDateFormat för tillgängliga format.
isTimestamp('2016-12-31 00:12:00') -> true
isTimestamp('2016-12-31T00:12:00' -> 'yyyy-MM-dd\\'T\\'HH:mm:ss' -> 'PST') -> true
isTimestamp('2012-8222.18') -> false
isUpdate
isUpdate([<value1> : integer]) => boolean
Kontrollerar om raden har markerats för uppdatering. För omvandlingar som tar mer än en indataström kan du skicka dataströmmens (1-baserade) index. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isUpdate()
isUpdate(1)
isUpsert
isUpsert([<value1> : integer]) => boolean
Kontrollerar om raden är markerad som infogad. För omvandlingar som tar mer än en indataström kan du skicka dataströmmens (1-baserade) index. Dataströmindexet ska vara antingen 1 eller 2 och standardvärdet är 1.
isUpsert()
isUpsert(1)
J
jaroWinkler
jaroWinkler(<value1> : string, <value2> : string) => double
Hämtar JaroWinkler-avståndet mellan två strängar.
jaroWinkler('frog', 'frog') => 1.0
k
keyValues
keyValues(<value1> : array, <value2> : array) => map
Skapar en karta över nyckel/värden. Den första parametern är en matris med nycklar och den andra är matrisen med värden. Båda matriserna ska ha samma längd.
keyValues(['bojjus', 'appa'], ['gunchus', 'ammi']) => ['bojjus' -> 'gunchus', 'appa' -> 'ammi']
kurtosis
kurtosis(<value1> : number) => double
Hämtar en kolumns kurtos.
kurtosis(sales)
kurtosisIf
kurtosisIf(<value1> : boolean, <value2> : number) => double
Baserat på ett kriterium får du en kolumns kurtos.
kurtosisIf(region == 'West', sales)
L
lag
lag(<value> : any, [<number of rows to look before> : number], [<default value> : any]) => any
Hämtar värdet för den första parametern som utvärderas n rader före den aktuella raden. Den andra parametern är antalet rader som ska se tillbaka och standardvärdet är 1. Om det inte finns lika många rader returneras värdet null om inte ett standardvärde anges.
lag(amount, 2)
lag(amount, 2000, 100)
last
last(<value1> : any, [<value2> : boolean]) => any
Hämtar det sista värdet för en kolumngrupp. Om den andra parametern ignoreNulls utelämnas antas den vara false.
last(sales)
last(sales, false)
lastDayOfMonth
lastDayOfMonth(<value1> : datetime) => date
Hämtar det sista datumet i månaden med ett datum.
lastDayOfMonth(toDate('2009-01-12')) -> toDate('2009-01-31')
lead
lead(<value> : any, [<number of rows to look after> : number], [<default value> : any]) => any
Hämtar värdet för den första parametern som utvärderas n rader efter den aktuella raden. Den andra parametern är antalet rader som ska se framåt och standardvärdet är 1. Om det inte finns lika många rader returneras värdet null om inte ett standardvärde anges.
lead(amount, 2)
lead(amount, 2000, 100)
least
least(<value1> : any, ...) => any
Jämförelse mindre än eller lika med operator. Samma som <= 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
Extraherar en delsträng som börjar vid index 1 med antal tecken. Samma som SUBSTRING(str, 1, n).
left('bojjus', 2) -> 'bo'
left('bojjus', 20) -> 'bojjus'
length
length(<value1> : string) => integer
Returnerar strängens längd.
length('dumbo') -> 5
lesser
lesser(<value1> : any, <value2> : any) => boolean
Jämförelse mindre operator. Samma som < operatorn.
lesser(12, 24) -> true
('abcd' < 'abc') -> false
(toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS') < toTimestamp('2019-02-05 08:21:34.890', 'yyyy-MM-dd HH:mm:ss.SSS')) -> true
lesserOrEqual
lesserOrEqual(<value1> : any, <value2> : any) => boolean
Jämförelse mindre än eller lika med operator. Samma som <= operator.
lesserOrEqual(12, 12) -> true
('dumbo' <= 'dum') -> false
levenshtein
levenshtein(<from string> : string, <to string> : string) => integer
Hämtar levenshtein-avståndet mellan två strängar.
levenshtein('boys', 'girls') -> 4
like
like(<string> : string, <pattern match> : string) => boolean
Mönstret är en sträng som matchas bokstavligen. Undantagen är följande specialsymboler: _ matchar ett tecken i indata (liknar det. I posix
reguljära uttryck) matchar % noll eller fler tecken i indata (ungefär .*
som i posix
reguljära uttryck).
Escape-tecknet är ''. Om ett escape-tecken föregår en särskild symbol eller ett annat escape-tecken matchas följande tecken bokstavligen. Det är ogiltigt att undvika andra tecken.
like('icecream', 'ice%') -> true
locate
locate(<substring to find> : string, <string> : string, [<from index - 1-based> : integral]) => integer
Hittar positionen (1 baserad) för delsträngen i en sträng som startar en viss position. Om positionen utelämnas beaktas den från början av strängen. 0 returneras om det inte hittas.
locate('mbo', 'dumbo') -> 3
locate('o', 'microsoft', 6) -> 7
locate('bad', 'good') -> 0
log
log(<value1> : number, [<value2> : number]) => double
Beräknar loggvärdet. En valfri bas kan anges annars ett Euler-nummer om det används.
log(100, 10) -> 2
log10
log10(<value1> : number) => double
Beräknar loggvärdet baserat på 10 bas.
log10(100) -> 2
lookup
lookup(key, key2, ...) => complex[]
Söker upp den första raden från den cachelagrade mottagaren med de angivna nycklarna som matchar nycklarna från den cachelagrade mottagaren.
cacheSink#lookup(movieId)
lower
lower(<value1> : string) => string
Gement en sträng.
lower('GunChus') -> 'gunchus'
lpad
lpad(<string to pad> : string, <final padded length> : integral, <padding> : string) => string
Vänster pads strängen av den medföljande utfyllnad tills det är av en viss längd. Om strängen är lika med eller större än längden trimmas den till längden.
lpad('dumbo', 10, '-') -> '-----dumbo'
lpad('dumbo', 4, '-') -> 'dumb'
ltrim
ltrim(<string to trim> : string, [<trim characters> : string]) => string
Till vänster trimmas en sträng med inledande tecken. Om den andra parametern är ospecificerad trimmas tomt utrymme. Annars trimmas alla tecken som anges i den andra parametern.
ltrim(' dumbo ') -> 'dumbo '
ltrim('!--!du!mbo!', '-!') -> 'du!mbo!'
M
map
map(<value1> : array, <value2> : unaryfunction) => any
Mappar varje element i matrisen till ett nytt element med det angivna uttrycket. Map förväntar sig en referens till ett element i uttrycksfunktionen som #item.
map([1, 2, 3, 4], #item + 2) -> [3, 4, 5, 6]
map(['a', 'b', 'c', 'd'], #item + '_processed') -> ['a_processed', 'b_processed', 'c_processed', 'd_processed']
mapAssociation
mapAssociation(<value1> : map, <value2> : binaryFunction) => array
Transformerar en karta genom att koppla nycklarna till nya värden. Returnerar en matris. Det tar en mappningsfunktion där du kan adressera objektet som #key och aktuellt värde som #value.
mapAssociation(['bojjus' -> 'gunchus', 'appa' -> 'ammi'], @(key = #key, value = #value)) => [@(key = 'bojjus', value = 'gunchus'), @(key = 'appa', value = 'ammi')]
mapIf
mapIf (<value1> : array, <value2> : binaryfunction, <value3>: binaryFunction) => any
Villkorligt mappar en matris till en annan matris med samma eller mindre längd. Värdena kan vara av valfri datatyp, inklusive structTypes. Det tar en mappningsfunktion där du kan adressera objektet i matrisen som #item och aktuellt index som #index. För djupt kapslade kartor kan du referera till de överordnade kartorna med hjälp av notationen #item_[n](#item_1, #index_1...)
.
mapIf([10, 20, 30], #item > 10, #item + 5) -> [25, 35]
mapIf(['icecream', 'cake', 'soda'], length(#item) > 4, upper(#item)) -> ['ICECREAM', 'CAKE']
mapIndex
mapIndex(<value1> : array, <value2> : binaryfunction) => any
Mappar varje element i matrisen till ett nytt element med det angivna uttrycket. Map förväntar sig en referens till ett element i uttrycksfunktionen som #item och en referens till elementindexet som #index.
mapIndex([1, 2, 3, 4], #item + 2 + #index) -> [4, 6, 8, 10]
mapLoop
mapLoop(<value1> : integer, <value2> : unaryfunction) => any
Loopar igenom från 1 till längd för att skapa en matris med den längden. Det tar en mappningsfunktion där du kan adressera indexet i matrisen som #index. För djupt kapslade kartor kan du referera till de överordnade kartorna med notationen #index_n(#index_1, #index_2...).
mapLoop(3, #index * 10) -> [10, 20, 30]
max
max(<value1> : any) => any
Hämtar det maximala värdet för en kolumn.
max(sales)
maxIf
maxIf(<value1> : boolean, <value2> : any) => any
Baserat på ett villkor får du det maximala värdet för en kolumn.
maxIf(region == 'West', sales)
md5
md5(<value1> : any, ...) => string
Beräknar MD5-sammandraget av en uppsättning kolumner med varierande primitiva datatyper och returnerar en hexsträng med 32 tecken. Den kan användas för att beräkna ett fingeravtryck för en rad.
md5(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> '4ce8a880bd621a1ffad0bca905e1bc5a'
mean
mean(<value1> : number) => number
Hämtar medelvärdet av värden för en kolumn. Samma som AVG.
mean(sales)
meanIf
meanIf(<value1> : boolean, <value2> : number) => number
Baserat på ett villkor hämtar medelvärdet av värden för en kolumn. Samma som avgIf.
meanIf(region == 'West', sales)
millisecond
millisecond(<value1> : timestamp, [<value2> : string]) => integer
Hämtar millisekundersvärdet för ett datum. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat
för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
millisecond(toTimestamp('2009-07-30 12:58:59.871', 'yyyy-MM-dd HH:mm:ss.SSS')) -> 871
milliseconds
milliseconds(<value1> : integer) => long
Varaktighet i millisekunder för antal millisekunder.
milliseconds(2) -> 2L
min
min(<value1> : any) => any
Hämtar minimivärdet för en kolumn.
min(sales)
minIf
minIf(<value1> : boolean, <value2> : any) => any
Baserat på ett villkor får du minimivärdet för en kolumn.
minIf(region == 'West', sales)
minus
minus(<value1> : any, <value2> : any) => any
Subtraherar tal. Subtrahera antalet dagar från ett datum. Subtrahera varaktighet från en tidsstämpel. Subtrahera två tidsstämplar för att få skillnad i millisekunder. Samma som operatorn - .
minus(20, 10) -> 10
20 - 10 -> 10
minus(toDate('2012-12-15'), 3) -> toDate('2012-12-12')
toDate('2012-12-15') - 3 -> toDate('2012-12-12')
toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS') + (days(1) + hours(2) - seconds(10)) -> toTimestamp('2019-02-04 07:19:18.871', 'yyyy-MM-dd HH:mm:ss.SSS')
toTimestamp('2019-02-03 05:21:34.851', 'yyyy-MM-dd HH:mm:ss.SSS') - toTimestamp('2019-02-03 05:21:36.923', 'yyyy-MM-dd HH:mm:ss.SSS') -> -2072
minute
minute(<value1> : timestamp, [<value2> : string]) => integer
Hämtar minutvärdet för en tidsstämpel. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat
för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
minute(toTimestamp('2009-07-30 12:58:59')) -> 58
minute(toTimestamp('2009-07-30 12:58:59'), 'PST') -> 58
minutes
minutes(<value1> : integer) => long
Varaktighet i millisekunder för antal minuter.
minutes(2) -> 120000L
mlookup
mlookup(key, key2, ...) => complex[]
Letar upp alla matchande rader från den cachelagrade mottagaren med de angivna nycklarna som matchar nycklarna från den cachelagrade mottagaren.
cacheSink#mlookup(movieId)
mod
mod(<value1> : any, <value2> : any) => any
Modulus för par med tal. Samma som operatorn % .
mod(20, 8) -> 4
20 % 8 -> 4
month
month(<value1> : datetime) => integer
Hämtar månadsvärdet för ett datum eller en tidsstämpel.
month(toDate('2012-8-8')) -> 8
monthsBetween
monthsBetween(<from date/timestamp> : datetime, <to date/timestamp> : datetime, [<roundoff> : boolean], [<time zone> : string]) => double
Hämtar antalet månader mellan två datum. Du kan avrunda beräkningen. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat
för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
monthsBetween(toTimestamp('1997-02-28 10:30:00'), toDate('1996-10-30')) -> 3.94959677
multiply
multiply(<value1> : any, <value2> : any) => any
Multiplicerar par med tal. Samma som *-operatorn.
multiply(20, 10) -> 200
20 * 10 -> 200
N
negate
negate(<value1> : number) => number
Negerar ett tal. Vänder positiva tal till negativa och vice versa.
negate(13) -> -13
nextSequence
nextSequence() => long
Returnerar nästa unika sekvens. Talet är bara i följd inom en partition och prefixet är partitionId.
nextSequence() == 12313112 -> false
normalize
normalize(<String to normalize> : string) => string
Normaliserar strängvärdet till separata unicode-accenttecken.
regexReplace(normalize('bo²s'), `\p{M}`, '') -> 'boys'
not
not(<value1> : boolean) => boolean
Logisk negationsoperator.
not(true) -> false
not(10 == 20) -> true
notEquals
notEquals(<value1> : any, <value2> : any) => boolean
Jämförelse är inte lika med operatorn. Samma som != operator.
12 != 24 -> true
'bojjus' != 'bo' + 'jjus' -> false
nTile
nTile([<value1> : integer]) => integer
Funktionen NTile
delar upp raderna för varje fönsterpartition i n
bucketar från 1 till högst n
. Bucketvärdena skiljer sig med högst 1. Om antalet rader i partitionen inte delas upp jämnt i antalet bucketar distribueras restvärdena en per bucket, från och med den första bucketen. Funktionen NTile
är användbar för beräkningen av tertiles
, kvarttiler, deciler och annan gemensam sammanfattningsstatistik. Funktionen beräknar två variabler under initieringen: Storleken på en vanlig bucket har en extra rad tillagd. Båda variablerna baseras på storleken på den aktuella partitionen. Under beräkningsprocessen håller funktionen reda på det aktuella radnumret, det aktuella bucketnumret och radnumret som bucketen kommer att ändras med (bucketThreshold). När det aktuella radnumret når buckettröskelvärdet ökas bucketvärdet med ett och tröskelvärdet ökas med bucketstorleken (plus en extra om den aktuella bucketen är vadderad).
nTile()
nTile(numOfBuckets)
null
null() => null
Returnerar ett NULL-värde. Använd funktionen syntax(null())
om det finns en kolumn med namnet "null". Alla åtgärder som används resulterar i en NULL.
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
Logisk OR-operator. Samma som ||.
or(true, false) -> true
true || false -> true
originColumns
originColumns(<streamName> : string) => any
Hämtar alla utdatakolumner för en ursprungsström där kolumner skapades. Måste omges av en annan funktion.
array(toString(originColumns('source1')))
output
output() => any
Returnerar den första raden i resultatet av cachemottagaren
cacheSink#output()
outputs
output() => any
Returnerar hela utdataraduppsättningen för resultatet av cachemottagaren
cacheSink#outputs()
P
partitionId
partitionId() => integer
Returnerar det aktuella partitions-ID som indataraden finns i.
partitionId()
pMod
pMod(<value1> : any, <value2> : any) => any
Positiv modulus för par med tal.
pmod(-20, 8) -> 4
power
power(<value1> : number, <value2> : number) => double
Höjer ett tal till kraften hos en annan.
power(10, 2) -> 100
R
radians
radians(<value1> : number) => double
Konverterar grader till radianer
radians(180) => 3.141592653589793
random
random(<value1> : integral) => long
Returnerar ett slumpmässigt tal givet ett valfritt startvärde i en partition. Fröet ska vara ett fast värde och används med partitionId för att generera slumpmässiga värden
random(1) == 1 -> false
rank
rank() => integer
Beräknar rangordningen för ett värde i en grupp med värden som anges i ett fönsters order by-sats. Resultatet är ett plus antalet rader som föregår eller är lika med den aktuella raden i partitionens ordning. Värdena skapar luckor i sekvensen. Rangordning fungerar även när data inte sorteras och söker efter ändringar i värden.
rank()
reassociate
reassociate(<value1> : map, <value2> : binaryFunction) => map
Transformerar en karta genom att koppla nycklarna till nya värden. Det tar en mappningsfunktion där du kan adressera objektet som #key och aktuellt värde som #value.
reassociate(['fruit' -> 'apple', 'vegetable' -> 'tomato'], substring(#key, 1, 1) + substring(#value, 1, 1)) => ['fruit' -> 'fa', 'vegetable' -> 'vt']
reduce
reduce(<value1> : array, <value2> : any, <value3> : binaryfunction, <value4> : unaryfunction) => any
Ackumulerar element i en matris. Reduce förväntar sig en referens till en ackumulator och ett element i den första uttrycksfunktionen som #acc och #item och förväntar sig att det resulterande värdet som #result ska användas i den andra uttrycksfunktionen.
toString(reduce(['1', '2', '3', '4'], '0', #acc + #item, #result)) -> '01234'
regexExtract
regexExtract(<string> : string, <regex to find> : string, [<match group 1-based index> : integral]) => string
Extrahera en matchande delsträng för ett givet regex-mönster. Den sista parametern identifierar matchningsgruppen och är standardvärdet 1 om den utelämnas. Använd <regex>
(citattecken) för att matcha en sträng utan att komma undan. Index 0 returnerar alla matchningar. Utan matchningsgrupper returnerar index 1 och senare inte något resultat.
regexExtract('Cost is between 600 and 800 dollars', '(\\d+) and (\\d+)', 2) -> '800'
regexExtract('Cost is between 600 and 800 dollars', `(\d+) and (\d+)`, 2) -> '800'
regexMatch
regexMatch(<string> : string, <regex to match> : string) => boolean
Kontrollerar om strängen matchar det angivna regexmönstret. Använd <regex>
(citattecken) för att matcha en sträng utan att komma undan.
regexMatch('200.50', '(\\d+).(\\d+)') -> true
regexMatch('200.50', `(\d+).(\d+)`) -> true
regexReplace
regexReplace(<string> : string, <regex to find> : string, <substring to replace> : string) => string
Ersätt alla förekomster av ett regex-mönster med en annan delsträng i den angivna strängen Använd <regex>
(citattecken) för att matcha en sträng utan att fly.
regexReplace('100 and 200', '(\\d+)', 'bojjus') -> 'bojjus and bojjus'
regexReplace('100 and 200', `(\d+)`, 'gunchus') -> 'gunchus and gunchus'
regexSplit
regexSplit(<string to split> : string, <regex expression> : string) => array
Delar upp en sträng baserat på en avgränsare baserat på regex och returnerar en matris med strängar.
regexSplit('bojjusAgunchusBdumbo', `[CAB]`) -> ['bojjus', 'gunchus', 'dumbo']
regexSplit('bojjusAgunchusBdumboC', `[CAB]`) -> ['bojjus', 'gunchus', 'dumbo', '']
(regexSplit('bojjusAgunchusBdumboC', `[CAB]`)[1]) -> 'bojjus'
isNull(regexSplit('bojjusAgunchusBdumboC', `[CAB]`)[20]) -> true
replace
replace(<string> : string, <substring to find> : string, [<substring to replace> : string]) => string
Ersätt alla förekomster av en delsträng med en annan delsträng i den angivna strängen. Om den sista parametern utelämnas är den som standard tom sträng.
replace('doggie dog', 'dog', 'cat') -> 'catgie cat'
replace('doggie dog', 'dog', '') -> 'gie '
replace('doggie dog', 'dog') -> 'gie '
reverse
reverse(<value1> : string) => string
Omvänt en sträng.
reverse('gunchus') -> 'suhcnug'
right
right(<string to subset> : string, <number of characters> : integral) => string
Extraherar en delsträng med antal tecken från höger. Samma som SUBSTRING(str, LENGTH(str) - n, n).
right('bojjus', 2) -> 'us'
right('bojjus', 20) -> 'bojjus'
rlike
rlike(<string> : string, <pattern match> : string) => boolean
Kontrollerar om strängen matchar det angivna regexmönstret.
rlike('200.50', `(\d+).(\d+)`) -> true
rlike('bogus', `M[0-9]+.*`) -> false
round
round(<number> : number, [<scale to round> : number], [<rounding option> : integral]) => double
Avrundar ett tal med en valfri skala och ett valfritt avrundningsläge. Om skalan utelämnas är den standardvärdet 0. Om läget utelämnas är standardinställningen ROUND_HALF_UP(5). Värdena för avrundning inkluderar
- ROUND_UP – Avrundningsläge för avrundning från noll.
- ROUND_DOWN – Avrundningsläge för avrundning mot noll.
- ROUND_CEILING – Avrundningsläge för avrundning mot positiv oändlighet. [Samma som ROUND_UP om indata är positiva. Om det är negativt fungerar det som ROUND_DOWN. Ex = -1.1 skulle vara -1,0 med ROUND_CEILING och -2 med ROUND_UP]
- ROUND_FLOOR – Avrundningsläge för avrundning mot negativ oändlighet. [Samma som ROUND_DOWN om indata är positiva. Om det är negativt fungerar det som ROUND_UP]
- ROUND_HALF_UP – Avrundningsläge för avrundning mot "närmaste granne" om inte båda grannarna är likvärdiga, i vilket fall ROUND_UP. [Vanligast + standard för Dataflöde].
- ROUND_HALF_DOWN – Avrundningsläge för avrundning mot "närmaste granne" om inte båda grannarna är likvärdiga, i vilket fall ROUND_DOWN.
- ROUND_HALF_EVEN – Avrundningsläge för avrundning mot "närmaste granne" om inte båda grannarna är likvärdiga, i vilket fall, avrundar mot den jämna grannen.
- ROUND_UNNECESSARY – Avrundningsläge för att bekräfta att avrundningsåtgärden har ett exakt resultat, vilket innebär att ingen avrundning krävs.
round(100.123) -> 100.0
round(2.5, 0) -> 3.0
round(5.3999999999999995, 2, 7) -> 5.40
rowNumber
rowNumber() => integer
Tilldelar en sekventiell radnumrering för rader i ett fönster som börjar med 1.
rowNumber()
rpad
rpad(<string to pad> : string, <final padded length> : integral, <padding> : string) => string
Höger fyller strängen med den medföljande utfyllnaden tills den är av en viss längd. Om strängen är lika med eller större än längden trimmas den till längden.
rpad('dumbo', 10, '-') -> 'dumbo-----'
rpad('dumbo', 4, '-') -> 'dumb'
rpad('dumbo', 8, '<>') -> 'dumbo<><'
rtrim
rtrim(<string to trim> : string, [<trim characters> : string]) => string
Höger trimmar en sträng med avslutande tecken. Om den andra parametern är ospecificerad trimmas tomt utrymme. Annars trimmas alla tecken som anges i den andra parametern.
rtrim(' dumbo ') -> ' dumbo'
rtrim('!--!du!mbo!', '-!') -> '!--!du!mbo'
S
second
second(<value1> : timestamp, [<value2> : string]) => integer
Hämtar det andra värdet för ett datum. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den lokala tidszonen används som standard. Se Java-klassen SimpleDateFormat
för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
second(toTimestamp('2009-07-30 12:58:59')) -> 59
seconds
seconds(<value1> : integer) => long
Varaktighet i millisekunder under antal sekunder.
seconds(2) -> 2000L
setBitSet
setBitSet (<value1>: array, <value2>:array) => array
Anger bitpositioner i den här bituppsättningen
setBitSet(toBitSet([10, 32]), [98]) => [4294968320L, 17179869184L]
sha1
sha1(<value1> : any, ...) => string
Beräknar SHA-1-sammandraget av en uppsättning kolumner med varierande primitiva datatyper och returnerar en hexsträng med 40 tecken. Den kan användas för att beräkna ett fingeravtryck för en rad.
sha1(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> '46d3b478e8ec4e1f3b453ac3d8e59d5854e282bb'
sha2
sha2(<value1> : integer, <value2> : any, ...) => string
Beräknar SHA-2-sammandraget av en uppsättning kolumner med varierande primitiva datatyper givet en bitlängd, som bara kan vara av värdena 0(256), 224, 256, 384, 512. Den kan användas för att beräkna ett fingeravtryck för en rad.
sha2(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> 'afe8a553b1761c67d76f8c31ceef7f71b66a1ee6f4e6d3b5478bf68b47d06bd3'
sin
sin(<value1> : number) => double
Beräknar ett sinusvärde.
sin(2) -> 0.9092974268256817
sinh
sinh(<value1> : number) => double
Beräknar ett hyperboliskt sinusvärde.
sinh(0) -> 0.0
size
size(<value1> : any) => integer
Söker efter storleken på en matris eller karttyp
size(['element1', 'element2']) -> 2
size([1,2,3]) -> 3
skewness
skewness(<value1> : number) => double
Hämtar snedheten i en kolumn.
skewness(sales)
skewnessIf
skewnessIf(<value1> : boolean, <value2> : number) => double
Baserat på ett villkor hämtar skevheten i en kolumn.
skewnessIf(region == 'West', sales)
slice
slice(<array to slice> : array, <from 1-based index> : integral, [<number of items> : integral]) => array
Extraherar en delmängd av en matris från en position. Position är 1 baserad. Om längden utelämnas är den standard för slutet av strängen.
slice([10, 20, 30, 40], 1, 2) -> [10, 20]
slice([10, 20, 30, 40], 2) -> [20, 30, 40]
slice([10, 20, 30, 40], 2)[1] -> 20
isNull(slice([10, 20, 30, 40], 2)[0]) -> true
isNull(slice([10, 20, 30, 40], 2)[20]) -> true
slice(['a', 'b', 'c', 'd'], 8) -> []
sort
sort(<value1> : array, <value2> : binaryfunction) => array
Sorterar matrisen med hjälp av den angivna predikatfunktionen. Sort förväntar sig en referens till två på varandra följande element i uttrycksfunktionen som #item1 och #item2.
sort([4, 8, 2, 3], compare(#item1, #item2)) -> [2, 3, 4, 8]
sort(['a3', 'b2', 'c1'], iif(right(#item1, 1) >= right(#item2, 1), 1, -1)) -> ['c1', 'b2', 'a3']
soundex
soundex(<value1> : string) => string
soundex
Hämtar koden för strängen.
soundex('genius') -> 'G520'
split
split(<string to split> : string, <split characters> : string) => array
Delar upp en sträng baserat på en avgränsare och returnerar en matris med strängar.
split('bojjus,guchus,dumbo', ',') -> ['bojjus', 'guchus', 'dumbo']
split('bojjus,guchus,dumbo', '|') -> ['bojjus,guchus,dumbo']
split('bojjus, guchus, dumbo', ', ') -> ['bojjus', 'guchus', 'dumbo']
split('bojjus, guchus, dumbo', ', ')[1] -> 'bojjus'
isNull(split('bojjus, guchus, dumbo', ', ')[0]) -> true
isNull(split('bojjus, guchus, dumbo', ', ')[20]) -> true
split('bojjusguchusdumbo', ',') -> ['bojjusguchusdumbo']
sqrt
sqrt(<value1> : number) => double
Beräknar kvadratroten för ett tal.
sqrt(9) -> 3
startsWith
startsWith(<string> : string, <substring to check> : string) => boolean
Kontrollerar om strängen börjar med den angivna strängen.
startsWith('dumbo', 'du') -> true
stddev
stddev(<value1> : number) => double
Hämtar standardavvikelsen för en kolumn.
stdDev(sales)
stddevIf
stddevIf(<value1> : boolean, <value2> : number) => double
Baserat på ett villkor hämtar standardavvikelsen för en kolumn.
stddevIf(region == 'West', sales)
stddevPopulation
stddevPopulation(<value1> : number) => double
Hämtar populationens standardavvikelse för en kolumn.
stddevPopulation(sales)
stddevPopulationIf
stddevPopulationIf(<value1> : boolean, <value2> : number) => double
Baserat på ett villkor hämtar populationens standardavvikelse för en kolumn.
stddevPopulationIf(region == 'West', sales)
stddevSample
stddevSample(<value1> : number) => double
Hämtar exempelstandardavvikelsen för en kolumn.
stddevSample(sales)
stddevSampleIf
stddevSampleIf(<value1> : boolean, <value2> : number) => double
Baserat på ett villkor hämtar exempelstandardavvikelsen för en kolumn.
stddevSampleIf(region == 'West', sales)
subDays
subDays(<date/timestamp> : datetime, <days to subtract> : integral) => datetime
Subtrahera dagar från ett datum eller en tidsstämpel. Samma som operatorn - för datum.
subDays(toDate('2016-08-08'), 1) -> toDate('2016-08-07')
subMonths
subMonths(<date/timestamp> : datetime, <months to subtract> : integral) => datetime
Subtrahera månader från ett datum eller en tidsstämpel.
subMonths(toDate('2016-09-30'), 1) -> toDate('2016-08-31')
substring
substring(<string to subset> : string, <from 1-based index> : integral, [<number of characters> : integral]) => string
Extraherar en delsträng av en viss längd från en position. Position är 1 baserad. Om längden utelämnas är den standard för slutet av strängen.
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 occurences> : integral]) = string>
Extraherar delsträngen före count
förekomster av avgränsare. Om count
är positivt returneras allt till vänster om den slutliga avgränsare (räknar från vänster). Om count
är negativt returneras allt till höger om den slutliga avgränsare (räknar från höger).
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
Hämtar den sammanlagda summan av en numerisk kolumn.
sum(col)
sumDistinct
sumDistinct(<value1> : number) => number
Hämtar den aggregerade summan av distinkta värden för en numerisk kolumn.
sumDistinct(col)
sumDistinctIf
sumDistinctIf(<value1> : boolean, <value2> : number) => number
Baserat på kriterier hämtar den aggregerade summan av en numerisk kolumn. Villkoret kan baseras på valfri kolumn.
sumDistinctIf(state == 'CA' && commission < 10000, sales)
sumDistinctIf(true, sales)
sumIf
sumIf(<value1> : boolean, <value2> : number) => number
Baserat på kriterier hämtar den aggregerade summan av en numerisk kolumn. Villkoret kan baseras på valfri kolumn.
sumIf(state == 'CA' && commission < 10000, sales)
sumIf(true, sales)
T
tan
tan(<value1> : number) => double
Beräknar ett tangensvärde.
tan(0) -> 0.0
tanh
tanh(<value1> : number) => double
Beräknar ett hyperboliskt tangensvärde.
tanh(0) -> 0.0
toBase64
toBase64(<value1> : string, <encoding type> : string]) => string
Kodar den angivna strängen i base64. Du kan också skicka kodningstypen
toBase64('bojjus') -> 'Ym9qanVz'
toBase64('± 25000, € 5.000,- |', 'Windows-1252') -> 'sSAyNTAwMCwggCA1LjAwMCwtIHw='
toBinary
toBinary(<value1> : any) => binary
Konverterar valfritt numeriskt/datum/tidsstämpel/sträng till binär representation.
toBinary(3) -> [0x11]
toBoolean
toBoolean(<value1> : string) => boolean
Konverterar värdet ('t', 'true', 'y', 'yes', '1') till true och ('f', 'false', 'n', 'no', '0') till false och NULL för andra värden.
toBoolean('true') -> true
toBoolean('n') -> false
isNull(toBoolean('truthy')) -> true
toByte
toByte(<value> : any, [<format> : string], [<locale> : string]) => byte
Konverterar valfritt numeriskt värde eller en sträng till ett bytevärde. Ett valfritt Java-decimalformat kan användas för konverteringen.
toByte(123)
123
toByte(0xFF)
-1
toByte('123')
123
toDate
toDate(<string> : any, [<date format> : string]) => date
Konverterar indatadatumsträng till datum med ett valfritt indatadatumformat. Se Java-klassen SimpleDateFormat
för tillgängliga format. Om indatadatumformatet utelämnas är standardformatet åååå-[M]M-[d]d. Accepterade format är :[ åååå, å-[M]M, åååå-[M]M-[d]d, åååå-[M]M-[d]dT* ].
toDate('2012-8-18') -> toDate('2012-08-18')
toDate('12/18/2012', 'MM/dd/yyyy') -> toDate('2012-12-18')
toDecimal
toDecimal(<value> : any, [<precision> : integral], [<scale> : integral], [<format> : string], [<locale> : string]) => decimal(10,0)
Konverterar valfritt numeriskt värde eller en sträng till ett decimalvärde. Om precision och skalning inte anges är standardvärdet (10,2). Ett valfritt Java-decimalformat kan användas för konverteringen. Ett valfritt språkformat i form av BCP47-språk som en-US, de, zh-CN.
toDecimal(123.45) -> 123.45
toDecimal('123.45', 8, 4) -> 123.4500
toDecimal('$123.45', 8, 4,'$###.00') -> 123.4500
toDecimal('Ç123,45', 10, 2, 'Ç###,##', 'de') -> 123.45
toDouble
toDouble(<value> : any, [<format> : string], [<locale> : string]) => double
Konverterar valfritt numeriskt värde eller en sträng till ett dubbelt värde. Ett valfritt Java-decimalformat kan användas för konverteringen. Ett valfritt språkformat i form av BCP47-språk som en-US, de, zh-CN.
toDouble(123.45) -> 123.45
toDouble('123.45') -> 123.45
toDouble('$123.45', '$###.00') -> 123.45
toDouble('Ç123,45', 'Ç###,##', 'de') -> 123.45
toFloat
toFloat(<value> : any, [<format> : string], [<locale> : string]) => float
Konverterar numeriska värden eller strängar till ett flyttalsvärde. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar en dubbel.
toFloat(123.45) -> 123.45f
toFloat('123.45') -> 123.45f
toFloat('$123.45', '$###.00') -> 123.45f
toInteger
toInteger(<value> : any, [<format> : string], [<locale> : string]) => integer
Konverterar valfritt numeriskt värde eller en sträng till ett heltalsvärde. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar alla långa, flytande, dubbla.
toInteger(123) -> 123
toInteger('123') -> 123
toInteger('$123', '$###') -> 123
toLong
toLong(<value> : any, [<format> : string], [<locale> : string]) => long
Konverterar valfritt numeriskt värde eller en sträng till ett långt värde. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar alla flytande, dubbla.
toLong(123) -> 123
toLong('123') -> 123
toLong('$123', '$###') -> 123
topN
topN(<column/expression> : any, <count> : long, <n> : integer) => array
Hämtar de översta N-värdena för den här kolumnen baserat på argumentet count.
topN(custId, count, 5)
topN(productId, num_sales, 10)
toShort
toShort(<value> : any, [<format> : string], [<locale> : string]) => short
Konverterar valfritt numeriskt värde eller en sträng till ett kort värde. Ett valfritt Java-decimalformat kan användas för konverteringen. Trunkerar alla heltal, långa, flytande, dubbla.
toShort(123) -> 123
toShort('123') -> 123
toShort('$123', '$###') -> 123
toString
toString(<value> : any, [<number format/date format> : string], [<date locale> : string]) => string
Konverterar en primitiv datatyp till en sträng. För tal och datum kan ett format anges. Om det är ospecificerat väljs systemstandarden. Java-decimalformat används för tal. Se Java SimpleDateFormat för alla möjliga datumformat. standardformatet är åå-MM-dd. För datum eller tidsstämpel kan ett språk anges.
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
Konverterar en sträng till en tidsstämpel med ett valfritt tidsstämpelformat. Om tidsstämpeln utelämnas används standardmönstret yyyy-[M]M-[d]d hh:mm:ss[.f...]. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Tidsstämpeln stöder upp till millisekunders noggrannhet med värdet 999. Se Java-klassen SimpleDateFormat
för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
toTimestamp('2016-12-31 00:12:00') -> toTimestamp('2016-12-31 00:12:00')
toTimestamp('2016-12-31T00:12:00', 'yyyy-MM-dd\'T\'HH:mm:ss', 'PST') -> toTimestamp('2016-12-31 00:12:00')
toTimestamp('12/31/2016T00:12:00', 'MM/dd/yyyy\'T\'HH:mm:ss') -> toTimestamp('2016-12-31 00:12:00')
millisecond(toTimestamp('2019-02-03 05:19:28.871', 'yyyy-MM-dd HH:mm:ss.SSS')) -> 871
toUTC
toUTC(<value1> : timestamp, [<value2> : string]) => timestamp
Konverterar tidsstämpeln till UTC. Du kan skicka en valfri tidszon i form av "GMT", "PST", "UTC", "America/Cayman". Den är standardinställningen för den aktuella tidszonen. Se Java-klassen SimpleDateFormat
för tillgängliga format. https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
toUTC(currentTimestamp()) == toTimestamp('2050-12-12 19:18:12') -> false
toUTC(currentTimestamp(), 'Asia/Seoul') != toTimestamp('2050-12-12 19:18:12') -> true
translate
translate(<string to translate> : string, <lookup characters> : string, <replace characters> : string) => string
Ersätt en uppsättning tecken med en annan uppsättning tecken i strängen. Tecken har 1 till 1 ersättning.
translate('(bojjus)', '()', '[]') -> '[bojjus]'
translate('(gunchus)', '()', '[') -> '[gunchus'
trim
trim(<string to trim> : string, [<trim characters> : string]) => string
Trimmar en sträng med inledande och avslutande tecken. Om den andra parametern är ospecificerad trimmas tomt utrymme. Annars trimmas alla tecken som anges i den andra parametern.
trim(' dumbo ') -> 'dumbo'
trim('!--!du!mbo!', '-!') -> 'dumbo'
true
true() => boolean
Returnerar alltid ett sant värde. Använd funktionen syntax(true())
om det finns en kolumn med namnet "true".
(10 + 20 == 30) -> true
(10 + 20 == 30) -> true()
typeMatch
typeMatch(<type> : string, <base type> : string) => boolean
Matchar kolumnens typ. Kan endast användas i mönsteruttryck. Talet matchar kort, heltal, lång, dubbel, flyttal eller decimal, integral matchar kort, heltal, lång, bråkmatchningar dubbel, flyttal, decimal och datetime matchar datum- eller tidsstämpeltyp.
typeMatch(type, 'number')
typeMatch('date', 'datetime')
U
unescape
unescape(<string_to_escape> : string, <format> : string) => string
Unescapes en sträng enligt ett format. Literalvärden för acceptabelt format är "json", "xml", "ecmascript", "html", "java".
unescape('{\\\\\"value\\\\\": 10}', 'json')
'{\\\"value\\\": 10}'
unfold
unfold (<value1>: array) => any
Utvecklar en matris till en uppsättning rader och upprepar värdena för de återstående kolumnerna i varje rad.
unfold(addresses) => any
unfold( @(name = salesPerson, sales = salesAmount) ) => any
unhex
unhex(<value1>: string) => binary
Hämtar ett binärt värde från strängrepresentationen. Detta kan användas med sha2, md5 för att konvertera från sträng till binär representation
unhex('1fadbe') -> toBinary([toByte(0x1f), toByte(0xad), toByte(0xbe)])
unhex(md5(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))) -> toBinary([toByte(0x4c),toByte(0xe8),toByte(0xa8),toByte(0x80),toByte(0xbd),toByte(0x62),toByte(0x1a),toByte(0x1f),toByte(0xfa),toByte(0xd0),toByte(0xbc),toByte(0xa9),toByte(0x05),toByte(0xe1),toByte(0xbc),toByte(0x5a)])
union
union(<value1>: array, <value2> : array) => array
Returnerar en unionsuppsättning med distinkta objekt från 2 matriser.
union([10, 20, 30], [20, 40]) => [10, 20, 30, 40]
upper
upper(<value1> : string) => string
Versaler en sträng.
upper('bojjus') -> 'BOJJUS'
uuid
uuid() => string
Returnerar det genererade UUID:et.
uuid()
V
variance
variance(<value1> : number) => double
Hämtar variansen för en kolumn.
variance(sales)
varianceIf
varianceIf(<value1> : boolean, <value2> : number) => double
Baserat på ett villkor hämtar variansen för en kolumn.
varianceIf(region == 'West', sales)
variancePopulation
variancePopulation(<value1> : number) => double
Hämtar populationsavvikelsen för en kolumn.
variancePopulation(sales)
variancePopulationIf
variancePopulationIf(<value1> : boolean, <value2> : number) => double
Baserat på ett villkor hämtar populationsvariansen för en kolumn.
variancePopulationIf(region == 'West', sales)
varianceSample
varianceSample(<value1> : number) => double
Hämtar den opartiska variansen för en kolumn.
varianceSample(sales)
varianceSampleIf
varianceSampleIf(<value1> : boolean, <value2> : number) => double
Baserat på ett villkor hämtar den opartiska variansen för en kolumn.
varianceSampleIf(region == 'West', sales)
O
weekOfYear
weekOfYear(<value1> : datetime) => integer
Får veckan på året givet ett datum.
weekOfYear(toDate('2008-02-20')) -> 8
weeks
weeks(<value1> : integer) => long
Varaktighet i millisekunder för antal veckor.
weeks(2) -> 1209600000L
X
xor
xor(<value1> : boolean, <value2> : boolean) => boolean
Logisk XOR-operator. Samma som ^ operator.
xor(true, false) -> true
xor(true, true) -> false
true ^ false -> true
Y
year
year(<value1> : datetime) => integer
Hämtar årsvärdet för ett datum.
year(toDate('2012-8-8')) -> 2012
Relaterat innehåll
- Lista över alla aggregeringsfunktioner.
- Lista över alla matrisfunktioner.
- Lista över alla cachelagrade uppslagsfunktioner.
- Lista över alla konverteringsfunktioner.
- Lista över alla datum- och tidsfunktioner.
- Lista över alla uttrycksfunktioner.
- Lista över alla kartfunktioner.
- Lista över alla metafunktioner.
- Lista över alla fönsterfunktioner.
- Lär dig hur du använder Expression Builder.