0 / 0
Go back to the English version of the documentation
Funkce použité ve Tvůrci výrazů produktu Watson Pipelines
Last updated: 15. 5. 2023
Funkce použité ve Tvůrci výrazů produktu Watson Pipelines

Tyto funkce použijte v editorech kódu Pipelines, například k definování uživatelské proměnné nebo k sestavení pokročilého stavu.

Chcete-li zobrazit funkce Pipelines přenesené z DataStage, prohlédněte si téma DataStage Funkce použité v sestavovači výrazů produktovodů.

Produkt Expersion Builder používá tyto katagorie pro funkce kódování:

Převodní funkce

Převede jeden formát datového prvku na jiný.

Tabulka pro základní převod datového typu

Typ Přijímá Vrací Syntaxe
double int, uint, string double double(val)
duration string duration duration(string)
Trvání by mělo končit znakem "s", což znamená sekundy.
int int, uint, double, string, timestamp int int(val)
timestamp string timestamp timestamp(string)
Převede řetězce na časová razítka podle RFC3339, tj. "1972-01-01T10:00:20.021-05:00".
uint int, double, string uint uint(val)

Příklad

Chcete-li například přetypovat hodnotu na typ double, postupujte takto:

double(%val%)

Toto platí pro všechny funkce přetypování uvedené v předchozí tabulce. Při přetypování na hodnotu int | uintse výsledek zaokrouhluje směrem k nule a v případě, že výsledek je mimo rozsah, budou výsledkem chyby.

Standardní funkce

Funkce, které jsou jedinečné pro produkt IBM Watson Pipelines.


Sub

Nahradí podřetězce řetězce, který odpovídá danému regulárnímu výrazu, počínaje offsetem pozice.

Syntaxe

(string).sub(substring (string), replacement (string), [occurrence (int), [offset (int)]])

returns: řetězec s aktualizovanými podřetězci.

Příklady

'aaabbbcccbbb'.sub('[b]+','RE')

Vrací 'aaaREcccRE'.

formát

Formátuje řetězec nebo časové razítko podle specifikátoru formátu a vrátí výsledný řetězec.

Syntaxe

formát jako metoda řetězců

(string).format(parameter 1 (string or bool or number)... parameter 10 (string or bool or number))

Vrací: řetězec obsahující formátované vstupní hodnoty.

formát jako metoda časových razítek

(timestamp).format(layout(string))

Vrací: formátované časové razítko ve formátu řetězce.

Příklady

'number=%d, text=%s'.format(1, 'str')

Vrátí řetězec 'number=1, text=str'.

timestamp('2020-07-24T09:07:29.000-00:00').format('%Y/%m/%d')

Vrací řetězec '2020/07/24'.

nyní

Vrátí aktuální časové razítko.

Syntaxe

now()

Vrací: aktuální časové razítko.


parseTimestamp

Vrací aktuální časové razítko ve formátu řetězce.

Syntaxe

parseTimestamp([timestamp_string(string)] [layout(string)])

Vrací: aktuální časové razítko na řetězec typu string.

Příklady

parseTimestamp('2020-07-24T09:07:29Z')

Vrací '2020-07-24T09:07:29.000-00:00'.

min

Vrátí minimální hodnotu v seznamu.

Syntaxe

(list).min()

vrátí: minimální hodnotu v seznamu.

Příklady

[1,2,3].min()

Vrací celé číslo 1.

max

Vrátí maximální hodnotu v seznamu.

Syntaxe

(list).max()

vrátí hodnotu: maximální hodnota seznamu.

Příklady

[1,2,3].max()

Vrátí celé číslo 3.

argmin

Vrátí index minimální hodnoty v seznamu.

Syntaxe

(list).argmin()

Vrací: index minimální hodnoty ze seznamu.

Příklady

[1,2,3].argmin()

Vrací celé číslo 0.

argmax

Vrátí index maximální hodnoty v seznamu.

Syntaxe

(list).argmax()

returns: index maximální hodnoty v seznamu.

Příklady

[1,2,3].argmax()

Vrací celé číslo 2.

součet

Vrátí součet hodnot v seznamu.

Syntaxe

(list).sum()

