Kamil Nešetřil

Správa a analýza dat o životním prostředí

Uživatelské nástroje

Nástroje pro tento web


Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
cs:java [15.06.2019] Kamil Nešetřilcs:java [28.02.2022] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 1: Řádek 1:
 +~~NOTRANS~~
 +~~NOTOC~~
 +====== User Defined Java Expressions ======
 +<WRAP box>Všechny níže uvedené příklady lze uskutečnit např. pomocí kroku [[https://pentaho-community.atlassian.net/wiki/spaces/EAI/pages/376442115/Formula|Formula]] syntaxí podobnou vzorečkům v Excelu. Takže tato stránka je poněkud nadbytečná.</WRAP>
 +[[https://pentaho-community.atlassian.net/wiki/spaces/EAI/pages/376439964/User+Defined+Java+Expression|User Defined Java Expression]] je krok, ve kterém uživatel píše vlastní Java výrazy. V případě, že chceme napsat výraz s podmínkou, tak struktura vypadá takto:
 +  podmínka ? pravda : nepravda
 +V případě, že nepožadujeme podmínku, tak do pole „Java expression“ napíšeme pouze samotný kód bez podmínky. V obou případech se vyhodnocené výrazy ukládají do nového pole vytvořeného v „New field“. Ke všem výrazům je nutné zvolit datový typ ve „Value type“.
 +{{:java_exp.png?nolink|Příklad User Defined Java Expression, výrazy 1-3 s podmínkou, 4. bez podmínky}}\\ 
 +//Obrázek: Příklad User Defined Java Expressions: výrazy 1--3 s podmínkou, 4. bez podmínky//
  
 +===== Příklady User Defined Java Expression =====
 +<code java>NazevAkce+" "+CisloMereni</code>
 +Sloučení polí ''NazevAkce'' a ''CisloMereni''. Mezi polemi je mezera.
 +
 +<code java>POSUDEK==null? puvod_ozn:puvod_ozn+" "+POSUDEK</code>
 +Když je pole ''POSUDEK'' prázdné, tak do nového pole ulož hodnotu ''puvod_ozn'', jinak před ''POSUDEK'' vlož hodnotu ''puvod_ozn'' s mezerou. 
 +
 +<code java>"-"</code>
 +Do všech polí vlož spojovník
 +
 +<code java>Double.valueOf(Value_string)</code>
 +Pole ''Value_string'' převede na typ double.
 +
 +<code java>String.valueOf(Value)</code>
 +Pole ''Value'' převede na typ string
 +
 +<code java>FValue.charAt(0) ==('<') ? Character.toString(FValue.charAt(0)):Flag</code>
 +Získání příznaku. Když se první znak z pole ''FValue'' rovná menšítku, tak do nového pole ulož menšítko, jinak nedělej nic.
 +
 +<code java>FValue.charAt(0) ==('<') ? new Double(Double.valueOf(FValue.substring(1)))  : DetectionLimit</code>
 +Když se první znak z pole ''FValue'' rovná menšítku, tak do nového pole vlož tuto hodnotu bez prvního znaku (menšítko) a převeď na ''double''.
 +
 +<code java>FFValue.charAt(0) ==('<') ? new Double(Double.valueOf(FValue.substring(1))/2) : ((Character.isDigit(FValue.charAt(0))==true)?new Double(Double.valueOf(FValue)):null)</code>
 +Když se první znak z pole ''FValue'' rovná menšítku, tak do nového pole vlož tuto hodnotu bez prvního znaku (menšítko), převeď na double a vyděl 2. Jinak, když je první znak v poli číslo, tak toto pole převeď na číslo a ulož, jinak nedělej nic.
 +
 +<code java>ASGI==null ? POSUDEK : ASGI</code>
 +Když je pole ''<nowiki>ASGI</nowiki>'' prázdné, do nového pole ulož hodnotu ''POSUDEK'', jinak ulož hodnotu ''<nowiki>ASGI</nowiki>''.
Poslední úprava: 28.02.2022