Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik:
Azure Data Factory
Azure Synapse Analytics
Tip
Az adatfolyamok Azure Data Factory folyamatokban és Azure Synapse Analytics folyamatokban is elérhetők. Ez a cikk az adatfolyamok leképezésére vonatkozik. Ha még nem ismerkedik az átalakításokkal, tekintse meg az Adatok átalakítása leképezési adatfolyamokkal című bevezető cikket.
Ez a cikk részletesen ismerteti az Azure Data Factory és Azure Synapse Analytics által támogatott összes kifejezés és függvény használatát az adatfolyamok leképezésében. A támogatott függvénytípusok összegzését a következő cikkekben találhatja meg:
- Függvények összesítése
- Tömbfüggvények
- Gyorsítótárazott keresési függvények
- Konverziós függvények
- Dátum- és időfüggvények
- Kifejezésfüggvények
- Leképezési függvények
- Metafunctions
- Window függvények
Az összes függvény betűrendes listája
Az alábbi betűrendes lista tartalmazza a leképezési adatfolyamokban elérhető összes függvényt.
A
abs
abs(<value1> : number) => number
Egy szám abszolút értékét adja vissza.
abs(-20) -> 20abs(10) -> 10
acos
acos(<value1> : number) => double
Koszinusz inverz értéket számít ki.
acos(1) -> 0.0
add
add(<value1> : any, <value2> : any) => any
Két sztringet vagy számot ad össze. Dátumot ad hozzá több naphoz. Időtartamot ad hozzá egy időbélyeghez. Hasonló típusú tömböt hozzáfűz egy másikhoz. Ugyanaz, mint az + operátor.
add(10, 20) -> 3010 + 20 -> 30add('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
Napokat ad hozzá egy dátum- vagy időbélyeghez. Ugyanaz, mint a + operátor a dátumokhoz.
addDays(toDate('2016-08-08'), 1) -> toDate('2016-08-09')
addMonths
addMonths(<date/timestamp> : datetime, <months to add> : integral, [<value3> : string]) => datetime
Hónapokat ad hozzá egy dátum- vagy időbélyeghez. Szükség esetén megadhat egy időzónát.
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
A logikai AND operátort használja. Ugyanaz, mint &&.
and(true, false) -> falsetrue && false -> false
approxDistinctCount
approxDistinctCount(<value1> : any, [ <value2> : double ]) => long
Lekéri egy oszlop különböző értékeinek hozzávetőleges összesített számát. Az opcionális második paraméter a becslési hiba szabályozása.
approxDistinctCount(ProductID, .05) => long
array
array([<value1> : any], ...) => array
Elemtömböt hoz létre. Minden elemnek azonos típusúnak kell lennie. Ha nincs megadva elem, akkor az alapértelmezett egy üres karakterlánc tömb. Ugyanaz, mint egy [] létrehozási operátor.
array('Seattle', 'Washington')['Seattle', 'Washington']['Seattle', 'Washington'][1]'Washington'
ascii
ascii(<Input> : string) => number
A bemeneti karakter numerikus értékét adja vissza. Ha a bemeneti sztring egynél több karakterből áll, a függvény az első karakter numerikus értékét adja vissza.
ascii('A') -> 65ascii('a') -> 97
asin
asin(<value1> : number) => double
Inverz szinuszértéket számít ki.
asin(0) -> 0.0
assertErrorMessages
assertErrorMessages() => map
Az összes hibaüzenet térképét adja vissza a sorhoz, ahol az assertazonosító a kulcs.
Examples
assertErrorMessages() => ['assert1': 'This row failed on assert1.', 'assert2': 'This row failed on assert2.']. In this example, at(assertErrorMessages(), 'assert1') would return 'This row failed on assert1.'
associate
reassociate(<value1> : map, <value2> : binaryFunction) => map
Kulcs/értékek térképét hozza létre. Minden kulcsnak és értéknek azonos típusúnak kell lennie. Ha nincs megadva elemek, akkor alapértelmezés szerint egy karakterlánc típusú térképként kezeljük. Ugyanaz, mint egy [ -> ] létrehozási operátor. A kulcsoknak és értékeknek váltakozniuk kell egymással.
associate('fruit', 'apple', 'vegetable', 'carrot' )=> ['fruit' -> 'apple', 'vegetable' -> 'carrot']
at
at(<value1> : array/map, <value2> : integer/key type) => array
Megkeresi az elemet egy tömbindexben. Az index 1 alapú. A határon kívüli index null értéket eredményez. Kulcs megadásakor megkeres egy értéket a térképen. Ha a kulcs nem található, null értéket ad vissza.
at(['apples', 'pears'], 1) => 'apples'at(['fruit' -> 'apples', 'vegetable' -> 'carrot'], 'fruit') => 'apples'
atan
atan(<value1> : number) => double
Inverz tangens értéket számít ki.
atan(0) -> 0.0
atan2
atan2(<value1> : number, <value2> : number) => double
A sík pozitív x tengelye és a koordináták által megadott pont közötti radiánban megadott szöget adja vissza.
atan2(0, 0) -> 0.0
avg
avg(<value1> : number) => number
Egy oszlop értékeinek átlagát kapja meg.
avg(sales)
avgIf
avgIf(<value1> : boolean, <value2> : number) => number
Egy oszlop értékeinek átlagát kapja meg feltételek alapján.
avgIf(region == 'West', sales)
B
between
between(<value1> : any, <value2> : any, <value3> : any) => boolean
Ellenőrzi, hogy az első érték két másik érték között van-e. Számokat, sztringeket és datetime értékeket hasonlíthat össze.
between(10, 5, 24)truebetween(currentDate(), currentDate() + 10, currentDate() + 20)false
bitwiseAnd
bitwiseAnd(<value1> : integral, <value2> : integral) => integral
A bitenkénti And operátort használja az integráltípusok között. Ugyanaz, mint az & operátor.
bitwiseAnd(0xf4, 0xef)0xe4(0xf4 & 0xef)0xe4
bitwiseOr
bitwiseOr(<value1> : integral, <value2> : integral) => integral
A bitenkénti Or operátort használja az integráltípusok között. Ugyanaz, mint az | operátor.
bitwiseOr(0xf4, 0xef)0xff(0xf4 | 0xef)0xff
bitwiseXor
bitwiseXor(<value1> : any, <value2> : any) => any
A bitenkénti Or operátort használja az integráltípusok között. Ugyanaz, mint az | operátor
bitwiseXor(0xf4, 0xef)0x1b(0xf4 ^ 0xef)0x1b(true ^ false)true(true ^ true)false
blake2b
blake2b(<value1> : integer, <value2> : any, ...) => string
Kiszámítja a Blake2 kivonatot egy különböző primitív adattípusú oszlopkészletből, ha megadja a bitehosszt, ami csak a 8 és 512 közötti 8 többszöröse lehet. Ezzel kiszámíthatja egy sor ujjlenyomatát.
blake2b(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))'c9521a5080d8da30dffb430c50ce253c345cc4c4effc315dab2162dac974711d'
blake2bBinary
blake2bBinary(<value1> : integer, <value2> : any, ...) => binary
Kiszámítja a Blake2 kivonatot különböző primitív adattípusokból álló oszlopkészletből, amikor meg van adva egy bithossz, amely csak 8 és 512 közötti, 8-cal osztható szám lehet. Ezzel kiszámíthatja egy sor ujjlenyomatát.
blake2bBinary(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4'))unHex('c9521a5080d8da30dffb430c50ce253c345cc4c4effc315dab2162dac974711d')
byItem
byItem(<parent column> : any, <column name> : string) => any
Alapelemet keres egy struktúra vagy struktúratömb belsejében. Ha több egyezés van, az első egyezést adjuk vissza. Ha nincsenek egyezések, a rendszer visszaad egy NULL értéket. A visszaadott értéket a típuskonvertálási műveletek (például ? date és ? string) egyikével kell átalakítani. Az oszlopneveket tervezéskor címük szerint kell megadni. A számított bemenetek nem támogatottak, de paraméterhelyettesítéseket is használhat.
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
Kiválaszt egy oszlopértéket név szerint a streamben. Második argumentumként megadhat egy választható streamnevet. Ha több egyezés van, az első egyezést adjuk vissza. Ha nincsenek egyezések, a rendszer visszaad egy NULL értéket. A visszaadott értéket a típuskonvertálási függvények (például TO_DATE és TO_STRING) egyikével kell konvertálni. Az oszlopneveket tervezéskor címük szerint kell megadni. A számított bemenetek nem támogatottak, de paraméterhelyettesítéseket is használhat.
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álasszon ki egy oszloptömböt név szerint a streamben. Második argumentumként megadhat egy választható streamnevet. Ha több egyezés van, az első egyezést adjuk vissza. Ha nincs egyezés egy oszlophoz, a teljes kimenet egy NULL érték. A visszaadott értékhez típuskonvertálási függvény szükséges (például toDate és toString). Az oszlopneveket tervezéskor címük szerint kell megadni. A számított bemenetek nem támogatottak, de paraméterhelyettesítéseket is használhat.
toString(byNames(['parent', 'child']))byNames(['parent']) ? stringtoLong(byNames(['income']))byNames(['income']) ? longtoBoolean(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
Kiválaszt egy oszlopértéket név szerint a forrásstreamben. A második argumentum a forrásstream neve. Ha több egyezés van, az első egyezést adjuk vissza. Ha nincsenek egyezések, a rendszer visszaad egy NULL értéket. A visszaadott értéket a típuskonvertálási függvények (például TO_DATE és TO_STRING) egyikével kell konvertálni. Az oszlopneveket tervezéskor címük szerint kell megadni. A számított bemenetek nem támogatottak, de paraméterhelyettesítéseket is használhat.
toString(byOrigin('ancestor', 'ancestorStream'))
byOrigins
byOrigins(<column names> : array, [<origin stream name> : string]) => any
Kiválaszt egy oszlopok tömbjét név szerint az adatfolyamban. A második argumentum az a stream, ahonnan származik. Ha több egyezés van, az első egyezést adjuk vissza. Ha nincsenek egyezések, a rendszer visszaad egy NULL értéket. A visszaadott értéket a típuskonvertálási függvények (például TO_DATE és TO_STRING) egyikével kell konvertálni. Az oszlopneveket tervezéskor címük szerint kell megadni. A számított bemenetek nem támogatottak, de paraméterhelyettesítéseket is használhat.
toString(byOrigins(['ancestor1', 'ancestor2'], 'ancestorStream'))
byPath
byPath(<value1> : string, [<streamName> : string]) => any
Megkeresi a hierarchikus elérési utat név szerint a streamben. Második argumentumként megadhat egy választható streamnevet. Ha nem található ilyen elérési út, az eredmény NULL. A tervezéskor ismert oszlopneveket/elérési utakat csak a nevük vagy a pont jelölési útvonaluk használatával szabad kezelni. A számított bemenetek nem támogatottak, de paraméterhelyettesítéseket is használhat.
byPath('grandpa.parent.child') => column
byPosition
byPosition(<position> : integer) => any
Kiválaszt egy oszlopértéket a stream relatív (1 alapú) pozíciója alapján. Ha a pozíció hatókörön kívül esik, akkor egy NULL értéket ad vissza. A visszaadott értéket a típuskonvertálási függvények egyikével (például TO_DATE vagy TO_STRING) kell konvertálni. A számított bemenetek nem támogatottak, de paraméterhelyettesítéseket is használhat.
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
Váltakozó feltételek alapján a case függvény az egyik értéket vagy a másikat alkalmazza. Ha a bemenetek száma páros, akkor az utolsó feltételnél alapértelmezetten NULL lesz használva.
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')) -> truecase(10 + 20 == 25, 'bojjus', 'do' > 'go', 'gunchus', 'dumbo') -> 'dumbo'
cbrt
cbrt(<value1> : number) => double
Kiszámítja egy szám kockagyökerét.
cbrt(8) -> 2.0
ceil
ceil(<value1> : number) => number
A legkisebb egész számot adja vissza, amely nem kisebb a számnál.
ceil(-0.1) -> 0
char
char(<Input> : number) => string
A bemeneti szám által képviselt ASCII karaktert adja vissza. Ha a szám nagyobb, mint 256, az eredmény egyenértékű a karakter (szám % 256).
char(65) -> 'A'char(97) -> 'a'
coalesce
coalesce(<value1> : any, ...) => any
Az első nem null értéket adja vissza bemenetek készletéből. Minden bemenetnek azonos típusúnak kell lennie.
coalesce(10, 20) -> 10coalesce(toString(null), toString(null), 'dumbo', 'bo', 'go') -> 'dumbo'
collect
collect(<value1> : any) => array
Az összesített csoportban lévő kifejezés összes értékét tömbbe gyűjti. A folyamat során a struktúrákat más struktúrákká gyűjtheti és alakíthatja át. Az elemek száma megegyezik a csoportban lévő sorok számával, és null értékeket tartalmazhat. Az összegyűjtött elemek számának kicsinek kell lennie.
collect(salesPerson)collect(firstName + lastName))collect(@(name = salesPerson, sales = salesAmount) )
collectUnique
collectUnique(<value1> : any) => array
Az összesített csoportban lévő kifejezés összes értékét egy egyedi tömbbe gyűjti össze. A folyamat során a struktúrákat más struktúrákká gyűjtheti és alakíthatja át. Az elemek száma megegyezik a csoportban lévő sorok számával, és null értékeket tartalmazhat. Az összegyűjtött elemek számának kicsinek kell lennie.
collect(salesPerson)collect(firstName + lastName))collect(@(name = salesPerson, sales = salesAmount) )
columnNames
columnNames(
<value1>columnNames( : string, i><value1> : boolean) => array
Lekéri egy stream összes kimeneti oszlopának nevét. Első argumentumként megadhat egy választható streamnevet. A második argumentum szintén nem kötelező, alapértelmezés szerint hamis. Ha a második argumentumot true()állítja be, a Data Factory csak olyan oszlopokat ad vissza, amelyek sémaeltolódáson keresztül sodródtak.
columnNames()
columnNames('DeriveStream')
columnNames('DeriveStream', true())
columnNames('', true())
columns
columns([<stream name> : string]) => any
Lekéri egy stream összes kimeneti oszlopának értékeit. Második argumentumként megadhat egy választható streamnevet.
columns()
columns('DeriveStream')
compare
compare(<value1> : any, <value2> : any) => integer
Két azonos típusú értéket hasonlít össze. Negatív egész számot ad vissza, ha érték1 < érték2, 0 ha érték1 == érték2, és pozitív értéket, ha érték1 > érték2.
(compare(12, 24) < 1) -> true
(compare('dumbo', 'dum') > 0) -> true
concat
concat(<this> : string, <that> : string, ...) => string
Összefűz egy változó számú karakterláncot. Ugyanaz, mint a + operátor sztringekkel.
concat('dataflow', 'is', 'awesome') -> 'dataflowisawesome'
'dataflow' + 'is' + 'awesome' -> 'dataflowisawesome'
isNull('sql' + null) -> true
concatWS
concatWS(<separator> : string, <this> : string, <that> : string, ...) => string
A sztringek változószámát összefűzi egy elválasztójellel. Az első paraméter az elválasztó.
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
Akkor adja true vissza, ha a megadott tömb bármely eleme a megadott predikátumban szereplő értéket értékeli true ki. A Th contains függvény a predikátumfüggvény #itemegy elemére való hivatkozást vár.
contains([1, 2, 3, 4], #item == 3) -> true
contains([1, 2, 3, 4], #item > 5) -> false
cos
cos(<value1> : number) => double
Koszinuszértéket számít ki.
cos(10) -> -0.8390715290764524
cosh
cosh(<value1> : number) => double
Egy érték hiperbolikus koszinuszát számítja ki.
cosh(0) -> 1.0
count
count([<value1> : any]) => long
Lekéri az értékek összesített számát. Ha egy vagy több választható oszlop van megadva, figyelmen kívül hagyja NULL a darabszám értékeit.
count(custId)
count(custId, custName)
count()
count(iif(isNull(custId), 1, NULL))
countAll
countAll([<value1> : any]) => long
Lekéri az értékek összesített számát, beleértve a null értékeket is.
countAll(custId)
countAll()
countDistinct
countDistinct(<value1> : any, [<value2> : any], ...) => long
Lekéri egy oszlopkészlet különböző értékeinek összesített számát.
countDistinct(custId, custName)
countAllDistinct
countAllDistinct(<value1> : any, [<value2> : any], ...) => long
Lekéri egy oszlopkészlet különböző értékeinek összesített számát, beleértve a null értékeket is.
countAllDistinct(custId, custName)
countIf
countIf(<value1> : boolean, [<value2> : any]) => long
A feltételek alapján lekéri az értékek összesített számát. Ha az opcionális oszlop meg van adva, figyelmen kívül hagyja a NULL értékeket a darabszámból.
countIf(state == 'CA' && commission < 10000, name)
covariancePopulation
covariancePopulation(<value1> : number, <value2> : number) => double
Lekérdezi a sokaság kovarianciáját két oszlop között.
covariancePopulation(sales, profit)
covariancePopulationIf
covariancePopulationIf(<value1> : boolean, <value2> : number, <value3> : number) => double
Két oszlop populációs kovarianciáját számítja ki kritériumok alapján.
covariancePopulationIf(region == 'West', sales)
covarianceSample
covarianceSample(<value1> : number, <value2> : number) => double
Két oszlop minta kovarianciáját kapja meg.
covarianceSample(sales, profit)
covarianceSampleIf
covarianceSampleIf(<value1> : boolean, <value2> : number, <value3> : number) => double
Két oszlop minta kovarianciáját kapja meg feltételek alapján.
covarianceSampleIf(region == 'West', sales, profit)
crc32
crc32(<value1> : any, ...) => long
Kiszámítja a CRC32 kivonatot egy változó primitív adattípusú oszlopkészletből, ha egy bithosszt ad meg, amely csak értékekből 0(256állhat , 224, 256384és 512. Ezzel kiszámíthatja egy sor ujjlenyomatát.
crc32(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> 3630253689L
cumeDist
cumeDist() => integer
A cumeDist függvény kiszámítja egy érték pozícióját a partíció összes értékéhez viszonyítva. Az eredmény a partíció sorrendjének aktuális sorát megelőző vagy azzal egyenlő sorok száma, osztva az ablakpartícióban lévő sorok teljes számával. A rendezés során az egyenlő értékek azonos pozícióba kerülnek.
cumeDist()
currentDate
currentDate([<value1> : string]) => date
Lekéri a feladat futtatásának aktuális dátumát. Az opcionális időzónát a következő formában GMTadhatja át: , PST, UTCvagy America/Cayman. A rendszer alapértelmezés szerint az adat-előállító adatközpontjának/régiójának helyi időzónáját használja. Az elérhető formátumokért tekintse meg Java SimpleDateFormat osztályát.
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
Lekéri az aktuális időbélyeget, amikor a feladat helyi időzónával kezd futni.
currentTimestamp() == toTimestamp('2250-12-31 12:12:12') -> false
currentUTC
currentUTC([<value1> : string]) => timestamp
Az aktuális időbélyeget UTC-ként kapja meg. Ha azt szeretné, hogy az aktuális idő a fürt időzónájától eltérő időzónában legyen értelmezve, megadhat egy választható időzónát a következő formában GMT, PST, UTC vagy America/Cayman. Alapértelmezés szerint az aktuális időzóna. Az elérhető formátumokért tekintse meg Java SimpleDateFormat osztályát. Ha az UTC-időt egy másik időzónává szeretné konvertálni, használja a következőt 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
A hónap napját adja vissza egy megadott dátum esetén.
dayOfMonth(toDate('2018-06-08')) -> 8
dayOfWeek
dayOfWeek(<value1> : datetime) => integer
A hét napját adja meg egy adott dátum esetén. Például vasárnap 1 van, 2 hétfő, ... és 7 szombat van.
dayOfWeek(toDate('2018-06-08')) -> 6
dayOfYear
dayOfYear(<value1> : datetime) => integer
Az év napját adja meg, ha megadja a dátumot.
dayOfYear(toDate('2016-04-09')) -> 100
days
days(<value1> : integer) => long
A napok száma ezredmásodpercben.
days(2) -> 172800000L
decode
decode(<Input> : any, <Charset> : string) => binary
A kódolt bemeneti adatokat egy sztringbe dekódolja az adott karakterkészlet alapján. Egy második (nem kötelező) argumentum használatával megadhatja, hogy melyik karakterkészletet használja. Példák: US-ASCII, ISO-8859-1, UTF-8 (alapértelmezett), UTF-16BE, UTF-16LE, és UTF-16.
decode(array(toByte(97),toByte(98),toByte(99)), 'US-ASCII') -> abc
degrees
degrees(<value1> : number) => double
A radiánokat fokokká alakítja.
degrees(3.141592653589793) -> 180
denseRank
denseRank() => integer
Kiszámítja egy érték rangsorát egy ablak sorrendjében megadott értékcsoportban záradék szerint. Az eredmény egy plusz a partíció sorrendjének aktuális sorát megelőző vagy egyenlő sorok száma. Az értékek nem okoznak réseket a sorozatban. A denseRank függvény akkor is működik, ha az adatok nincsenek rendezve, és az értékek változását keresi.
denseRank()
distinct
distinct(<value1> : array) => array
Visszaadja egy tömb egyedi elemeinek halmazát.
distinct([10, 20, 30, 10]) => [10, 20, 30]
divide
divide(<value1> : any, <value2> : any) => any
Számok párját osztja el. Ugyanaz, mint az / operátor.
divide(20, 10) -> 2
20 / 10 -> 2
dropLeft
dropLeft(<value1> : string, <value2> : integer) => string
Annyi karaktert távolít el a sztring bal oldaláról, amennyit csak lehet. Ha a lekért rész túllépi a karakterlánc hosszát, egy üres karakterlánccal tér vissza.
dropLeft('bojjus', 2) => 'jjus'
dropLeft('cake', 10) => ''
dropRight
dropRight(<value1> : string, <value2> : integer) => string
Eltávolít annyi karaktert a karakterlánc jobb oldaláról, amennyi csak lehetséges. Ha a lekért rész túllépi a karakterlánc hosszát, egy üres karakterlánccal tér vissza.
dropRight('bojjus', 2) => 'bojj'
dropRight('cake', 10) => ''
E
encode
encode(<Input> : string, <Charset> : string) => binary
A bemeneti sztringadatokat karakterkészlet alapján binárisra kódolja. Egy második (nem kötelező) argumentum használatával megadhatja, hogy melyik karakterkészletet használja. Példák: US-ASCII, ISO-8859-1, UTF-8 (alapértelmezett), UTF-16BE, UTF-16LE, és UTF-16.
encode('abc', 'US-ASCII') -> array(toByte(97),toByte(98),toByte(99))
endsWith
endsWith(<string> : string, <substring to check> : string) => boolean
Ellenőrzi, hogy a sztring a megadott sztringgel végződik-e.
endsWith('dumbo', 'mbo') -> true
equals
equals(<value1> : any, <value2> : any) => boolean
Az összehasonlítás egyenlő operátort használja. Ugyanaz, mint az == operátor.
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
Az összehasonlítási egyenlő operátort használja, figyelmen kívül hagyva az esetet. Ugyanaz, mint az <=> operátor.
'abc'<=>'Abc' -> true
equalsIgnoreCase('abc', 'Abc') -> true
escape
escape(<string_to_escape> : string, <format> : string) => string
Egy karakterlánc karaktereinek formátum szerinti elkerülése. Az elfogadható formátum literális értékei a következőkjson: , xmlecmascript, htmlés java.
except
except(<value1> : array, <value2> : array) => array
Egy tömb másik tömbből való különbséghalmazát adja vissza, eltávolítva az ismétlődéseket.
except([10, 20, 30], [20, 40]) => [10, 30]
expr
expr(<expr> : string) => any
Egy sztringből származó kifejezést eredményez, amely megegyezik a kifejezés nemliterális formában történő írásával. A paraméterek sztringreprezentációként való átadására használható.
expr('price * discount') => any
F
factorial
factorial(<value1> : number) => long
Egy szám faktoriálisát számítja ki.
factorial(5) -> 120
false
false() => boolean
Mindig hamis értéket ad vissza. Használja a függvényt syntax(false()) , ha egy oszlop neve el van nevezve false.
(10 + 20 > 30) -> false
(10 + 20 > 30) -> false()
filter
filter(<value1> : array, <value2> : unaryfunction) => array
Kiszűri a tömbből azokat az elemeket, amelyek nem felelnek meg a megadott predikátumnak. A Szűrő a predikátumfüggvény #itemegy elemére való hivatkozást vár.
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
Keresse meg a feltételnek megfelelő tömb első elemét. Egy szűrőfüggvényt fogad el, ahol a tömbben lévő elemet #item-ként kezelheti. A mélyen beágyazott térképek esetében a szülőtérképekre a (#item_1, #item_2...) jelöléssel #item_n hivatkozhat.
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
Lekérdezi az oszlopcsoport első értékét. Ha a második paraméter ignoreNulls nincs megadva, a Data Factory hamis értéket feltételez.
first(sales)
first(sales, false)
flatten
flatten(<array> : array, <value2> : array ..., <value2> : boolean) => array
Tömböt vagy tömböket egyetlen tömbbé lapíthat. Az atomelemek tömbjei változatlanul lesznek visszaadva. Az utolsó argumentum nem kötelező, és alapértelmezés szerint hamis értékre van beállítva, hogy több szint mélységben rekurzívan lapítson.
flatten([['bojjus', 'girl'], ['gunchus', 'boy']]) => ['bojjus', 'girl', 'gunchus', 'boy']
flatten([[['bojjus', 'gunchus']]] , true) => ['bojjus', 'gunchus']
floor
floor(<value1> : number) => number
A legnagyobb egész számot adja vissza, amely nem nagyobb a számnál.
floor(-0.1) -> -1
fromBase64
fromBase64(<value1> : string, <encoding type> : string) => string
Dekódolja az adott base64 kódolású sztringet. A kódolási típust opcionálisan átadhatja.
fromBase64('Z3VuY2h1cw==') -> 'gunchus'
fromBase64('SGVsbG8gV29ybGQ=', 'Windows-1252') -> 'Hello World'
fromUTC
fromUTC(<value1> : timestamp, [<value2> : string]) => timestamp
Az UTC időbélyegből konvertálja. Az időzónát opcionálisan megadhatja GMT, PST, UTC, vagy America/Cayman formában. Alapértelmezés szerint az aktuális időzóna. Az elérhető formátumokért tekintse meg Java SimpleDateFormat osztályát.
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
A nagyobb összehasonlító operátort használja. Ugyanaz, mint az > operátor.
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
Az operátorral nagyobb vagy egyenlő összehasonlítást használ. Ugyanaz, mint az >= operátor.
greaterOrEqual(12, 12) -> true
('dumbo' >= 'dum') -> true
greatest
greatest(<value1> : any, ...) => any
A legnagyobb értéket adja vissza bemenetként az értékek listájában, kihagyva a null értékeket. Akkor adja null vissza, ha az összes bemenet null értékű.
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
A streamben név szerint keres oszlopértéket. Második argumentumként megadhat egy választható streamnevet. Az oszlopneveket tervezéskor címük szerint kell megadni. A számított bemenetek nem támogatottak, de paraméterhelyettesítéseket is használhat.
hasColumn('parent')
hasError
hasError([<value1> : string]) => boolean
Ellenőrzi, hogy a megadott azonosítóval rendelkező objektum hibaként van-e megjelölve.
Examples
hasError('assert1')
hasError('assert2')
hasPath
hasPath(<value1> : string, [<streamName> : string]) => boolean
Ellenőrzi, hogy létezik-e név alapján egy bizonyos hierarchikus elérési út a streamben. Második argumentumként megadhat egy választható streamnevet. A tervezéskor ismert oszlopneveket/elérési utakat csak a nevük vagy a pont jelölési útvonaluk használatával szabad kezelni. A számított bemenetek nem támogatottak, de paraméterhelyettesítéseket is használhat.
hasPath('grandpa.parent.child') => boolean
hex
hex(<value1>: binary) => string
A bináris értéket hexadecimális formában adja vissza.
hex(toBinary([toByte(0x1f), toByte(0xad), toByte(0xbe)])) -> '1fadbe'
hour
hour(<value1> : timestamp, [<value2> : string]) => integer
Lekéri egy időbélyeg óraértékét. Az opcionális időzónát a következő formában GMTadhatja át: , PST, UTCvagy America/Cayman. A rendszer alapértelmezés szerint a helyi időzónát használja. Az elérhető formátumokért tekintse meg Java SimpleDateFormat osztályát.
hour(toTimestamp('2009-07-30 12:58:59')) -> 12
hour(toTimestamp('2009-07-30 12:58:59'), 'PST') -> 12
hours
hours(<value1> : integer) => long
Lekéri az időtartamot ezredmásodpercben az órák számától számolva.
hours(2) -> 7200000L
I
iif
iif(<condition> : boolean, <true_expression> : any, [<false_expression> : any]) => any
Egy értéket vagy egy másikat alkalmaz egy feltétel alapján. Ha a másik nem meghatározott, akkor az értéket a rendszer figyelembe veszi NULL. Mindkét értéknek kompatibilisnek kell lennie (például numerikus és sztring).
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
Az első nem null elemet adja vissza, ha két vagy több bemenetet ad meg. Ez a függvény egyenértékű a coalesce függvényével.
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
Ellenőrzi, hogy egy elem szerepel-e a tömbben.
in([10, 20, 30], 10) -> true
in(['good', 'kid'], 'bad') -> false
initCap
initCap(<value1> : string) => string
Minden szó első betűjének nagybetűssé alakítása. A szavakat szóköz választja el egymástól.
initCap('cool iceCREAM') -> 'Cool Icecream'
instr
instr(<string> : string, <substring to find> : string) => integer
Megkeresi a karakterláncon belüli részsztring pozícióját (1-alapú). Ha nem található, a 0 visszatér.
instr('dumbo', 'mbo') -> 3
instr('microsoft', 'o') -> 5
instr('good', 'bad') -> 0
intersect
intersect(<value1> : array, <value2> : array) => array
Két tömb egyedi elemeinek metszetét adja vissza.
intersect([10, 20, 30], [20, 40]) => [20]
isBitSet
isBitSet (<value1> : array, <value2>:integer ) => boolean
Ellenőrzi, hogy a bitpozíció be van-e állítva ebben a bitkészletben.
isBitSet(toBitSet([10, 32, 98]), 10) => true
isBoolean
isBoolean(<value1>: string) => boolean
Ellenőrzi, hogy a sztring értéke logikai érték-e a szabálynak toBoolean()megfelelően.
isBoolean('true') -> true
isBoolean('no') -> true
isBoolean('microsoft') -> false
isByte
isByte(<value1> : string) => boolean
Ellenőrzi, hogy a karakterlánc értéke bájt érték-e, amikor opcionálisan megad egy formátumot, amely megfelel a toByte() szabályainak.
isByte('123') -> true
isByte('chocolate') -> false
isDate
isDate (<value1> : string, [<format>: string]) => boolean
Ellenőrzi, hogy a bemeneti dátum sztringje dátum-e egy opcionális beviteli dátumformátum használatával. Az elérhető formátumokért tekintse meg Java SimpleDateFormat osztályát. Ha a bemeneti dátum formátuma nincs megadva, az alapértelmezett formátum a következő yyyy-[M]M-[d]d. Az elfogadott formátumok a következők :[ 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
A toDecimal() szabályainak megfelelően megadott formátum esetén ellenőrzi, hogy a karakterlánc decimális érték-e.
isDecimal('123.45') -> true
isDecimal('12/12/2000') -> false
isDelete
isDelete([<value1> : integer]) => boolean
Ellenőrzi, hogy a sort törölni kell-e. Egynél több bemeneti adatfolyamot használó átalakítások esetén átadhatja a stream (1-alapú) indexét. A streamindexnek vagy 1 az 2, és az alapértelmezett értéknek 1kell lennie.
isDelete()
isDelete(1)
isDistinct
isDistinct(<value1> : any , <value1> : any) => boolean
Megállapítja, hogy egy oszlop vagy oszlopkészlet eltérő-e. A null érték nem számít különálló értéknek.
isDistinct(custId, custName) => boolean
isDouble
isDouble (<value1> : string, [<format>: string]) => boolean
Ellenőrzi, hogy a sztring értéke dupla érték-e, ha a szabálynak toDouble()megfelelő formátumot ad meg.
isDouble('123') -> true
isDouble('$123.45' -> '$###.00') -> true
isDouble('icecream') -> false
isError
isError([<value1> : integer]) => boolean
Ellenőrzi, hogy a sor hibaként van-e megjelölve. Egynél több bemeneti adatfolyamot használó átalakítások esetén átadhatja a stream (1-alapú) indexét. A stream indexnek vagy 1, vagy 2-nek kell lennie, az alapértelmezett érték pedig 1.
isError()
isError(1)
isFloat
isFloat (<value1> : string, [<format>: string]) => boolean
Ellenőrzi, hogy a sztring értéke lebegőpontos érték-e, ha a szabálynak toFloat()megfelelő választható formátumot ad meg.
isFloat('123') -> true
isFloat('$123.45' -> '$###.00') -> true
isFloat('icecream') -> false
isIgnore
isIgnore([<value1> : integer]) => boolean
Ellenőrzi, hogy a sort figyelmen kívül kell-e hagyni. Olyan transzformációk esetén, amelyek több mint egy bemeneti adatfolyamot igényelnek, megadhatja az adatfolyam (1-alapú) indexét. A streamindexnek vagy 1 az 2, és az alapértelmezett értéknek 1kell lennie.
isIgnore()
isIgnore(1)
isInsert
isInsert([<value1> : integer]) => boolean
Ellenőrzi, hogy a sor meg van-e jelölve beszúrásra. Olyan transzformációk esetén, amelyek több mint egy bemeneti adatfolyamot igényelnek, megadhatja az adatfolyam (1-alapú) indexét. A streamindexnek vagy 1 az 2, és az alapértelmezett értéknek 1kell lennie.
isInsert()
isInsert(1)
isInteger
isInteger (<value1> : string, [<format>: string]) => boolean
Ellenőrzi, hogy a karakterlánc értéke egész szám-e, ha a szabálynak megfelelő formátumot ad meg toInteger() szerint.
isInteger('123') -> true
isInteger('$123' -> '$###') -> true
isInteger('microsoft') -> false
isLong
isLong (<value1> : string, [<format>: string]) => boolean
Ellenőrzi, hogy a sztring értéke hosszú egész szám-e, ha egy megadott formátum illeszkedik a toLong() szabályaihoz.
isLong('123') -> true
isLong('$123' -> '$###') -> true
isLong('gunchus') -> false
isMatch
isMatch([<value1> : integer]) => boolean
Ellenőrzi, hogy a sor megfelel-e a keresésnek. Olyan transzformációk esetén, amelyek több mint egy bemeneti adatfolyamot igényelnek, megadhatja az adatfolyam (1-alapú) indexét. A streamindexnek vagy 1 az 2, és az alapértelmezett értéknek 1kell lennie.
isMatch()
isMatch(1)
isNan
isNan (<value1> : integral) => boolean
Ellenőrzi, hogy az érték nem szám-e.
isNan(10.2) => false
isNull
isNull(<value1> : any) => boolean
Ellenőrzi, hogy az érték NULL-e van.
isNull(NULL()) -> true
isNull('') -> false
isShort
isShort (<value1> : string, [<format>: string]) => boolean
Ellenőrzi, hogy a sztring értéke short típusú-e, amikor egy választható formátumot ad meg a toShort() szabályainak megfelelően.
isShort('123') -> true
isShort('$123' -> '$###') -> true
isShort('microsoft') -> false
isTimestamp
isTimestamp (<value1> : string, [<format>: string]) => boolean
Ellenőrzi, hogy a bemeneti dátum karakterlánc időbélyeg-e egy opcionálisan megadott bemeneti időbélyeg formátummal. Az elérhető formátumokért tekintse meg Java SimpleDateFormat osztályát. Ha az időbélyeg nincs megadva, a rendszer az alapértelmezett mintát yyyy-[M]M-[d]d hh:mm:ss[.f...] használja. Az opcionális időzónát a következő formában GMTadhatja át: , PST, UTCvagy America/Cayman. A timestamp függvény akár ezredmásodperc pontossággal is támogat egy 999 értéket. Az elérhető formátumokért tekintse meg Java SimpleDateFormat osztályát.
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
Ellenőrzi, hogy a sor frissítésre van-e megjelölve. Olyan transzformációk esetén, amelyek több mint egy bemeneti adatfolyamot igényelnek, megadhatja az adatfolyam (1-alapú) indexét. A streamindexnek vagy 1 az 2, és az alapértelmezett értéknek 1kell lennie.
isUpdate()
isUpdate(1)
isUpsert
isUpsert([<value1> : integer]) => boolean
Ellenőrzi, hogy a sor meg van-e jelölve beszúrásra. Olyan transzformációk esetén, amelyek több mint egy bemeneti adatfolyamot igényelnek, megadhatja az adatfolyam (1-alapú) indexét. A streamindexnek vagy 1 az 2, és az alapértelmezett értéknek 1kell lennie.
isUpsert()
isUpsert(1)
J
jaroWinkler
jaroWinkler(<value1> : string, <value2> : string) => double
Meghatározza a JaroWinkler távolságot két karakterlánc között.
jaroWinkler('frog', 'frog') => 1.0
K
keyValues
keyValues(<value1> : array, <value2> : array) => map
Kulcs/értékek térképét hozza létre. Az első paraméter a kulcsok tömbje, a második pedig az értékek tömbje. Mindkét tömbnek egyenlő hosszúságúnak kell lennie.
keyValues(['bojjus', 'appa'], ['gunchus', 'ammi']) => ['bojjus' -> 'gunchus', 'appa' -> 'ammi']
kurtosis
kurtosis(<value1> : number) => double
Lekéri egy oszlop kurtózisát.
kurtosis(sales)
kurtosisIf
kurtosisIf(<value1> : boolean, <value2> : number) => double
Meghatározza egy oszlop kurtózisát a feltételek alapján.
kurtosisIf(region == 'West', sales)
L
lag
lag(<value> : any, [<number of rows to look before> : number], [<default value> : any]) => any
Lekéri az első paraméter által kiértékelt n sorok értékét az aktuális sor előtt. A második paraméter a visszatekintendő sorok száma, az alapértelmezett érték pedig 1a . Ha nincs annyi sor, a rendszer null értéket ad vissza, hacsak nincs megadva alapértelmezett érték.
lag(amount, 2)
lag(amount, 2000, 100)
last
last(<value1> : any, [<value2> : boolean]) => any
Egy oszlopcsoport utolsó értékét kapja meg. Ha a második paraméter ignoreNulls nincs megadva, akkor hamisnak kell lennie.
last(sales)
last(sales, false)
lastDayOfMonth
lastDayOfMonth(<value1> : datetime) => date
Egy megadott dátum esetén a hónap utolsó dátumát adja meg.
lastDayOfMonth(toDate('2009-01-12')) -> toDate('2009-01-31')
lead
lead(<value> : any, [<number of rows to look after> : number], [<default value> : any]) => any
Lekéri az aktuális sor után kiértékelt n első paramétersor értékét. A második paraméter a megtekintendő sorok száma, az alapértelmezett érték pedig 1az . Ha nincs annyi sor, a rendszer null értéket ad vissza, hacsak nincs megadva alapértelmezett érték.
lead(amount, 2)
lead(amount, 2000, 100)
least
least(<value1> : any, ...) => any
Az operátorral kisebb vagy egyenlő összehasonlítást használ. Ugyanaz, mint az <= operátor.
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
Kivon egy részkarakterláncot az 1 indexnél kezdve a megadott karakterek számával. Ugyanaz, mint SUBSTRING(str, 1, n).
left('bojjus', 2) -> 'bo'
left('bojjus', 20) -> 'bojjus'
length
length(<value1> : string) => integer
A karakterlánc hosszát adja vissza.
length('dumbo') -> 5
lesser
lesser(<value1> : any, <value2> : any) => boolean
Az összehasonlítás kevesebb operátort használ. Ugyanaz, mint az < operátor.
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
Az operátorral kisebb vagy egyenlő összehasonlítást használ. Ugyanaz, mint az <= operátor.
lesserOrEqual(12, 12) -> true
('dumbo' <= 'dum') -> false
levenshtein
levenshtein(<from string> : string, <to string> : string) => integer
Lekérdezi a Levenshtein-távolságot két karakterlánc között.
levenshtein('boys', 'girls') -> 4
like
like(<string> : string, <pattern match> : string) => boolean
Szó szerint egyező karakterláncmintát használ. A kivételek a következő speciális szimbólumok: _ egyezik a bemenet bármely karakterével (hasonló a .* normál kifejezésekhezposix).
% nulla vagy több karakterrel egyezik meg a bemenetben (hasonló a .* a reguláris kifejezésekben posix).
A menekülési karakter a "". Ha egy vezérlőkarakter egy speciális szimbólumot vagy egy másik vezérlőkaraktert előz meg, a következő karakter szó szerint illeszkedik. Érvénytelen a többi karakter kimenekülése.
like('icecream', 'ice%') -> true
locate
locate(<substring to find> : string, <string> : string, [<from index - 1-based> : integral]) => integer
Megkeresi az alsztring pozícióját (1 alapján) egy sztringen belül, egy adott pozíciótól kezdve. Ha a pozíció nincs megadva, az a sztring elejétől kezdődik. Ha nem található, a 0 visszatér.
locate('mbo', 'dumbo') -> 3
locate('o', 'microsoft', 6) -> 7
locate('bad', 'good') -> 0
log
log(<value1> : number, [<value2> : number]) => double
Kiszámítja a logaritmus értékét. Ha használja, megadhat egy választható bázist vagy egy Euler-számot.
log(100, 10) -> 2
log10
log10(<value1> : number) => double
A logaritmus értékét 10-es alapon számítja ki.
log10(100) -> 2
lookup
lookup(key, key2, ...) => complex[]
A gyorsítótárban lévő cél első sorát keresi meg az adott kulcsok alapján, amelyek egyeznek a gyorsítótári cél kulcsaival.
cacheSink#lookup(movieId)
lower
lower(<value1> : string) => string
Egy karaktersor kisbetűssé alakítása.
lower('GunChus') -> 'gunchus'
lpad
lpad(<string to pad> : string, <final padded length> : integral, <padding> : string) => string
Addig balról kitölti a sztringet a megadott kitöltéssel, amíg el nem éri a kívánt hosszúságot. Ha a sztring hossza egyenlő vagy nagyobb a meghatározott hosszúságnál, a sztring le lesz rövidítve a hosszúságra.
lpad('dumbo', 10, '-') -> '-----dumbo'
lpad('dumbo', 4, '-') -> 'dumb'
ltrim
ltrim(<string to trim> : string, [<trim characters> : string]) => string
A karaktersor elején lévő bevezető karakterek lesznek eltávolítva. Ha a második paraméter nincs meghatározva, levágja a térközt. Ellenkező esetben a második paraméterben megadott karaktereket levágja.
ltrim(' dumbo ') -> 'dumbo '
ltrim('!--!du!mbo!', '-!') -> 'du!mbo!'
M
map
map(<value1> : array, <value2> : unaryfunction) => any
A megadott kifejezéssel a tömb minden elemét egy új elemhez rendeli. A map függvény a kifejezésfüggvény #itemegy elemére való hivatkozást vár.
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
Átalakítja a térképet úgy, hogy a kulcsokat új értékekhez társítja. Tömböt ad vissza. Egy leképezési függvényt vesz igénybe, ahol az elemet a következőképpen #key , az aktuális értéket pedig a következőképpen #valuekezelheti.
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
Feltételesen egy tömböt egy másik, azonos vagy kisebb hosszúságú tömbre képez le. Az értékek bármilyen típusúak lehetnek, beleértve a structTypes. Egy leképezési függvényt vesz igénybe, ahol a tömbben lévő elemet #item-ként, az aktuális indexet pedig #index-ként kezelheti. A mélyen beágyazott térképek esetében a szülőtérképekre a ''#item_[n] (#item_1, #index_1' jelöléssel hivatkozhat.
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
A megadott kifejezéssel a tömb minden elemét egy új elemhez rendeli. A map függvény elvárja, hogy a kifejezési függvény egyik elemére #item hivatkozás, illetve az elemindexre hivatkozás #index biztosítva legyen.
mapIndex([1, 2, 3, 4], #item + 2 + #index) -> [4, 6, 8, 10]
mapLoop
mapLoop(<value1> : integer, <value2> : unaryfunction) => any
A 1-tól a megadott hosszig végighaladva létrehoz egy ilyen hosszúságú tömböt. Egy leképezési függvényt vesz igénybe, ahol a tömb indexét a következőképpen #indexkezelheti. A mélyen beágyazott térképek esetében a szülőtérképekre a (#index_n, #index_1) jelöléssel #index_2 hivatkozhat.
mapLoop(3, #index * 10) -> [10, 20, 30]
max
max(<value1> : any) => any
Egy oszlop maximális értékét adja meg.
max(sales)
maxIf
maxIf(<value1> : boolean, <value2> : any) => any
Egy oszlop maximális értékét adja meg feltételek alapján.
maxIf(region == 'West', sales)
md5
md5(<value1> : any, ...) => string
Kiszámítja a különböző primitív adattípusokból álló oszlopok MD5-kivonatát, és egy 32 karakterből álló hexa sztringet ad vissza. Ezzel kiszámíthatja egy sor ujjlenyomatát.
md5(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> '4ce8a880bd621a1ffad0bca905e1bc5a'
mean
mean(<value1> : number) => number
Egy oszlop értékeinek középértékét kapja meg. Ugyanaz, mint AVG.
mean(sales)
meanIf
meanIf(<value1> : boolean, <value2> : number) => number
Egy oszlop értékeinek átlagát kapja meg feltételek alapján. Ugyanaz, mint avgIf.
meanIf(region == 'West', sales)
millisecond
millisecond(<value1> : timestamp, [<value2> : string]) => integer
Lekéri egy dátum ezredmásodpercét. Az opcionális időzónát a következő formában GMTadhatja át: , PST, UTCvagy America/Cayman. A rendszer alapértelmezés szerint a helyi időzónát használja. Az elérhető formátumokért tekintse meg Java SimpleDateFormat osztályát.
millisecond(toTimestamp('2009-07-30 12:58:59.871', 'yyyy-MM-dd HH:mm:ss.SSS')) -> 871
milliseconds
milliseconds(<value1> : integer) => long
Lekéri az időtartam számlálását milliszekundumban.
milliseconds(2) -> 2L
min
min(<value1> : any) => any
Egy oszlop minimális értékét adja meg.
min(sales)
minIf
minIf(<value1> : boolean, <value2> : any) => any
Egy oszlop minimális értékét adja meg feltételek alapján.
minIf(region == 'West', sales)
minus
minus(<value1> : any, <value2> : any) => any
Számokat von ki. Kivonja a dátumtól számított napok számát. Kivonja az időtartamot egy időbélyegből. Kivon két időbélyeget, hogy ezredmásodpercben megkaphassa a különbséget. Ugyanaz, mint az - operátor.
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
Lekérdezi egy időbélyeg percértékét. Az opcionális időzónát a következő formában GMTadhatja át: , PST, UTCvagy America/Cayman. A rendszer alapértelmezés szerint a helyi időzónát használja. Az elérhető formátumokért tekintse meg Java SimpleDateFormat osztályát.
minute(toTimestamp('2009-07-30 12:58:59')) -> 58
minute(toTimestamp('2009-07-30 12:58:59'), 'PST') -> 58
minutes
minutes(<value1> : integer) => long
Megadja az időtartamot ezredmásodpercben a megadott percérték alapján.
minutes(2) -> 120000L
mlookup
mlookup(key, key2, ...) => complex[]
Megkeresi a gyorsítótárazott tárolóban az összes egyező sort azzal, hogy a meghatározott kulcsokat használja, amelyek megegyeznek a tároló kulcsaival.
cacheSink#mlookup(movieId)
mod
mod(<value1> : any, <value2> : any) => any
Lekéri egy számpár modulusát. Ugyanaz, mint az % operátor.
mod(20, 8) -> 4
20 % 8 -> 4
month
month(<value1> : datetime) => integer
Lekéri egy dátum vagy időbélyeg hónapértékét.
month(toDate('2012-8-8')) -> 8
monthsBetween
monthsBetween(<from date/timestamp> : datetime, <to date/timestamp> : datetime, [<roundoff> : boolean], [<time zone> : string]) => double
Két dátum közötti hónapok számát adja meg. A számítást lekerekítheti. Az opcionális időzónát a következő formában GMTadhatja át: , PST, UTCvagy America/Cayman. A rendszer alapértelmezés szerint a helyi időzónát használja. Az elérhető formátumokért tekintse meg Java SimpleDateFormat osztályát.
monthsBetween(toTimestamp('1997-02-28 10:30:00'), toDate('1996-10-30')) -> 3.94959677
multiply
multiply(<value1> : any, <value2> : any) => any
Egy számpárt szoroz össze. Ugyanaz, mint az * operátor.
multiply(20, 10) -> 200
20 * 10 -> 200
N
negate
negate(<value1> : number) => number
Egy számot nem ad meg. A pozitív számokat negatívra váltja, és fordítva.
negate(13) -> -13
nextSequence
nextSequence() => long
A következő egyedi szekvenciát adja vissza. A szám csak egy partíción belül van egymás után, és a partícióazonosítót előtagként használják.
nextSequence() == 12313112 -> false
normalize
normalize(<String to normalize> : string) => string
Normalizálja a sztringértéket a ékezetes Unicode-karakterek elválasztására.
regexReplace(normalize('bo²s'), `\p{M}`, '') -> 'boys'
not
not(<value1> : boolean) => boolean
A logikai negation operátort használja.
not(true) -> false
not(10 == 20) -> true
notEquals
notEquals(<value1> : any, <value2> : any) => boolean
Az összehasonlítás nem egyenlő operátort használja. Ugyanaz, mint az != operátor.
12 != 24 -> true
'bojjus' != 'bo' + 'jjus' -> false
nTile
nTile([<value1> : integer]) => integer
A nTile függvény az egyes ablakpartíciók sorait legfeljebb gyűjtőkre n1nosztja. A gyűjtőértékek legfeljebb annyiban különböznek. 1 Ha a partíció sorainak száma nem egyenlően oszlik meg a gyűjtők számával, akkor a többi érték gyűjtőnként egy lesz elosztva, kezdve az első gyűjtővel. A nTile függvény hasznos a kvartilisek, a decilek és más általános összefoglaló statisztikák kiszámításához tertiles. A függvény két változót számít ki az inicializálás során. A szokásos vödör mérete egy extra sorral lett növelve. Mindkét változó az aktuális partíció méretén alapul. A számítási folyamat során a függvény nyomon követi az aktuális sorszámot, az aktuális gyűjtőszámot és azt a sorszámot, amelyen a gyűjtő módosul (bucketThreshold). Amikor az aktuális sorszám eléri a vödör küszöbértékét, a vödör értéke eggyel növekszik. A küszöbérték a vödör méretével nő (plusz egy további, ha az aktuális vödör ki van párnázva).
nTile()
nTile(numOfBuckets)
null
null() => null
Visszaad egy NULL értéket. Használja a függvényt syntax(null()) , ha egy oszlop neve el van nevezve null. Minden olyan művelet, amely null értéket használ, értéket ad eredményként 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
A logikai OR operátort használja. Ugyanaz, mint ||.
or(true, false) -> true
true || false -> true
originColumns
originColumns(<streamName> : string) => any
Lekéri egy forrásfolyam összes kimeneti oszlopát, ahol az oszlopok létre lettek hozva. Más függvényhez kell csatolni.
array(toString(originColumns('source1')))
output
output() => any
A gyorsítótár-fogadó adatainak első sorát adja vissza.
cacheSink#output()
outputs
output() => any
A gyorsítótár-fogadó eredményeinek teljes kimeneti sorkészletét adja vissza.
cacheSink#outputs()
P
partitionId
partitionId() => integer
A bemeneti sor aktuális partícióazonosítóját adja vissza.
partitionId()
pMod
pMod(<value1> : any, <value2> : any) => any
Egy számpár pozitív modulusát adja meg.
pmod(-20, 8) -> 4
power
power(<value1> : number, <value2> : number) => double
Egy számot a másik erejére emel.
power(10, 2) -> 100
R
radians
radians(<value1> : number) => double
A fokokat radiánokká alakítja.
radians(180) => 3.141592653589793
random
random(<value1> : integral) => double
Egy partíción belül adott mag esetén egy véletlenszerű számot ad vissza. A magnak egy fix értékkel kell rendelkeznie, és a partícióazonosítóval együtt használva véletlenszerű értékeket állít elő egy tartományban (0.0-1.0).
random(1) == 1 -> false
rank
rank() => integer
Kiszámítja egy érték rangsorát egy ablak sorrendjében megadott értékcsoportban záradék szerint. Az eredmény egy plusz a partíció sorrendjének aktuális sorát megelőző vagy egyenlő sorok száma. Az értékek hézagokat eredményeznek a sorozatban. A rank függvény akkor is működik, ha az adatok nincsenek rendezve, és az értékek változását keresi.
rank()
reassociate
reassociate(<value1> : map, <value2> : binaryFunction) => map
Átalakítja a térképet úgy, hogy a kulcsokat új értékekhez társítja. Egy leképezési függvényt vesz igénybe, ahol az elemet a következőképpen #key , az aktuális értéket pedig a következőképpen #valuekezelheti.
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
Elemek halmozódnak fel egy tömbben. A reduce függvény egy akkumulátorra és az első kifejezésfüggvény egy elemére való hivatkozást vár, mint #acc és #item. Az eredményként kapott értéket #result a második kifejezési függvényben kell használni.
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
Kiolvas egy egyező részsztringet egy adott regex-mintához. Az utolsó paraméter azonosítja az egyezéscsoportot, és 1 lesz az alapértelmezett érték, ha nincs megadva. Használja a <regex> elemet a szövegrészek karakterek kikerülése nélküli összehasonlítására. Az index 0 az összes egyezést visszaadja. Csoportokra bontás nélkül, az index 1 és a feletti értékek nem adnak eredményt.
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
Ellenőrzi, hogy a sztring megfelel-e az adott regex-mintának. Használja a <regex> elemet a szövegrészek karakterek kikerülése nélküli összehasonlítására.
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
A reguláris kifejezés mintájának minden előfordulását lecseréli egy másik karakterláncra az adott karakterláncban. Használja a <regex> elemet a szövegrészek karakterek kikerülése nélküli összehasonlítására.
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
Egy regex alapú elválasztó alapján feloszt egy sztringet, és sztringtömböt ad vissza.
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
Az összes előforduló részszöveget lecseréli egy másik részszövegre a megadott szövegben. Ha az utolsó paraméter nincs megadva, az alapértelmezés szerint üres sztring lesz.
replace('doggie dog', 'dog', 'cat') -> 'catgie cat'
replace('doggie dog', 'dog', '') -> 'gie '
replace('doggie dog', 'dog') -> 'gie '
reverse
reverse(<value1> : string) => string
Megfordítja a szöveget.
reverse('gunchus') -> 'suhcnug'
right
right(<string to subset> : string, <number of characters> : integral) => string
Jobbról egy megadott számú karakterből álló alsztringet nyer ki. Ugyanaz, mint SUBSTRING(str, LENGTH(str) - n, n).
right('bojjus', 2) -> 'us'
right('bojjus', 20) -> 'bojjus'
rlike
rlike(<string> : string, <pattern match> : string) => boolean
Ellenőrzi, hogy a sztring megfelel-e az adott regex-mintának.
rlike('200.50', `(\d+).(\d+)`) -> true
rlike('bogus', `M[0-9]+.*`) -> false
round
round(<number> : number, [<scale to round> : number], [<rounding option> : integral]) => double
Egy szám kerekítése opcionális skálázás és opcionális kerekítési mód esetén. Ha a skálázás nincs megadva, az alapértelmezés szerint a következő lesz 0: . Ha a mód nincs megadva, az alapértelmezés szerint a következő lesz ROUND_HALF_UP(5). A kerekítés értékei a következők:
ROUND_UP: Kerekítési mód a nullától való lekerekítéshez.
ROUND_DOWN: Kerekítési mód a nullához való kerekítéshez.
ROUND_CEILING: Kerekítési mód a pozitív végtelen felé kerekítéshez. (Ugyanaz, mint ROUND_UP, ha a bemenet pozitív. Ha negatív, akkor úgy viselkedik, mint ROUND_DOWN. A például -1.1 az -1.0-val ROUND_CEILING és -2 ROUND_UP lenne.)
ROUND_FLOOR: Kerekítési mód a negatív végtelen felé kerekítéshez. (Ugyanaz, mintha ROUND_DOWN a bemenet pozitív. Ha negatív, úgy viselkedik, mint ROUND_UP.)
ROUND_HALF_UP: Lekerekítési mód, amely a "legközelebbi szomszédhoz" kerekít, kivéve, ha a célérték egyenlő távolságra van mindkét szomszédtól, ebben az esetben úgy viselkedik, mint ROUND_UP. (Az adatfolyam leggyakoribb + alapértelmezett értéke.)
ROUND_HALF_DOWN: Kerekítési mód a "legközelebbi szomszéd" felé kerekítéshez, kivéve, ha mindkét szomszéd egyenlő, ebben az esetben ROUND_DOWN.
ROUND_HALF_EVEN: Lekerekítési mód a "legközelebbi szomszéd" felé történő kerekítéshez, kivéve ha mindkét szomszéd egyenlő távolságra van, ebben az esetben a páros szomszéd felé kerekít.
ROUND_UNNECESSARY: Kerekítési mód annak megállapításához, hogy a kerekítési művelet pontos eredményt ad-e, ezért nincs szükség kerekítésre.
round(100.123) -> 100.0
round(2.5, 0) -> 3.0
round(5.3999999999999995, 2, 7) -> 5.40
rowNumber
rowNumber() => integer
Szekvenciális sorszámozást rendel hozzá egy ablak soraihoz 1-től kezdődően.
rowNumber()
rpad
rpad(<string to pad> : string, <final padded length> : integral, <padding> : string) => string
A sztringet jobb irányba párnázza a megadott kitöltéssel, amíg a sztring el nem ér egy bizonyos hosszúságot. Ha a sztring hossza egyenlő vagy nagyobb a meghatározott hosszúságnál, a sztring le lesz rövidítve a hosszúságra.
rpad('dumbo', 10, '-') -> 'dumbo-----'
rpad('dumbo', 4, '-') -> 'dumb'
rpad('dumbo', 8, '<>') -> 'dumbo<><'
rtrim
rtrim(<string to trim> : string, [<trim characters> : string]) => string
A jobb karakterlánc eltávolítja a végéről a záró karaktereket. Ha a második paraméter nincs meghatározva, levágja a térközt. Ellenkező esetben a második paraméterben megadott karaktereket levágja.
rtrim(' dumbo ') -> ' dumbo'
rtrim('!--!du!mbo!', '-!') -> '!--!du!mbo'
S
second
second(<value1> : timestamp, [<value2> : string]) => integer
Lekéri a dátum második értékét. Az opcionális időzónát a következő formában GMTadhatja át: , PST, UTCvagy America/Cayman. A rendszer alapértelmezés szerint a helyi időzónát használja. Az elérhető formátumokért tekintse meg Java SimpleDateFormat osztályát.
second(toTimestamp('2009-07-30 12:58:59')) -> 59
seconds
seconds(<value1> : integer) => long
Ezredmásodpercben adja meg a másodpercek számát.
seconds(2) -> 2000L
setBitSet
setBitSet (<value1>: array, <value2>:array) => array
Bitpozíciókat állít be ebben a bitkészletben.
setBitSet(toBitSet([10, 32]), [98]) => [4294968320L, 17179869184L]
sha1
sha1(<value1> : any, ...) => string
Kiszámítja a különböző primitív adattípusokból álló oszlopok SHA-1 kivonatát, és egy 40 karakterből álló hexa sztringet ad vissza. Ezzel kiszámíthatja egy sor ujjlenyomatát.
sha1(5, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> '46d3b478e8ec4e1f3b453ac3d8e59d5854e282bb'
sha2
sha2(<value1> : integer, <value2> : any, ...) => string
Kiszámítja a különböző primitív adattípusokból álló oszlopok SHA-2 kivonatát, ha megad egy bithosszt, amely csak 0(256), 224, 256, 384 vagy 512 értékekből állhat. Ezzel kiszámíthatja egy sor ujjlenyomatát.
sha2(256, 'gunchus', 8.2, 'bojjus', true, toDate('2010-4-4')) -> 'afe8a553b1761c67d76f8c31ceef7f71b66a1ee6f4e6d3b5478bf68b47d06bd3'
sin
sin(<value1> : number) => double
Szinuszértéket számít ki.
sin(2) -> 0.9092974268256817
sinh
sinh(<value1> : number) => double
Hiperbolikus szinuszértéket számít ki.
sinh(0) -> 0.0
size
size(<value1> : any) => integer
Megkeresi egy tömb vagy térképtípus méretét.
size(['element1', 'element2']) -> 2
size([1,2,3]) -> 3
skewness
skewness(<value1> : number) => double
Lekéri egy oszlop ferdeségét.
skewness(sales)
skewnessIf
skewnessIf(<value1> : boolean, <value2> : number) => double
Meghatározza az oszlop ferdeségét a megadott feltételek alapján.
skewnessIf(region == 'West', sales)
slice
slice(<array to slice> : array, <from 1-based index> : integral, [<number of items> : integral]) => array
Egy tömb részhalmazát egy adott pozíciótól nyeri ki. A pozíció 1 alapú. Ha a hossz nincs megadva, akkor automatikusan a karakterlánc végétől kezdődően alapértelmezett.
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
A tömb rendezése a megadott predikátumfüggvénnyel. A sort függvény arra számít, hogy a kifejezésfüggvény két egymást követő elemére hivatkozik, mint #item1 és #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
Lekéri a karakterlánc soundex kódját.
soundex('genius') -> 'G520'
split
split(<string to split> : string, <split characters> : string) => array
Elválaszt egy sztringet egy elválasztó alapján, és sztringtömböt ad vissza.
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
Kiszámítja egy szám négyzetgyökét.
sqrt(9) -> 3
startsWith
startsWith(<string> : string, <substring to check> : string) => boolean
Ellenőrzi, hogy a karakterlánc a megadott karakterlánccal kezdődik-e.
startsWith('dumbo', 'du') -> true
stddev
stddev(<value1> : number) => double
Meghatározza egy oszlop szórását.
stdDev(sales)
stddevIf
stddevIf(<value1> : boolean, <value2> : number) => double
Megadja egy oszlop szórását a megadott feltétel alapján.
stddevIf(region == 'West', sales)
stddevPopulation
stddevPopulation(<value1> : number) => double
Megkapja az oszlop népességi szórását.
stddevPopulation(sales)
stddevPopulationIf
stddevPopulationIf(<value1> : boolean, <value2> : number) => double
Egy oszlop statisztikai szórását kapja meg feltételek alapján.
stddevPopulationIf(region == 'West', sales)
stddevSample
stddevSample(<value1> : number) => double
Lekéri egy oszlop minta standard eltérését.
stddevSample(sales)
stddevSampleIf
stddevSampleIf(<value1> : boolean, <value2> : number) => double
Egy oszlop mintaszórását számítja ki feltételek alapján.
stddevSampleIf(region == 'West', sales)
subDays
subDays(<date/timestamp> : datetime, <days to subtract> : integral) => datetime
Dátum- vagy időbélyegből kivonja a napokat. Ugyanaz, mint a - dátum operátora.
subDays(toDate('2016-08-08'), 1) -> toDate('2016-08-07')
subMonths
subMonths(<date/timestamp> : datetime, <months to subtract> : integral) => datetime
Hónapokat von ki egy dátum- vagy időbélyegből.
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
Kivon egy bizonyos hosszúságú részláncot egy adott pozícióból. A pozíció 1 alapú. Ha a hossz nincs megadva, akkor automatikusan a karakterlánc végétől kezdődően alapértelmezett.
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><elválasztó>substringIndex( : string, : string, <elválasztó előfordulások száma> : integral]) = string>
Adott számú határoló előfordulása előtti részsztringet nyer ki. Ha a darabszám pozitív, a végső elválasztótól balra (a balról számolva) minden vissza lesz adva. Ha a darabszám negatív, a végső elválasztótól jobbra (jobbról számolva) minden vissza lesz adva.
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
Lekéri egy numerikus oszlop összesített összegét.
sum(col)
sumDistinct
sumDistinct(<value1> : number) => number
Lekéri egy numerikus oszlop különböző értékeinek összesített összegét.
sumDistinct(col)
sumDistinctIf
sumDistinctIf(<value1> : boolean, <value2> : number) => number
Lekéri egy numerikus oszlop összesített összegét a feltételek alapján. A feltétel bármely oszlopon alapulhat.
sumDistinctIf(state == 'CA' && commission < 10000, sales)
sumDistinctIf(true, sales)
sumIf
sumIf(<value1> : boolean, <value2> : number) => number
Lekéri egy numerikus oszlop összesített összegét a feltételek alapján. A feltétel bármely oszlopon alapulhat.
sumIf(state == 'CA' && commission < 10000, sales)
sumIf(true, sales)
T
tan
tan(<value1> : number) => double
Tangens értéket számít ki.
tan(0) -> 0.0
tanh
tanh(<value1> : number) => double
Hiperbolikus tangens értéket számít ki.
tanh(0) -> 0.0
toBase64
toBase64(<value1> : string, <encoding type> : string]) => string
Az adott sztringet a base64-ben kódolja. A kódolási típust opcionálisan átadhatja.
toBase64('bojjus') -> 'Ym9qanVz'
toBase64('± 25000, € 5.000,- |', 'Windows-1252') -> 'sSAyNTAwMCwggCA1LjAwMCwtIHw='
toBinary
toBinary(<value1> : any) => binary
Bármilyen numerikus, dátum-, időbélyeget vagy sztringet bináris ábrázolássá alakít át.
toBinary(3) -> [0x11]
toBoolean
toBoolean(<value1> : string) => boolean
A (t, true, y, yes, 1) értéket igazzá, és (f, false, n, no, 0) értéket false-ké konvertálja, míg minden más értéket NULL-ré alakul.
toBoolean('true') -> true
toBoolean('n') -> false
isNull(toBoolean('truthy')) -> true
toByte
toByte(<value> : any, [<format> : string], [<locale> : string]) => byte
Bármilyen numerikus vagy sztringet bájtértékké alakít át. Az átalakításhoz választható Java decimális formátumot használhat.
toByte(123)
123
toByte(0xFF)
-1
toByte('123')
123
toDate
toDate(<string> : any, [<date format> : string]) => date
A bemeneti dátum sztringet dátummá alakítja egy opcionális beviteli dátumformátum használatával. Az elérhető formátumokért tekintse meg Java SimpleDateFormat osztályát. Ha a bemeneti dátum formátuma nincs megadva, az alapértelmezett formátum a következő yyyy-[M]M-[d]d. Az elfogadott formátumok a következők :[ 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)
Bármely numerikus vagy sztringet decimális értékké alakít át. Ha nincs megadva a pontosság és a skálázás, az alapértelmezés szerint a (10,2) értékre van kapcsolva. Az átalakításhoz választható Java decimális formátumot használhat. Használjon választható helyi beállítás formátumát BCP47-nyelv formájában, például en-US, de vagy zh-CN formájában.
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
Bármely numerikus vagy sztringet dupla értékké alakít át. Az átalakításhoz választható Java decimális formátumot használhat. Használjon választható helyi beállítás formátumát BCP47-nyelv formájában, például en-US, de vagy zh-CN formájában.
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
Bármilyen numerikus vagy sztringet lebegőpontos értékké alakít át. Az átalakításhoz választható Java decimális formátumot használhat. Csonkolja a dupla elemet.
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
Bármilyen numerikus vagy sztringet egész számmá alakít át. Az átalakításhoz választható Java decimális formátumot használhat. Csonkolja a hosszú, lebegő, dupla.
toInteger(123) -> 123
toInteger('123') -> 123
toInteger('$123', '$###') -> 123
toLong
toLong(<value> : any, [<format> : string], [<locale> : string]) => long
Bármilyen numerikus vagy sztringet hosszú értékké alakít át. Az átalakításhoz választható Java decimális formátumot használhat. Csonkolja a float és double típusokat.
toLong(123) -> 123
toLong('123') -> 123
toLong('$123', '$###') -> 123
topN
topN(<column/expression> : any, <count> : long, <n> : integer) => array
Lekéri az oszlop legfontosabb N értékeit a darabszám argumentum alapján.
topN(custId, count, 5)
topN(productId, num_sales, 10)
toShort
toShort(<value> : any, [<format> : string], [<locale> : string]) => short
Bármilyen numerikus vagy sztringet rövid értékké alakít át. Az átalakításhoz választható Java decimális formátumot használhat. Csonkolja az összes egész számot, hosszú egész, lebegő, dupla.
toShort(123) -> 123
toShort('123') -> 123
toShort('$123', '$###') -> 123
toString
toString(<value> : any, [<number format/date format> : string], [<date locale> : string]) => string
Egy primitív adattípust sztringgé alakít át. Megadhatja a számok és a dátum formátumát. Ha nincs meghatározva, a rendszer alapértelmezése lesz kiválasztva. Java decimális formátumot használ a számokhoz. Az elérhető formátumokért tekintse meg Java SimpleDateFormat osztályát. Az alapértelmezett formátum a következő yyyy-MM-dd: . Dátum- vagy időbélyeghez megadhat területi beállításokat.
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
A sztringet időbélyeggé konvertálja, amikor megad egy választott időbélyeg formátumot. Ha az időbélyeg nincs megadva, a rendszer az alapértelmezett mintát yyyy-[M]M-[d]d hh:mm:ss[.f...] használja. Az opcionális időzónát a következő formában GMTadhatja át: , PST, UTCvagy America/Cayman. A timestamp függvény akár ezredmásodperc pontossággal is támogat egy 999 értéket. Az elérhető formátumokért tekintse meg Java SimpleDateFormat osztályát.
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
Az időbélyeget UTC-vé alakítja. Az opcionális időzónát a következő formában GMTadhatja át: , PST, UTCvagy America/Cayman. Alapértelmezés szerint az aktuális időzóna. Az elérhető formátumokért tekintse meg Java SimpleDateFormat osztályát.
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
Cseréljen le egy karakterkészletet egy másikra a karakterláncban. A karakterek egy az egyben cserélődnek.
translate('(bojjus)', '()', '[]') -> '[bojjus]'
translate('(gunchus)', '()', '[') -> '[gunchus'
trim
trim(<string to trim> : string, [<trim characters> : string]) => string
Bevezető és záró karakterek sztringjének vágása. Ha a második paraméter nincs meghatározva, levágja a térközt. Ellenkező esetben a második paraméterben megadott karaktereket levágja.
trim(' dumbo ') -> 'dumbo'
trim('!--!du!mbo!', '-!') -> 'dumbo'
true
true() => boolean
Mindig igaz értéket ad vissza. Használja a függvényt syntax(true()) , ha egy oszlop neve el van nevezve true.
(10 + 20 == 30) -> true
(10 + 20 == 30) -> true()
typeMatch
typeMatch(<type> : string, <base type> : string) => boolean
Megfelel az oszlop típusának. Csak mintakifejezésekben használhatja. A number függvény egyezik a rövid, egész szám, hosszú, dupla, lebegőpontos vagy decimális értékével. A integral függvény «short», «int» és «long» típusokat egyeztet. A fractional függvény illeszkedik a double, a float és a decimal típusokhoz. A datetime függvény megegyezik a dátum- vagy időbélyeg típusával.
typeMatch(type, 'number')
typeMatch('date', 'datetime')
U
unescape
unescape(<string_to_escape> : string, <format> : string) => string
Egy karakterlánc kibontása egy adott formátum szerint. Az elfogadható formátumok literális értékei a következőkjson: , xmlecmascript, htmlés java.
unescape('{\\\\\"value\\\\\": 10}', 'json')
'{\\\"value\\\": 10}'
unfold
unfold (<value1>: array) => any
Bontsa ki a tömböt sorkészletté, és minden sorban megismétli a többi oszlop értékeit.
unfold(addresses) => any
unfold( @(name = salesPerson, sales = salesAmount) ) => any
unhex
unhex(<value1>: string) => binary
A karakterlánc-ábrázolásból felold egy bináris értéket. A sha2 és a md5 tagekkel használhatja a karakterláncból bináris reprezentációvá való alakításhoz.
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
Két tömb egyedi elemeinek unióját adja vissza.
union([10, 20, 30], [20, 40]) => [10, 20, 30, 40]
upper
upper(<value1> : string) => string
Sztring nagybetűssé alakítása.
upper('bojjus') -> 'BOJJUS'
uuid
uuid() => string
A létrehozott UUID-t adja vissza.
uuid()
V
variance
variance(<value1> : number) => double
Lekéri egy oszlop varianciáját.
variance(sales)
varianceIf
varianceIf(<value1> : boolean, <value2> : number) => double
Lekéri egy oszlop varianciáját feltételek alapján.
varianceIf(region == 'West', sales)
variancePopulation
variancePopulation(<value1> : number) => double
Lekérdezi egy oszlop sokasági varianciáját.
variancePopulation(sales)
variancePopulationIf
variancePopulationIf(<value1> : boolean, <value2> : number) => double
Lekéri az oszlop sokasági varianciáját meghatározott feltételek alapján.
variancePopulationIf(region == 'West', sales)
varianceSample
varianceSample(<value1> : number) => double
Lekéri egy oszlop elfogulatlan varianciáját.
varianceSample(sales)
varianceSampleIf
varianceSampleIf(<value1> : boolean, <value2> : number) => double
Egy oszlop elfogulatlan varianciáját kapja meg feltételek alapján.
varianceSampleIf(region == 'West', sales)
W
weekOfYear
weekOfYear(<value1> : datetime) => integer
Az év hetét adja meg, ha dátumot ad.
weekOfYear(toDate('2008-02-20')) -> 8
weeks
weeks(<value1> : integer) => long
Lekéri a hetek tartamát ezredmásodpercekben.
weeks(2) -> 1209600000L
X
xor
xor(<value1> : boolean, <value2> : boolean) => boolean
A logikai XOR operátort használja. Ugyanaz, mint az ^ operátor.
xor(true, false) -> true
xor(true, true) -> false
true ^ false -> true
Y
year
year(<value1> : datetime) => integer
Lekéri egy dátum évértékét.
year(toDate('2012-8-8')) -> 2012
Kapcsolódó tartalom
- Az összesítő függvények listája.
- Az összes tömbfüggvény listája.
- Az összes gyorsítótárazott keresési függvény listája.
- Az összes konverziós függvény listája.
- Az összes dátum- és időfüggvény listája.
- Az összes kifejezésfüggvény listája.
- Az összes térképfüggvény listája.
- Az összes metafunkció listája.
- Az összes ablakfüggvény listája.
- Ismerje meg, hogyan használhatja a Expression Buildert.