returns: index maximální hodnoty v seznamu.

Příklady

[1,2,3].argmax()

Vrací celé číslo 2.

base64.decode

Dekóduje řetězec base64-encoded k bajtům. Tato funkce vrátí chybu, pokud vstupní řetězec není base64-encoded.

Syntaxe

base64.decode(base64_encoded_string(string))

returns: dekódovaný řetězec base64-encoded v bajtovém formátu.

Příklady

base64.decode('aGVsbG8=')

Vrátí 'ahoj' v bajtech.

base64.encode

Zakóduje bajty do řetězce base64-encoded .

Syntaxe

base64.encode(bytes_to_encode (bytes))

vrátí: zakódovaný řetězec base64-encoded původní bajtové hodnoty.

Příklady

base64.decode(b'hello')

Vrátí 'aGVsbG8=' v bajtech.

charAt

Vrátí znak na dané pozici. Je-li pozice záporná, nebo větší než délka řetězce, funkce vygeneruje chybu.

Syntaxe

(string).charAt(index (int))

returns: znak zadané pozice v celočíselném formátu.

Příklady

'hello'.charAt(4)

Vrátí znak 'o'.

indexOf

Vrátí celočíselný index prvního výskytu hledaného řetězce. Není-li hledaný řetězec nalezen, funkce vrací hodnotu -1.

Syntaxe

(string).indexOf(search_string (string), [offset (int)])

returns: index prvního výskytu znaku po posunutí.

Příklady

'hello mellow'.indexOf('ello', 2)

Vrací celé číslo 7.

lowerAscii

Vrací nový řetězec se znaky ASCII obrácenými na malá písmena.

Syntaxe

(string).lowerAscii()

vrací: nový řetězec s malými písmeny.

Příklady

'TacoCat'.lowerAscii()

Vrátí řetězec 'tacocat'.

replace

Vrací nový řetězec založený na cíli, který nahradí výskyty hledaného řetězce řetězcem náhrady, pokud je přítomen. Funkce přijímá volitelný limit počtu nahrazení podřetězců, které mají být provedeny.

Syntaxe

(string).replace(search_string (string), replacement (string), [offset (int)])

returns: nový řetězec s nahrazenými výskyty hledaného řetězce.

Příklady

'hello hello'.replace('he', 'we')

Vrací řetězec 'wello wello'.

dělení

Vrátí seznam řetězců rozdělených ze vstupu podle daného oddělovače. Funkce přijímá volitelný argument určující mezní hodnotu počtu podřetězců vytvořených rozdělením.

Syntaxe

(string).split(separator (string), [limit (int)])

vrátí: rozdělovací řetězec jako seznam řetězců.

Příklady

'hello hello hello'.split(' ')

Vrací seznam řetězců [ 'hello ',' hello ',' hello '].

substring

Vrátí podřetězec zadaný číselným rozsahem odpovídajícím pozicím znaků. Volitelně může koncový rozsah vynechat pro podřetězec od dané pozice znaku až do konce řetězce.

Syntaxe

(string).substring(start (int), [end (int)])

vrátí: podřetězec v zadaném indexu řetězce.

Příklady

'tacocat'.substring(4)

Vrátí řetězec 'cat'.

trim

Vrací nový řetězec, který odstraní úvodní a koncové mezery v cílovém řetězci. Funkce trim používá definici Unicode pro mezery, která nezahrnuje mezery s nulovou šířkou.

Syntaxe

(string).trim()

returns: nový řetězec s odebranými prázdnými znaky.

Příklady

'  \ttrim\n    '.trim()

Vrátí řetězec 'trim'.

upperAscii

Vrátí nový řetězec, ve kterém jsou všechny znaky ASCII uvedeny velkými písmeny.

Syntaxe

(string).upperAscii()

returns: nový řetězec se všemi znaky přepsanými na velká písmena.

Příklady

'TacoCat'.upperAscii()

Vrátí řetězec 'TACOCAT'.

size

Vrátí délku řetězce, bajtů, seznamu nebo mapy.

Syntaxe

(string | bytes | list | map).size()

returns: délka řetězce, bajtů, seznamu nebo pole mapy.

Příklady

'hello'.size() 

Vrací celé číslo 5.

b'hello'.size() 

Vrací celé číslo 5.

['a','b','c'].size() 

Vrátí celé číslo 3.

{'key': 'value'}.size() 

Vrací celé číslo 1.

obsahuje

Testuje, zda operand řetězce obsahuje podřetězec.

Syntaxe

(string).contains(substring (string))

returns: logická hodnota, zda podřetězec existuje v řetězcovém operandu.

Příklady

'hello'.contains('ll')

Vrátí hodnotu "ano".

endsWith

Testuje, zda operand řetězce končí na zadanou příponu.

Syntaxe

(string).endsWith(suffix (string))

returns: booleovská hodnota toho, zda řetězec končí zadanou příponou v operandu typu string.

Příklady

'hello'.endsWith('llo')

Vrátí hodnotu "ano".

startsWith

Testuje, zda se operand řetězce spouští s argumentem prefixu.

Syntaxe

(string).startsWith(prefix (string))

returns: logická hodnota určující, zda řetězec začíná zadanou předponou v operandu typu string.

Příklady

'hello'.startsWith('he')

Vrátí hodnotu "ano".

shoduje se s

Testuje, zda operand typu string odpovídá regulárnímu výrazu.

Syntaxe

(string).matches(prefix (string))

returns: logická hodnota určující, zda řetězec odpovídá zadanému regulárnímu výrazu.

Příklady

'Hello'.matches('[Hh]ello')

Vrátí hodnotu "ano".

getDate

Získat den v měsíci od data s časovým pásmem (výchozí UTC), jedna indexace založená na jednom.

Syntaxe

(timestamp).getDate([time_zone (string)])

Vrací: den v měsíci s indexováním na bázi jedné.

Příklady

timestamp('2020-07-24T09:07:29.000-00:00').getDate()

Vrací 24.

getDayOfMonth

Získat den v měsíci od data s časovým pásmem (výchozí UTC), indexování na základě nuly.

Syntaxe

(timestamp).getDayOfMonth([time_zone (string)])

returns: the day of month with zero-based indexing.

Příklady

timestamp('2020-07-24T09:07:29.000-00:00').getDayOfMonth()

Vrací 23.

getDayOfWeek

Získat den v týdnu od data s časovým pásmem (výchozí UTC), indexování na základě nuly, 0 pro neděli.

Syntaxe

(timestamp).getDayOfWeek([time_zone (string)])

returns: the day of week with zero-based indexing.

Příklady

timestamp('2020-07-24T09:07:29.000-00:00').getDayOfWeek()

Vrací 5.

getDayOfYear

Get day of year from the date with timezone (default UTC), nuro-based indexing.

Syntaxe

(timestamp).getDayOfYear([time_zone (string)])

Vrací: den v roce s indexováním na bázi vynulo-based.

Příklady

timestamp('2020-07-24T09:07:29.000-00:00').getDayOfYear()

Vrací 205.

getFullRok

Získejte rok od data s časovým pásmem (výchozí UTC).

Syntaxe

(timestamp).getFullYear([time_zone (string)])

vrací: rok od data.

Příklady

timestamp('2020-07-24T09:07:29.000-00:00').getFullYear()

Vrací hodnotu 2020.

getMonth

Získejte měsíc od data s časovým pásmem, 0-11.

Syntaxe

(timestamp).getMonth([time_zone (string)])

vrací: měsíc od data.

Příklady

timestamp('2020-07-24T09:07:29.000-00:00').getMonth()

Vrací 6.

getHours

Získejte hodiny od data s časovým pásmem, 0-23.

Syntaxe

(timestamp).getHours([time_zone (string)])

Vrací: hodinu od data.

Příklady

timestamp('2020-07-24T09:07:29.000-00:00').getHours()

Vrací 9.

getMinutes

Získejte minuty od data s časovým pásmem, 0-59.

Syntaxe

(timestamp).getMinutes([time_zone (string)])

vrátí: minuta od data.

Příklady

timestamp('2020-07-24T09:07:29.000-00:00').getMinutes()

vrátí hodnotu 7.

getSeconds

Získejte sekundy od data s časovým pásmem, 0-59.

Syntaxe

(timestamp).getSeconds([time_zone (string)])

returns: the second from the date.

Příklady

timestamp('2020-07-24T09:07:29.000-00:00').getSeconds()

Vrací 29.

getMilliseconds

Získejte milisekundy od data s časovým pásmem, 0-999.

Syntaxe

(timestamp).getMilliseconds([time_zone (string)])

vrací: milisekunda od data.

Příklady

timestamp('2020-07-24T09:07:29.021-00:00').getMilliseconds()

Vrací 21.

Přístup k rozšířeným globálním objektům

Získejte výstupy uzlu, uživatelské proměnné a parametry propojení procesů pomocí následujících kódů Pipelines.

Získat uživatelskou proměnnou

Získá informace o aktuální hodnotě uživatelské proměnné.

Syntaxe

vars.<var name>

Příklady

Příklad Výstup
vars.my_user_var Získá hodnotu uživatelské proměnné my_user_var

Získat parametry

Získává parametry toku.

Syntaxe

params.<param name>

Příklady

Příklad Výstup
params.a Získá hodnotu parametru a

Získat sady parametrů

Získává sady parametrů toku.

Syntaxe

param_set.<param_set_name>.<param_name>

Příklady

Příklad Výstup
param_set.ps.a Získá hodnotu parametru a ze sady parametrů ps
param_sets.config Získá konfigurační hodnoty propojení procesů
param_sets.config.deadline Získá objekt data ze sady konfiguračních parametrů
param_sets.ps["$PARAM"] Získá hodnotu parametru $PARAM ze sady parametrů ps

Získat výsledky úlohy

Získat výsledný výstup úlohy propojení procesů a další metriky z úlohy propojení procesů po jeho dokončení.

Syntaxe

tasks.<node id>.<output name>

Příklady

Příklad Výstup
tasks.run_datastage_job Získává slovník výsledků pro výstup úlohy
tasks.run_datastage_job.results.score Získá hodnotu score výstupu úlohy
tasks.run_datastage_job.results.timestamp Získá koncové časové razítko spuštění úlohy
tasks.run_datastage_job.results.error Získá počet chyb z spuštění úlohy
tasks.loop_task.loop.counter Získává aktuální iterační smyčku smyčky spuštění úlohy
tasks.loop_task.loop.item Získává aktuální iterační položku smyčky spuštění úlohy
tasks.run_datastage_job.results.status Získá buď úspěch, nebo stav selhání spuštění úlohy
tasks.run_datastage_job.results.status_message Získá stavovou zprávu o spuštění úlohy
tasks.run_datastage_job.results.job_name Získá název úlohy
tasks.run_datastage_job.results.job Získá cestu k Cloud Pak for Data úlohy
tasks.run_datastage_job.results.job_run Získá cestu ke spuštění úlohy Cloud Pak for Data

Získat objekty kontextu propojení procesů

Získává hodnoty, které jsou vyhodnoceny v kontextu propojení procesů v daném oboru (projekt, prostor, katalog).

Příklady

Příklad Výstup
ctx.scope.id Získá ID rozsahu
ctx.scope.type Vrací buď "projekt", "prostor", nebo "katalog"
ctx.scope.name Získá název oboru
ctx.pipeline.id Získá ID propojení procesů
ctx.pipeline.name Získá název propojení procesů
ctx.job.id Získá ID úlohy
ctx.run_datastage_job.id Získá ID spuštění úlohy
ctx.run_datastage_job.started_at Získá počáteční čas spuštění úlohy
ctx.user.id Získá ID uživatele

Získat chybový stav

Je-li spuštěna obslužná rutina výjimek, dojde k vytvoření objektu chyby a bude přístupný pouze v rámci obslužné rutiny výjimek.

Příklady

Příklad Výstup
error.status Získá buď úspěch, nebo stav selhání spuštění úlohy, obvykle se nezdařilo
error.status_message Získá stavovou zprávu o chybě
error.job Získá cestu k Cloud Pak for Data úlohy
error.run_datastage_job Získá cestu ke spuštění úlohy Cloud Pak for Data

Nadřízené téma: Přidání podmínek do propojených procesů

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more