IBM TRIRIGA Application Platform Verze 3.4.1
Sestavování aplikací pro platformu IBM TRIRIGA Application Platform: Rámec výkonu
Poznámka Před použitím těchto informací a produktu, který podporují, si přečtěte informace v části “Upozornění” na stránce 73.
Toto vydání se vztahuje k verzi 3, vydání 4, úpravě 1, produktu IBM TRIRIGA Application Platform a ke všem následným vydáním a úpravám, pokud nebude v nových vydáních uvedeno jinak. © Copyright IBM Corporation 2011, 2014.
Obsah Kapitola 1. Rámec výkonu . . . . . . . 1 Kapitola 2. Datové struktury . . . . . . 3 Přehled architektury . . . . . . . . . . . . 3 Tabulky faktů . . . . . . . . . . . . . . 4 Příklad tabulky faktů a přidružených dimenzí . . . . 6 Struktura metriky . . . . . . . . . . . . . 8 Integrace systému ETL . . . . . . . . . . . 10 Architektura integrace systému ETL . . . . . . 10 Proces integrace systému ETL . . . . . . . . 11 Nastavení předpokladů pro integraci systému ETL . . 14 Definování a údržba transformace ETL . . . . . 15 Používání systému ETL v nástroji Pentaho Spoon 15 Použití systému ETL s editorem konfigurace produktu IBM Tivoli Directory Integrator . . . . 31 Spuštění transformací systému ETL . . . . . . 52 Položky úlohy, skupiny úloh a plánovače úloh systému ETL . . . . . . . . . . . . 53 Vytváření nebo úprava položek úlohy systému ETL 53 Přidání nebo úprava skupin úloh . . . . . . 55 Vytváření nebo úprava plánovačů úloh. . . . . 55 Úprava objektů transformace . . . . . . . . 57 Definování obchodního objektu, formulářů a sledů prací transformace . . . . . . . . . . . 57 Uložení souboru XML transformace do aplikace Content Manager . . . . . . . . . . . 58 Konfigurace běhového prostředí sledu prací . . . 58 Spuštění specifikace vlastní úlohy sledu prací systému ETL . . . . . . . . . . . . 58
© Copyright IBM Corp. 2011, 2014
Kapitola 3. Metrika . . . . . . . . . . 61 Vykazování metrik Klíčové metriky . Metriky formuláře . Filtrování dat . Dílčí sestavy .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
61 62 62 62 63
Kapitola 4. Nástroj na vytvoření fixní hierarchie . . . . . . . . . . . . . 65 Fixní hierarchie . . . . . . Příklady fixních hierarchií . . Správce struktury hierarchie . . . Přístup ke strukturám hierarchie. Vytváření hierarchie dat . . . Vytváření hierarchie formuláře .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
65 66 67 67 67 67
Kapitola 5. Tabulky faktů . . . . . . . 69 Seznam tabulek faktů a podporovaných metrik . . . . 69 Fakta, která vyžadují speciální pracovní tabulky a systémy ETL . . . . . . . . . . . . . . . . . 69 Závislé systémy ETL . . . . . . . . . . . . 70
Upozornění . . . . . . . . . . . . . 73 Zásady ochrany osobních údajů . Ochranné známky . . . . .
. .
. .
. .
. .
. .
. .
. .
. 74 . 75
iii
iv
© Copyright IBM Corp. 2011, 2014
Kapitola 1. Rámec výkonu Produkty IBM® TRIRIGA Workplace Performance Management a IBM TRIRIGA Real Estate Environmental Sustainability poskytují realizovatelná řešení, která pomohou společnostem strategicky plánovat, spravovat, vyhodnocovat a zlepšovat procesy, které souvisí se zařízeními a nemovitostmi. Rámec výkonu produktu IBM TRIRIGA je spravován v rámci produktů TRIRIGA Workplace Performance Management a TRIRIGA Real Estate Environmental Sustainability, které zahrnují následující komponenty: v služby transformace dat a načtení tabulky faktů v tvůrce metrik, který používá Datového modeláře v stroj dotazu metriky v rozšířeného Správce sestavy k tvoření metrických sestav v rozšířené funkce portálu k vykreslení karet hodnocení metriky v řadu předem sestavených metrik, sestav a výstrah, které významně zlepšují produktivitu mnoha rolí, jež jsou podporovány v rámci produktu TRIRIGA
© Copyright IBM Corp. 2011, 2014
1
2
© Copyright IBM Corp. 2011, 2014
Kapitola 2. Datové struktury Produkt TRIRIGA používá vývojová prostředí systému ETL jako mechanismus pro přesun dat z tabulek obchodních objektů do tabulek faktů. Chcete-li prezentovat metriky, sestavy, karty hodnocení a jiné ukazatele výkonu, musí být data ve formátu tabulek faktů a fixních hierarchických tabulek, jež mohou nástroje pro vytváření sestav zpracovat.
Přehled architektury Zdrojová data pro produkt TRIRIGA Workplace Performance Management pochází z databáze aplikace produktu TRIRIGA, dat finančního přehledu, která jsou importována z externího finančního systému, a dat měření budov, která jsou importována z externích systémů správy budov. Zdrojová data jsou pomocí technologie systému ETL načtena do tabulek faktů. Tabulky faktů a tabulky dimenzí se nacházejí ve stejném databázovém úložišti jako aplikace produktu TRIRIGA. Tabulky faktů ukládají číselná data, známá jako fakty, které se použijí k výpočtu hodnot metriky produktu TRIRIGA Workplace Performance Management. Každý řádek v tabulce faktů odkazuje na jeden nebo více souvisejících obchodních objektů, klasifikací nebo seznamů, které seskupují a filtrují fakty. Tyto řádky se nazývají dimenze. Stroj dotazu metriky spouští dotazy na tabulkách faktů a dimenzí. Dotazy metriky rychle přepočítají hodnoty metriky, když se uživatel posouvá nahoru a dolů v hierarchické dimenzi. Následující diagram ukazuje tyto odlišné vrstvy tvořící tuto architekturu a tok dat mezi těmito vrstvami:
© Copyright IBM Corp. 2011, 2014
3
Nástroj Performance Manager WPM Portály WPM založené na rolích Sestavy WPM
Stroj dotazu metriky
Tabulky faktů
Tabulky dimenzí
Skripty ETL
TRIRIGA IWMS
Data finančního přehledu
Pracovní tabulky
Skripty ETL
Sestavování dat měřidla
Tabulky faktů Tabulky faktů ukládají data, která se používají k výpočtu metrik v sestavách metrik. Tabulky faktů se naplní daty pouze skrz transformace typu ETL. Chcete-li obchodní objekt identifikovat jako tabulku faktů, nastavte z aplikace Datový modelář příznak Spravováno externě v definici obchodního objektu tabulky faktů. Každá tabulka faktů se v produktu IBM TRIRIGA Application Platform naimplementuje jako speciální obchodní objekt, který má některé nebo všechny následující prvky:
4
© Copyright IBM Corp. 2011, 2014
Tabulka 1. Tabulky faktů Prvek tabulky faktů
Popis
Hierarchické dimenze
Každá hierarchická dimenze je polem lokátoru obchodního objektu, který patří do hierarchického modulu (např. Budova, Kód nákladů na služby nebo Město). Pro každou hierarchickou dimenzi podporuje odpovídající struktura hierarchie metrické sestavy. Hierarchická dimenze se může odkazovat na libovolné objekty nebo na všechny objekty v modulu. Bute co nejkonkrétnější. Zacílením na specifický obchodní objekt se zlepší granularita vašeho vykazování. Každá hierarchická dimenze musí mít nadefinovánu odpovídající strukturu hierarchie. Struktury hierarchie se používají pro cesty procházení úrovní v metrických sestavách.
Nehierarchické dimenze
Každá nehierarchická dimenze je bu polem seznamu, nebo polem lokátoru obchodního objektu, který patří do nehierarchického modulu (např. Úloha nebo Osoba).
Číselná pole faktů
Číselná pole faktu jsou standardní číselná pole, včetně nebo mimo vlastností měrných jednotek. Číselná pole faktu je možné charakterizovat jako jedny z následujících typů: v Aditivní - je možné sečíst napříč všemi dimenzemi. v Poloaditivní - je možné sečíst pouze napříč některými dimenzemi. Například celkový počet osob v budově zachycený měsíčně nelze sečíst čtvrtletně, protože by se tím nezískal celkový počet pro čtvrtletí, ale je možné sečíst jej podle zeměpisné oblasti. Proto je tento fakt neaditivní v průběhu času. v Neaditivní - nelze sečíst napříč žádnou dimenzí. Například poměr je neaditivní fakt, protože není možné sečíst poměr. Pole, která obsahují hodnoty z různých základních jednotek, jsou také neaditivní.
Pole měrné jednotky
Pole měrné jednotky (kromě polí plochy) jsou zachycena ve své lokální zadané měrné jednotce.
Pole plochy
Pole plochy jsou zachycena jak v imperiálních (např. čtvereční stopa), tak i v metrických (např. čtvereční metry) hodnotách.
Pole měny
Pole měny jsou zachycena pomocí základní měny. Nedojde k žádným převodům měny.
Kapitola 2. Datové struktury
5
Tabulka 1. Tabulky faktů (pokračování) Prvek tabulky faktů
Popis
Aktuální časové období
Dimenze časového období je speciální dimenze používaná k identifikování času a data, pro nějž je použitelný jediný záznam faktu. Toto je pravděpodobně časové období, kdy byla data zachycena. V případech, kdy dimenze časového období není používána jako filtr nebo cesta přechodu, musíte naplnit pole triCapturePeriodTX, abyste označili dimenzi, která se použije k označení období zachycení. Pokud toto pole existuje, měl by odpovídající obchodní objekt pro danou dimenzi obsahovat pole s názvem triCurrentBL, které se použije k označení záznamů dimenzí, jež odrážejí aktuální období. Tyto záznamy se pak použijí k filtrování sady výsledků pro metrickou sestavu.
Fiskální období
Klasifikaci fiskálního období používá systém ETL k definování období zachycení pro záznamy faktů. Toto je primární dimenze časového období v metrických sestavách. Protože je možné mít různé tabulky faktů obsahující data založená na různých frekvencích zachycení, s jedním záznamem pro každou úroveň v hierarchii, každou úroveň lze označit jako aktuální období. Pokud například v klasifikaci fiskálního období vytvoříte hierarchii rok/čtvrtletí/měsíc, můžete identifikovat aktuální rok, aktuální čtvrtletí a aktuální měsíc. Speciální typ úlohy systému ETL poskytuje sled prací, aby se zajistila synchronizace těchto dat. Obecným pravidlem je, že by všechna data v jediné tabulce faktů měla být zachycena na stejné úrovni/základní jednotce časového období (rok, čtvrtletí, měsíc). Pokud změníte úroveň/základní jednotku časového období po zachycení dat pro konkrétní tabulku faktů, musíte všechna data v dané tabulce faktů revidovat na správnou úroveň/základní jednotku, nebo je musíte oříznout/odebrat.
Obchodní objekt tabulky faktů
Chcete-li identifikovat obchodní objekt, že ho budou podporovat tabulky faktů, vyberte přepínač Spravováno externě ve vlastnostech obchodního objektu, když vytváříte obchodní objekt.
Tip: Neodstraňujte nebo neměňte žádný z obchodních objektů, tabulek faktů nebo skriptů ETL, které se dodávají spolu se standardním softwarem TRIRIGA. Místo toho, chcete-li změnit existující objekt, tabulku nebo skript, zkopírujte jej, přejmenujte kopii a přizpůsobte kopii vašim potřebám.
Příklad tabulky faktů a přidružených dimenzí Tabulky faktů a dimenzí sestavíte pomocí metody hvězdicového schématu návrhu ukládání do datového skladu. Jsou uloženy ve stejném databázovém úložišti jako aplikace produktu TRIRIGA.
6
© Copyright IBM Corp. 2011, 2014
Následující diagram ukazuje příklad jedné z předkonfigurovaných tabulek faktů v produktu TRIRIGA Workplace Performance Management: Pole tabulky faktů
Tabulky dimenzí
Kapacita prostoru Celkový počet osob Obchodní objekt prostoru Zbývající kapacita Plocha prostoru
Obchodní objekt budovy
Přidělená plocha
Hierarchie lokalit
ID prostoru
Hierarchie zeměpisné oblasti
ID budovy Hierarchie třídy prostoru ID lokality Hierarchie třídy budovy ID zeměpisné oblasti Hierarchie držby budovy
ID třídy prostoru ID třídy budovy ID držby budovy
Diagram ukazuje fakt prostoru s pěti fakty, včetně kapacity prostoru, celkového počtu osob, zbývající kapacity, plochy prostoru a přidělené plochy. Fakt prostoru také odkazuje na sedm dimenzí, včetně prostoru, budovy, lokality, zeměpisné oblasti, třídy prostoru, třídy budovy a držby budovy. Dimenze v tabulce faktů propojují fakty s odpovídajícími tabulkami dimenzí. Některé dimenze jsou hierarchické, jako např. lokalita nebo zeměpisná oblast, některé nikoliv, jako např. prostor a budova. Fixní hierarchické tabulky se používají k identifikování podřízených položek obchodního objektu. Fixní hierarchické tabulky umožňují stroji dotazů metriky procházet hierarchické moduly, obchodní objekty a klasifikace. Následující tabulka ukazuje příklad fixní hierarchie, která je založená na zeměpisné oblasti: Tabulka 2. Příklad fixní hierarchie zeměpisné oblasti SPEC_ID
Číslo úrovně
SPEC_ID na úrovni 1
SPEC_ID na úrovni 2
SPEC_ID na úrovni 3
SPEC_ID na úrovni 4
Svět
1
Svět
Nelze použít
Nelze použít
Nelze použít
Severní Amerika
2
Svět
Severní Amerika
Nelze použít
Nelze použít
EMEA
2
Svět
EMEA
Nelze použít
Nelze použít
APAC
2
Svět
APAC
Nelze použít
Nelze použít
Spojené státy
3
Svět
Severní Amerika
Spojené státy
Nelze použít
Kapitola 2. Datové struktury
7
Tabulka 2. Příklad fixní hierarchie zeměpisné oblasti (pokračování) SPEC_ID
Číslo úrovně
SPEC_ID na úrovni 1
SPEC_ID na úrovni 2
SPEC_ID na úrovni 3
SPEC_ID na úrovni 4
Kanada
3
Svět
Severní Amerika
Kanada
Nelze použít
Nevada
4
Svět
Severní Amerika
Spojené státy
Nevada
Texas
4
Svět
Severní Amerika
Spojené státy
Texas
S pomocí příkladu, pokud byste chtěli identifikovat všechny zeměpisné oblasti, které jsou podřízenými severní Ameriky, byste nejprve vyhledali SPEC_ID severní Ameriky v první sloupci ukázkové fixní tabulky zeměpisné oblasti. Pak byste použili číslo úrovně severní Ameriky, což je 2, k určení sloupce filtru. S pomocí SPEC_ID a čísla úrovně můžete identifikovat všechny zeměpisné oblasti, které jsou podřízené, podřízené podřízených nebo na jiné úrovni pod severní Amerikou.
Struktura metriky Funkčnost TRIRIGA Workplace Performance Management se zaměřuje na zachycení metrických faktů a povolení vytváření sestav metrik. Většina z těchto metrik TRIRIGA je vícerozměrných, kdy stejná metrika poskytuje souhrnný pohled na vysoké úrovni (jako např. celkové provozní náklady/plocha pro celou organizaci a portfolio) a po přechodu na různé dimenze nebo filtry poskytuje pohled specifický pro roli (např. celkové provozní náklady/plocha pro severoamerické operace zařízení, které jsou spravovány severoamerickými operacemi). Metriky měří výkon procesu, který je schopen identifikovat výsledky akcí. Měřítkem je obvykle poměr, procenta nebo skóre. Metriky mají cíle, prahové hodnoty, podmínky akcí, zodpovědnost za výsledky a funkčnost úlohy akce. Produkt TRIRIGA Workplace Performance Management obsahuje následující typy metrik, které představují kategorie Karet hodnocení v sekci portálu Klíčové metriky: Metriky zákazníka Měří spokojenost zákazníků Finanční metriky Měří finanční výkonnost Metriky portfolia Měří operační využití a stav životního cyklu aktiva Metriky zpracování Měří účinnost a efektivitu zpracování Metriky sestav a analýzy Analyzuje specifické metriky výkonu Kromě toho produkt TRIRIGA Real Estate Environmental Sustainability obsahuje následující typy metrik: Environmentální Měří výkon iniciativy prostředí
8
© Copyright IBM Corp. 2011, 2014
Metriky budov Měří charakteristiky budov, jak jsou vykazovány měřidly a senzory Následující diagram procesu na vysoké úrovni popisuje proces definování, zachycení a předložení metrik uživateli:
Pracovní
Externí data
TRIRIGA
Fakt
Dimenze
Stroj pro zpracování metrik (analytický nástroj/nástroj pro sestavy)
Portál aplikace TRIRIGA
Databáze TRIRIGA je primárním zdrojem dat pro shromažování provozních dat, která se načtou do tabulek faktů. Volitelně můžete extrahovat data z jiných zdrojů, které se pak načtou do tabulek faktů. Každá tabulka faktů obsahuje nejnižší úroveň agregovaných dat (jako např. úroveň sestavení) pro každou kategorii metriky. Z důvodu účinnosti je tabulka faktů zjednodušená tabulka obsahující datový prvky z několika tabulek TRIRIGA. Tabulka dimenzí obsahuje dimenze pro každou metriku. Dimenze jsou uloženy v samostatné tabulce kvůli účinnosti. Tabulka faktů obsahuje klíč (ID specifikace) pro každou dimenzi. Tabulka dimenzí může být bu hierarchická tabulka, nebo tabulka obchodního objektu produktu TRIRIGA. Stroj pro zpracování metrik (nástroj pro analýzu/sestavy) generuje metriky s použitím dat, která jsou uložena v tabulkách faktů, spolu s daty nastavení metriky a daty dimenze. Data metriky, spolu s oznámeními, akcemi a výstrahami, jsou uživatelů, předložena v portálu založeném na roli v různých formulářích (včetně sestav, dotazů a grafů), jak je definováno v tabulce nastavení metriky. Uživatel může přejít na specifický objekt, nebo může přejít na cestu, aby dále analyzoval předložená data metriky. Vykazování metriky je závislé na tabulkách faktů metriky. Tyto tabulky faktů jsou naimplementovány s pomocí Datového modeláře, ale jsou identifikovány s pomocí jedinečného typu objektu, který značí, že se jedná o objekt metriky. Objekty metriky jsou naplněny s pomocí vývojového prostředí systému ETL, který se odlišuje od všech ostatních typů objektů, které jsou aktualizovány skrze vrstvu metadat. Plánování procesu systému ETL je řízeno v rámci systému produktu TRIRIGA s pomocí Plánovače úloh. Kapitola 2. Datové struktury
9
Integrace systému ETL Produkt TRIRIGA používá bu Editor konfigurace vývojového prostředí systému ETL produktu Tivoli Directory Integrator, nebo nástroj Spoon vývojového prostředí systému ETL Pentaho ke generování souborů XML transformace. Tyto transformace, když je spustíte přes rozhraní API, přesunou data ze zdrojových do cílových tabulek.
Architektura integrace systému ETL Produkt TRIRIGA používá dvě prostředí systému ETL k vytvoření skriptů systému ETL, které naplní daty tabulky faktů. Tato dvě vývojová prostředí systému ETL jsou Editor konfigurace produktu Tivoli Directory Integrator a integrační nástroj dat Pentaho Spoon. Vývojová prostředí systému ETL umožňují vytvoření dotazů SQL, které čtou data z tabulek obchodního objektu produktu TRIRIGA a mapují a transformují výsledky do faktu a sloupců dimenze tabulky faktů. Následující diagram ukazuje tok dat mezi zdrojovými daty, vývojovým prostředím systému ETL a vrstvami datového modelu TRIRIGA Workplace Performance Management: Zdrojová data
Vývojové prostředí ETL
Datový model WPM
TRIRIGA IWMS Zařízení Tabulky faktů Realita Editor konfigurace nebo nástroj Spoon Operace Tabulky dimenzí Projekty
Data finančního přehledu
Sestavování dat měřidla
Pracovní tabulky
Položky úlohy systému ETL jsou obchodní objekty, které odkazují na skripty systému ETL používané pro naplnění tabulek faktů daty. Produkt TRIRIGA Workplace Performance Management používá standardní nástroje produktu TRIRIGA Application Platform. Následující diagram ukazuje nástroje aplikační platformy:
10
© Copyright IBM Corp. 2011, 2014
Nástroj Performance Manager WPM Portály WPM založené na rolích
- Tvůrce správců - Správce sekce portálu - Správce portálu
Sestavy WPM
Stroj dotazu metriky
Tabulky faktů
- Správce sestav
Tabulky dimenzí
- vývojové prostředí ETL - položka úlohy systému ETL - plánovač úloh systému ETL
Skripty ETL
TRIRIGA IWMS
Data finančního přehledu
- Datový modelář
Pracovní tabulky
- aplikace TRIRIGA je offline
Skripty ETL
Sestavování dat měřidla
Proces integrace systému ETL Chcete-li přesunout data ze zdrojových do cílových tabulek, spuste soubory transformace systémů ETL, které jste vyvinuli bu v editoru konfigurace produktu Tivoli Directory Integrator, nebo v nástroji Pentaho Spoon přes rozhraní API. Pro každou tabulku faktů musí existovat transformace. Tabulky faktů jsou naplněny daty pouze skrze transformace systému ETL, nikoliv skrz aplikaci TRIRIGA. Produkt TRIRIGA Application Platform obsahuje sled prací, který běží podle časového plánu a načítá tabulky faktů. Sled prací zavolá vlastní úlohu sladu prací platformy, která načte nejnovější XML transformace z aplikace Content Manager a použije bu produkt Tivoli Directory Integrator, nebo rozhraní API Kettle ke spuštění transformace.
Kapitola 2. Datové struktury
11
Vývojové prostředí ETL generuje XML transformace
Uložit XML Otevřít XML
Soubor XML systému souborů
Formulář/obchodní objekt produktu TRIRIGA Application Platform definovaný pro správu transformací
Odeslat Stáhnout
Content Manager
Databáze
Content Manager
Sled prací produktu TRIRIGA Application Platform zavolá dle časového plánu vlastní úlohu, aby spustil transformace
Existují tři hlavní procesy: v Nastavení, které zahrnuje vytvoření obchodního objektu/formuláře/položky navigace Transformace a samotného sledu prací. v Vytvoření/správa XML transformace s pomocí vývojového prostředí systému ETL. v Běhové prostředí, které představuje naplánovaný sled prací, jenž provede vlastní úlohu sledu prací k pravidelnému spouštění transformací, aby se aktualizovaly tabulky faktů. Následující diagram shrnuje tyto procesy pro transformace systému ETL nástroje Pentaho Spoon:
12
© Copyright IBM Corp. 2011, 2014
Nastavení - Hotovo jednou Aktér 1 Návrhář aplikací
Na platformě aplikace TRIRIGA - Vytvořit formulář/obchodní objekt transformace - Vytvořit sled prací, který zavolá vlastní úlohu
Údržba transformací - pro každý fakt Aktér 2 Návrhář aplikací
Aktér 3 Profesionální služby
Vytvořit
Upravit
Na platformě aplikace TRIRIGA - Vytvořit obchodní objekt faktu - Určit mapování mezi faktem a metadaty
Na platformě aplikace TRIRIGA - Stáhnout soubor XML s formulářem transformace
V nástroji Spoon - Vytvořit XML transformace - Uložit soubor do systému souborů Na platformě aplikace TRIRIGA - Odeslat soubor XML s formulářem transformace
V nástroji Spoon - Upravit XML transformace - Uložit do soubor v systému souborů Na platformě aplikace TRIRIGA - Odeslat soubor XML s formulářem transformace
Běhové prostředí - podle časového plánu Systém
Na platformě aplikace TRIRIGA - Sled prací spustí vlastní úlohu pro každou transformaci - Shromažďovat proměnné - Stáhnout XML do dočasného souboru - Nastavit rozhraní JNDI na aplikačním serveru - Zavolat rozhraní API Kettle, aby spustilo transformaci
Následující diagram shrnuje tyto procesy pro transformace systému ETL editoru konfigurací produktu Tivoli Directory Integrator:
Kapitola 2. Datové struktury
13
Nastavení - Hotovo jednou Aktér 1 Návrhář aplikací
Na platformě aplikace TRIRIGA - Vytvořit formulář/obchodní objekt transformace - Vytvořit sled prací, který zavolá vlastní úlohu - Definovat nastavení připojení JDBC
Údržba transformací - pro každý fakt Aktér 2 Návrhář aplikací
Aktér 3 Profesionální služby
Vytvořit
Upravit
Na platformě aplikace TRIRIGA - Vytvořit obchodní objekt faktu - Určit mapování mezi faktem a metadaty
Na platformě aplikace TRIRIGA - Stáhnout soubor XML s formulářem transformace
V editoru konfigurace - Vytvořit XML transformace - Uložit do soubor v systému souborů Na platformě aplikace TRIRIGA - Odeslat soubor XML s formulářem transformace
V editoru konfigurace - Upravit XML transformace - Uložit do soubor v systému souborů Na platformě aplikace TRIRIGA - Odeslat soubor XML s formulářem transformace
Běhové prostředí - podle časového plánu Systém
Na platformě aplikace TRIRIGA - Sled prací spustí vlastní úlohu pro každou transformaci - Shromažďovat proměnné - Získat nastavení připojení JDBC - Odeslat XML na server TDI, aby se spustila transformace
Skripty systému ETL stáhnou data z obchodních objektů, včetně obchodního objektu Finanční přehled, kam se importují záznamy finančního přehledu z tabulkových kalkulátorů, nebo je stáhnou rozhraní navržená uživatelem pomocí finančního systému.
Nastavení předpokladů pro integraci systému ETL V rámci produktu TRIRIGA Application Platform spravují transformace obchodní objekt a formulář. Zdrojové tabulky a cílové tabulky faktů musí být nadefinované a mapování pochopené, abyste mohli vytvořit transformaci. Pro každou tabulku faktů načtenou skrze transformaci existuje záznam. Binární pole na obchodním objektu transformace stáhne soubor XML transformace do aplikace Content Manager. Formulář poskytuje způsob k přenesení/stažení soubor XML, abyste mohli XML
14
© Copyright IBM Corp. 2011, 2014
transformace snadno spravovat. Produkt TRIRIGA se dodává s předkonfigurovanou položkou úlohy systému ETL jako implementací tohoto obchodního objektu nebo formuláře. V rámci produktu TRIRIGA Application Platform běží sled prací podle časového plánu a zavolá vlastní úlohu sledu prací pro každou tabulku faktů, kterou je nutné načíst nebo aktualizovat. Plánovač úloh obsahuje mechanismus, který automaticky zavolá vlastní úlohu sledu prací pro položky úlohy systému ETL. TRIRIGA zasílá všechny obchodní objekty, formuláře a sledy prací k podpoře produktů TRIRIGA Workplace Performance Management a TRIRIGA Real Estate Environmental Sustainability.
Definování a údržba transformace ETL Použijte vývojové prostředí systému ETL k vytvoření transformace pro přesun dat. Během transformace můžete provádět výpočty a používat proměnné z produktu TRIRIGA Application Platform a ze systému.
Používání systému ETL v nástroji Pentaho Spoon Nástroj Pentaho Spoon můžete použít jako vývojové prostředí systému ETL. Přehled používání nástroje Pentaho Spoon: Nejprve musíte vytvořit zdrojové a cílové tabulky a zavést odpovídající mapování. Dále musíte identifikovat proměnné, které musí být předány do transformace a přidat je do obchodního objektu nebo formuláře transformace. Poté můžete použít nástroj Pentaho Spoon a následující postup pro definování a udržování transformací. Tip: Nemusí být nutné provádět všechny tyto kroky. Nutné kroky závisí na tom, zda definujete nebo udržujete transformaci. v Spuste soubor spoon.bat nebo kettle.exe otevřením nástroje Spoon. Vyberte volbu Žádné úložiště, protože žádné nepotřebujete. v Bu otevřete existující soubor XML, který jste stáhli do systému souborů pomocí formuláře transformace, nebo použijte volby Soubor > Nový > Transformace a vytvořte novou transformaci. v Nadefinujte nastavení JNDI pro lokální databázi. Použijte TRIRIGA jako název připojení. Nastavte databázové připojení v nástroji pomocí voleb Zobrazit > Databázová připojení > Nové. Když sled prací spustí transformaci, připojení se přepíše informacemi o připojení aplikačního serveru. v Použijte nabídku Návrh, abyste následovně rozvrhli transformaci: – Extrahujte řádky z tabulky pomocí voleb Návrh > Vstup > Vstup tabulky. – Ujistěte se, že všechna pole řádku mají hodnoty, když je použijete ve výpočtu, s použitím voleb Návrh > Transformovat > Mapovač hodnoty. – K výpočtům použijte volby Návrh > Transformovat > Kalkulačka. – Poskytněte posloupnost cílových řádků pomocí voleb Návrh > Vyhledání > Zavolat proceduru databáze, s použitím uložené procedury databáze NEXTVAL. – Použijte volby Tvoření skriptů > Upravená hodnota skriptu jazyka JavaScript a další kroky, abyste podle potřeby transformovali data. – Identifikujte tabulku, kam povede výstup řádků, pomocí voleb Návrh > Výstup > Výstup tabulky – Namapujte pole podle vygenerovaných mapování vůči cílovému kroku. v Propojte kroky pomocí voleb Zobrazit > Přechody a postupně rozvrhněte transformaci.
Kapitola 2. Datové struktury
15
v Důkladně transformaci otestujte pomocí příkazu execute a dalších dostupných obslužných programů. Testování zajistí, že je proces přesný a že očekávané řádky jsou vráceny a náležitě transformovány. v Uložte transformaci pomocí voleb Soubor > Uložit. Neukládejte do úložiště. Místo toho nastavte typ souboru na XML a uložte jej s použitím přípony soubory .ktr. Pokud nenastavíte typ souboru, výchozí transformací bude transformace Kettle, která uloží soubor XML s příponou souboru .ktr. Instalace nástroje Pentaho Spoon: Nástroj Pentaho Spoon můžete nainstalovat jako vývojové prostředí systému ETL. Použijte verzi 3.1, která představuje verzi, s níž integruje produkt TRIRIGA. Postup 1. Vyhledejte nástroj Pentaho Spoon verze 3.1 na adrese http://sourceforge.net/projects/ pentaho/files/Data%20Integration/3.1.0-stable/pdi-open-3.1.0-826.zip. 2. Extrahujte soubory ze souboru .zip a zachovejte adresářové struktury neporušeny. 3. Zkontrolujte nejnovější verzi nástroje Pentaho Spoon a doprovázejících podrobných dokumentací na adrese http://kettle.pentaho.org/. Nastavení lokálního rozhraní JNDI: Musíte nadefinovat nastavení lokálního rozhraní JNDI vaší databáze pomocí aktualizace souboru vlastností. Postup 1. V adresáři pdi-open-3.1.0-826/simple-jndi upravte soubor jdbc.properties a přidejte následující vlastnosti: v LocalJNDI/type=javax.sql.DataSource v LocalJNDI/driver=oracle.jdbc.driver.OracleDriver v LocalJNDI/url=jdbc:oracle:thin:@localhost:1521:orcl v LocalJNDI/user=tridata2 v LocalJNDI/password=tridata2 2. Odpovídajícím způsobem aktualizujte informace, včetně ovladače, pokud používáte databázi DB2 nebo server SQL. 3. Uložte soubor a zavřete jej. Vytváření transformací a databázových připojení: Můžete vytvořit transformace a databázová připojení, která bude používat nástroj Pentaho Spoon a produkt TRIRIGA Postup 1. Spuste soubor spoon.bat v adresáři pdi-open-3.1.0-826 otevřením nástroje Spoon. Zvolte spuštění bez úložiště. 2. Chcete-li vytvořit novou transformaci, klepněte pravým tlačítkem myši na volbu Transformace a vyberte volbu Nová. 3. V režimu Zobrazit vytvořte databázové připojení. Klepněte pravým tlačítkem myši na databázová připojení uvnitř Transformací a vyberte volbu Nový. 4. Vlastní úloha sledu prací nahradí připojení produktu TRIRIGA za nastavení JNDI aplikačního serveru. Nakonfigurujte databázové připojení takto: v Connection Name:TRIRIGA
16
© Copyright IBM Corp. 2011, 2014
v Connection Type:Oracle v Access:JNDI v Settings:JNDI Name: LocalJNDI 5. Vyberte volbu Testovat, abyste se ujistili, že je připojení nastaveno správně. 6. Uložte podrobnosti databázového spojení. 7. Ujistěte se, že transformaci uložíte jako soubor XML a mimo úložiště. Přípona transformace Kettle je .ktr. Výchozí nastavení transformace Kettle uloží soubor jako .ktr. Spuštění transformace z nástroje Pentaho Spoon: Můžete spustit transformaci, která je bu dokončená, nebo je v procesu dokončování. Postup 1. Uložte transformaci a vyberte volbu Spustit. 2. Podle potřeby nastavte proměnné. 3. Vyberte volbu Náhled, abyste si zobrazili změny vstupního proudu po spuštění každého kroku. Výběr kroků nástroje Spoon: Můžete použít režim návrhu k výběru různých typů kroků nástroje Spoon a přidat je do transformace. Postup 1. Chcete-li přidat krok do transformace, vyberte volbu Typ kroku a přetáhněte krok z levé navigace na vaší paletu. 2. Chcete-li propojit dva kroky, vyberte volbu Zobrazit v levé navigaci a poklepejte na volbu Přechody. 3. Vložte kroky Od a Do a vyberte volbu OK. 4. Alternativně můžete stisknout klávesu Ctrl a klepnout na dva kroky, klepnout pravým tlačítkem myši na jeden z nich a vybrat volbu Nový přechod. 5. Chcete-li přidat poznámku do transformace, klepněte pravým tlačítkem myši na paletu a vyberte volbu Nová poznámka. Ukázková transformace v nástroji Spoon: Můžete si stáhnout kopii jakéhokoliv existujícího skriptu .ktr, který je obsažen v existující položce úlohy systému ETL, abyste postupovali podle popisu kroků. Následuje zobrazení příkladu transformace v nástroji Spoon. Většina z dodávaných procesů ETL mají stejný tok jako v příkladu, ale specifika jsou odlišná, například tabulky databáze, ze kterých jsou extrahována data, a jak jsou data transformována. Ukázková transformace zahrnuje následující položky: v Stáhne vstupní řádky a pole z organizace T_TRIORGANIZATIONALLOCATION a prostoru T_TRISPACE, kde org.TRILOCATIONLOOKUPTXOBJID = space.SPEC_ID. v Používá IBS_SPEC.UPDATED_DATE k omezení vybraných řádků pomocí rozsahu dat předaného z obchodního objektu transformace. v Použijte mapovač hodnot, abyste zajistili, že se ve všech řádcích bude nacházet hodnota pro space.TRIHEADCOUNTNU, space.TRIHEADCOUNTOTHERNU a org.TRIALLOCPERCENTNU, není-li tomu tak, nastavte na hodnotu 0.
Kapitola 2. Datové struktury
17
v Používá kalkulačku k nastavení TRIFACTTOTALWORKERSASS na (space.TRIHEADCOUNTNU + space.TRIHEADCOUNTOTHERNU) * org.TRIALLOCPERCENTNU. v Získá TRICREATEDBYTX a TRIRUNDA, předané z obchodního objektu transformace skrze krok Získat proměnné. v Používá krok Přidat konstantu k nastavení názvu pořadového čísla a přírůstku, aby byl k dispozici ve vstupním proudu pro krok určení pořadového čísla. v Používá proceduru databáze NEXTVAL k nastavení SPEC_ID, nastavte tento krok, aby používal pět podprocesů ke zvýšení výkonu. v Používá krok Skript jazyka JavaScript k určení, zda projekt skončil na čas, a k výpočtu doby trvání projektu. Nastavte tento krok, aby používal tři podprocesy ke zvýšení výkonu. v Mapuje pole na T_TRISPACEALLOCFACTOID. Mějte na paměti tyto klíčové věci, když sestavujete transformaci a zahrňte následující položky: v Otestujte každý krok, abyste se ujistili, že transformace dělá to, co po ní chcete. v Transformace musíte vytvořit defensivním způsobem. Například pokud provádíte výpočty založené na specifických polích, všechny řádky v těchto polích musí mít hodnotu, nesmí existovat žádné prázdné. Pokud tomu tak není, transformace selže. Použijte mapovač hodnot, abyste se ujistili, že všechna pole použitá ve výpočtu mají hodnotu. v S daty je to obtížnější, protože produkt databáze TRIRIGA podporuje uchování atributů DATUM a ČAS v poli s datem. Řešení dat ukazují, jak zpracovávat rozsahy dat v jazyku SQL. v Ujistěte se, že používáte nastavení JNDI a že je vaše databáze transformace nezávislá, obzvláště je-li nutné, aby řešení mělo spuštěné více platforem databáze (DB2, Oracle a Microsoft SQL Server). v Všechny atributy v obchodním objektu transformace se odešlo do transformace jako proměnné. Existuje několik výjimek. Atributy typu Čas a Systémová proměnná jsou ignorovány. Můžete použít proměnné v dotazu SQL, nebo je stáhnout do vstupního proudu s pomocí příkazu Získat proměnné z následující syntaxe: ${VariableName}, kde VariableName je název atributu. v Ujistěte se, že plně otestujete a nastavíte transformaci, než použijete proměnné ve vstupu tabulky. Testovat kroky Skript jazyka JavaScript, Náhled na vstup tabulky a Mapování tabulky je náročné. Proměnné v transformaci můžete nastavit pomocí volby Upravit > Nastavit proměnné prostředí nebo na stránce Provést v sekci Proměnná. Použitím proměnných se zpřístupní více testovacích funkcí v nástroji Spoon. v Otestujte připojení, než použijete JNDI, než spustíte vyhledávání, nebo než spustíte transformaci v nástroji Spoon. Připojení JNDI musíte otestovat, abyste se vyvarovali možným problémům s výkonem nástroje Spoon. v Uvažte přidání indexu. Může se jednat o klíč k výkonu, protože systémy ETL stahují data z tabulek T způsobem, který se liší od běžné aplikace. Předcházející položky podrobně popisují transformaci, když konfigurujete použití kroky v nástroji Spoon. Položky se soustředí na hlavní kroky používané transformacemi, které jsou dodány spolu s produktem TRIRIGA. Nástroj Spoon obsahuje další typy kroků, které můžete použít k manipulaci s daty: použijte kroky podle potřeby, v závislosti na potřebách transformace. Konfigurace kroků vstupu v nástroji Spoon: Kroky vstupu můžete použít k přinesení dat do transformace.
18
© Copyright IBM Corp. 2011, 2014
Informace o této úloze Vstup tabulky je zdrojem většiny vašich dat. Použijete-li uvedené databázové připojení, můžete nastavit SQL pro extrahování dat z tabulek. Postup 1. 2. 3. 4. 5.
Poklepejte na krok vstupu tabulky, abyste otevřeli informace pro daný krok. Nastavte připojení na produkt TRIRIGA nebo na zdrojovou databázi. Zadejte SQL do tabulky SQL. Vyberte volbu OK, abyste uložili vstup tabulky. Vyberte volbu Náhled, abyste si zobrazili náhled na data, která zahrnuje vstup tabulky. Pokud v SQL používáte proměnné, musíte je nastavit na Náhled, aby fungovaly. Bu musíte hodnoty proměnných pevně nastavit během testování, nebo musíte vybrat volby Upravit > Nastavit proměnné prostředí, abyste nastavili hodnoty proměnných. Proměnné v SQL jsou $(triActiveStartDA_MinDATE} a ${triActiveEndDA_MaxDATE}.
Výsledky Poskytnuté SQL extrahuje vstupní řádky z organizace T_TRIORGANIZATIONALLOCATION a prostoru T_TRISPACE, kde org.TRILOCATIONLOOKUPTXOBJID se rovná space.SPEC_ID. Používá data z obchodního objektu transformace k omezení zahrnutých dat. Konfigurace kroků transformace nástroje Spoon: Kroky transformace můžete použít ke změně vstupních dat nebo k přidání informací do vstupního proudu. Informace o této úloze V ukázkové transformaci v nástroji Spoon se použijí kroky Kalkulačka, Přidat konstanty a Mapovač hodnoty. Posloupnost můžete přidat pomocí nástroje Spoon, ale není nezávislá na databázi a nefunguje na serveru SQL. Místo toho můžete použít poskytnutou proceduru DB. Postup 1. Pomocí kroku Mapovač hodnot zajistíte, aby pole měla hodnoty nebo nastavení jiných hodnot pro pole. Můžete nastavit hodnoty v cílovém poli na základě hodnot ve zdrojovém poli. Není-li cílové pole uvedeno, cílové pole se nastaví místo cílového pole. Musíte zajistit, aby všechna pole ve výpočtu měla hodnotu. Pokud je během výpočtu zjištěna hodnota null, transformace se nezdaří. 2. Poklepáním na Mapovač hodnot se otevře dialogové okno pro vložení nezbytných informací. V ukázkové transformaci nástroje Spoon se pole nastavuje na hodnotu 0, pokud nemá hodnotu. 3. Pomocí kroku Přidat konstanty přidáte konstanty do vstupního proudu a nastavíte hodnoty, které jsou povinné pro proceduru DB NEXTVAL. 4. Tento krok musíte mít ve všech transformacích, které používají proceduru DB NEXTVAL. Nastavte SEQ_NAME na hodnotu SEQ_FACTSOID a INCR na hodnotu 1. 5. Pomocí kroku Kalkulačka vezmete pole a provedete omezenou sadu výpočtů. Poskytuje sadu funkcí, které se použijí na hodnotách pole. Krok Kalkulačka se provede lépe než pomocí kroků skriptu JavaScript. 6. Vestavěné výpočty jsou omezené. Vyberte sloupec Výpočet, chcete-li zobrazit seznam dostupných funkcí.
Kapitola 2. Datové struktury
19
Konfigurace kroků vyhledání nástroje Spoon: Kroky vyhledání můžete použít k extrahování dat z databáze do datového proudu. Informace o této úloze Procedura Zavolat databázi umožňuje transformaci zavolat proceduru databáze. Informace protečou skrze proceduru a zpět do transformace. Pro položky tabulky faktů můžete vytvořit posloupnosti. Postup 1. Nastavte volání procedury databáze, aby použila NEXTVAL k odeslání SEQ_NAME a INCR k výstupu s použitím CURR_VALUE. 2. Určete, kolik instancí tohoto kroku vyhledání se má spustit. Když testujete transformaci, spuštění tohoto kroku s pěti instancemi významně napomůže s výkonem. Například pro 30 000 záznamů se čas výkonu sníží z 90 sekund na 30 sekund. 3. Změňte počet podprocesů, které spouštějí krok, klepnutím pravého tlačítka myši na podproces a výběrem volby Změnit počet kopií ke spuštění. 4. Vylate počet podprocesů, které spouštějí krok Procedura databáze. Konfigurace kroků úlohy nástroje Spoon: Ačkoliv nevytváříte úlohy, pro které byste potřebovali dostat pole a proměnné Kettle do vstupního proudu, musíte se ujistit, že můžete nastavit výstupní pole na proměnnou. Informace o této úloze V ukázkové transformaci v nástroji Spoon se proměnné triCreatedByTX a triRunDA přinesou do vstupního proudu. Také získáte proměnné, které stáhnou proměnné ONTIME a DURATION, abyste je mohli nastavit během kroků vytváření skriptů jazyka JavaScript. Postup Pokud během transformace dojde k selhání, je důležité označení transformace časovým razítkem při jejím spuštění. V příkladu je to provedeno použitím proměnné triRunDA, čímž se poskytne možnost vrácení zpět, přestože proces pro toto nemá explicitní kroky. Když nastavujete pole na hodnoty v transformaci, musí být stejného typu, jinak transformace selže. Konfigurace kroků tvoření skriptů v nástroji Spoon: Pomocí kroků tvoření skriptů můžete implementovat funkce skriptu JavaScript. Informace o této úloze Můžete ji použít k manipulování se specifickými daty ve vstupním proudu, která nelze provést pomocí kalkulačky. Můžete vypočítat dobu trvání nebo nastavit hodnoty v proudu, který je založen na jiných hodnotách if/then/else. V proudu transformace můžete nastavit hodnoty, které jsou konstantami, nebo které pocházejí z proměnné. Postup 1. Použijte tvoření skriptů v jazyce JavaScript, potřebujete-li logiku k nastavení hodnot. 2. V ukázkové transformaci v nástroji Spoon se doba trvání vypočítá odečtením dvou dat od sebe navzájem. Doba trvání pak určuje, zda byl plán zpožděný, nebo ne.
20
© Copyright IBM Corp. 2011, 2014
3. Chcete-li získat informace z řádků vstupu tabulky s funkcemi tvoření skriptů v jazyce JavaScript, musíte iterovat, abyste našli požadované pole. K poli nemůžete přistoupit přímo, ledaže byste k němu přiřadili alias v kroku Vstup tabulky. Příklad Příklad tvoření skriptů v jazyce JavaScript podrobně popisuje, jak získat a nastavit proměnné. var var var var var var var
actualEnd; actualStart; plannedEnd; plannedStart; duration; valueDuration; valueOnTime;
// projděte skrz řádek vstupního proudu a získejte pole, // se kterými si chcete pohrát for (var i=0;i
plannedEnd) valueOnTime.setValue("no"); else valueOnTime.setValue("yes");
Vyberte volbu Testovat skript, abyste se ujistili, že bude skript jazyka JavaScript kompilován. Kroky Testovat skript a Náhled ve Vstupu tabulky nemohou obsloužit Kapitola 2. Datové struktury
21
proměnné, aniž byste je nastavili. Proměnné v transformaci můžete nastavit pomocí voleb Upravit > Nastavit proměnné prostředí. Tím zpřístupníte více funkcí v nástroji Pentaho Spoon. Můžete například použít volby Upravit > Nastavit proměnné prostředí a nastavit triActiveStartDA_MinDATE na to_date(‘20061201’, ‘YYYYmmdd’). Pokud používáte alias sloupců, když definujete dotaz, musíte použít stejný alias, když vyhledáváte název sloupce pomocí funkce getName. Následující volba v kroku Vstup tabulky ukazuje volbu Select: SELECT mainProject.triProjectCalcEndDA ActualEndDate, mainProject.triProjectActualStartDA ActualStartDate
Pokud hledáte hodnotu pro ActualEndDate, použijte stejný alias, nikoliv název sloupce z databáze, jak je zobrazeno níže: if (value.getName().equals("ActualEndDate")) { actualEnd = value.getNumber(); }
Konfigurace kroků výstupu v nástroji Spoon: Kroky výstupu můžete použít, chcete-li zapsat data zpět do databáze. Informace o této úloze Výstup tabulky a mapování výstupu tabulky ukládají informace do databáze. Tyto informace se pak použijí v tabulkách faktů. Jakmile budete mít všechna data, abyste mohli uložit transformaci, můžete přidat kroky výstupu na konec vaší transformace a připojit je k poslednímu kroku. Postup 1. Poklepejte a přidejte informace o připojení a tabulku faktů, kterou chcete použít jako výstupní tabulku. 2. Jakmile bude nastavená a kroky budou propojené, klepněte pravým tlačítkem myši na krok výstupu tabulky. 3. Vyberte volbu Generovat mapování vůči tomuto cílovému kroku. 4. Namapujte zdrojová pole na cílová pole v cílové databázi a vyberte na volbu OK. Zdrojová pole zahrnují dodatečná pole přidaná do vstupního proudu. Ujistěte se, že nastavíte mapování tabulky dříve, než použijete proměnné v kroku Výstup tabulky. 5. Chcete-li dokončit transformaci, přetáhněte krok mapování mezi poslední dva kroky. 6. Podle potřeby můžete upravit a přidat další pole do kroku mapování. Testování transformace: Můžete otestovat transformaci po přidání každého kroku Spoon nebo na konci po dokončení všech kroků Spoon. Testování po každém kroku usnadní ladění. Než budete moci otestovat transformaci, musíte ji nejprve uložit. Informace o této úloze Sekce proměnných podrobně popisuje proměnné, které jsou použity v transformaci. Když testujete transformaci pomocí nástroje Spoon, můžete nastavit hodnoty na tyto proměnné. Když je transformace spuštěna v produktu TRIRIGA, proměnné tvoří součást obchodního
22
© Copyright IBM Corp. 2011, 2014
objektu transformace. Nastavte a uložte hodnoty, které byly použity, do inteligentního objektu, než zavoláte vlastní úlohu sledu prací. Postup 1. Nastavte proměnnou triRunDA na datum a čas běhu sledu prací. Nemusí to být atribut v obchodním objektu transformace. Jedná se o číselné znázornění dat a času spuštění. triRunDA nemá šest formátů data, protože je generován dynamicky vlastní úlohou sledu prací. triRunDA je zapotřebí pro nastavení data vytvoření řádku faktů. 2. triCreatedByTX je atribut v obchodním objektu transformace. 3. TriActiveStartDA_MinDATE a triActiveEndDA_MaxDATE jsou obklopená znázornění atributů triActiveStartDA a triActiveEndDA. Během testování v nástroji Spoon, testujete-li na databázi Oracle nebo DB2, musíte je obklopit s to_date(‘datum_které_chcete’, ‘formát’). 4. Klepnutím na volbu Spustit spustíte transformaci. Pokud krok obsahuje chybu, objeví se červeně a chyba se uloží do souboru protokolu. K souboru protokolu můžete získat přístup přes stránku protokol. Řešení data: Několik proměnných data vyžaduje výpočty a porovnání při použití nástroje Pentaho Spoon. Řešení data poskytuje tyto výpočty a porovnání. Když je vyžadováno řešení data, existují tři instance: 1. Porovnat dvě data. Toto porovnání se použije k určení, zda je projekt časově přesný. 2. Vypočítat dobu trvání mezi dvěma daty ve dnech. V některých případech je tento výpočet použit k výpočtu doby trvání v hodinách. 3. Porovnat data, jako je datum upravení nebo datum zpracování s rozsahem dat, jako je první den měsíce a poslední den měsíce. První a druhá instance jsou vyřešeny pomocí kroků vytváření skriptů jazyka JavaScript. Třetí instance je vyřešena pomocí rozsahu dat ve vstupu tabulky. Existují dva typy dat. Data, která jsou v databázi uložená jako Datum, a data, která jsou uložená jako Číslo. Tip: Všechny objekty produktu TRIRIGA ukládají pole Datum a Datum a čas v databázi jako čísla. Vyberte pole jako číslo pro interakci s tabulkami obchodních objektů. Vyberte pole jako datum pro interakci s poli tabulky platformy systému definované jako datum. Vybrat pole jako datum: Můžete interaktivně spolupracovat s poli tabulky platformy systému definované jako datum výběrem pole jako datum. Následující příklad kódu využívá IBS_SPEC.UPDATED_DATE jako pole s datem k určení, zda je řádek potřebný. triActiveStartDA a triActiveEndDA jsou rozsahy dat. Tato data pochází z polí triActiveStartDA a triActiveEndDA na obchodním objektu transformace. Tabulka IBS_SPEC není objektem produktu TRIRIGA. Jedná se o tabulku platformy systému, která se používá ke sledování objektů v produktu TRIRIGA. zahrnuje pole, které se mění pokaždé, kdy se aktualizuje objekt TRIRIGA. Jedná se o pole UPDATED_DATE a v databázi je to pole s datem, nikoliv číselné pole.
Kapitola 2. Datové struktury
23
V následujícím příkladu kódu jsou použita pole ${triActiveStartDA_MinDATE} a ${triActiveEndDA_MaxDATE}. Tato obklopená pole s datem získávají všechny záznamy od 12:00 počátečního data do 23:59 koncového data. SELECT org.SPEC_ID ORG_SPEC_ID, org.TRIORGANIZATIONLOOKUOBJID, space.CLASSIFIEDBYSPACESYSKEY, org.TRIALLOCPERCENTNU, org.TRIALLOCAREANU, space.TRIHEADCOUNTNU, space.TRIHEADCOUNTOTHERNU, spec.UPDATED_DATE FROM T_TRIORGANIZATIONALLOCATION org, T_TRISPACE space, IBS_SPEC spec WHERE org.TRILOCATIONLOOKUPTXOBJID = space.SPEC_ID and space.SPEC_ID = spec.SPEC_ID and spec.UPDATED_DATE >= ${triActiveStartDA_MinDATE} and spec.UPDATED_DATE <= ${triActiveEndDA_MaxDATE} order by UPDATED_DATE
V databázi Oracle nebo DB2, ${triActiveStartDA_MinDATE} zobrazuje jako to_date (‘20070701 00:00:00’, ‘YYYYmmdd hh24:mi:ss’) a ${triActiveEndDA_MaxDATE} zobrazuje jako to_date (‘20070731 23:59:59’, ‘YYYYmmdd hh24:mi:ss’). Na serveru SQL tato data vypadají trochu jinak z důvodu specifik databáze, ale jsou nastavena na zachycování všech řádků mezi těmito dvěma daty. Vybrat pole jako číslo: Můžete interaktivně spolupracovat s tabulkami obchodních objektů výběrem pole jako čísla. Namísto použití IBS_SPEC.UPDATED_DATE jako pole určení data pro datum produktu TRIRIGA tato metoda porovnává pole určení přímo s hodnotami triActiveStartDA a triActiveEndDA, protože jsou v databázi všechna číselná. V následujícím příkladu kódu je triCaptureDA pole v T_TRISPACE. SELECT org.SPEC_ID ORG_SPEC_ID, org.TRIORGANIZATIONLOOKUOBJID, space.CLASSIFIEDBYSPACESYSKEY, org.TRIALLOCPERCENTNU, org.TRIALLOCAREANU, space.TRIHEADCOUNTNU, space.TRIHEADCOUNTOTHERNU, space.TRICAPTUREDA FROM T_TRIORGANIZATIONALLOCATION org, T_TRISPACE space, IBS_SPEC spec WHERE org.TRILOCATIONLOOKUPTXOBJID = space.SPEC_ID and space.TRICAPTUREDA >= ${triActiveStartDA_Min} and space.TRICAPTUREDA <= ${triActiveEndDA_Max} order by space.TRICAPTUREDA
Podobně jako pole s datem použijte proměnné Min a Max, abyste zajistili, že začátek bude 00:00:00 a konec v 23:59:59. Tyto proměnné použijte například k vyhledání záznamu z 31. prosince v 13:54. Proměnné data: Pro každý atribut Datum nebo Datum a čas v obchodním objektu transformace faktu systém vytvoří šest proměnných Kettle. Následující tabulka shrnuje tyto proměnné Kettle: Tabulka 3. Proměnné Kettle
24
Proměnná Kettle
Popis
${triActiveStartDA}
Bez přípony = je hodnota v milisekundách od 1. ledna 2014, beze změn času. Tato proměnná je pro pole, která jsou znázorněna jako číslo.
${triActiveStartDA_Min}
Min = je hodnota v milisekundách od 1. ledna 2014, s hodnotou času nastavenou na 00:00:00 pro uvedené datum. Tato proměnná je pro pole, která jsou znázorněna jako číslo.
© Copyright IBM Corp. 2011, 2014
Tabulka 3. Proměnné Kettle (pokračování) Proměnná Kettle
Popis
${triActiveStartDA_Max}
Max = je hodnota v milisekundách od 1. ledna 2014, s hodnotou času nastavenou na 23:59:59 pro uvedené datum. Tato proměnná je pro pole, která jsou znázorněna jako číslo.
${triActiveStartDA_DATE}
DATE = je obklopená hodnota ve formátu data beze změny času. Tato proměnná je pro pole, která jsou znázorněna jako datum v databázi. Pro Oracle nebo DB2 je obalená a vypadá takto: to_date (‘20070615 22:45:10’,’YYYYmmdd h24:mi:ss’) Pro server SQL Server se zobrazí takto: ‘20070615 22:45:10’
${triActiveStartDA_MinDATE}
MinDATE = je obklopená hodnota ve formátu data s časem nastaveným na 00:00:00. Tato proměnná je pro pole, která jsou znázorněna jako datum v databázi.
${triActiveStartDA_MaxDATE}
MaxDATE = je obklopená hodnota ve formátu data s časem nastaveným na 23:59:59. Tato proměnná je pro pole, která jsou znázorněna jako datum v databázi.
Když uvedete proměnné ${triActiveStartDA_Min} a ${triActiveStartDA_Max}, abyste zobrazili časové období mezi dvěma daty, musíte zachytit všechny řádky v tomto časovém období. Musíte začít o půlnoci a skončit 1 sekundu před půlnocí. Pokud použijete pouze hodnotu data, nemusíte získat všechny řádky, které chcete, v závislosti na čase proměnné. Musíte uvést minuty a sekundy, protože obě databáze TRIRIGA ukládají datum v poli data a času nebo čísla. Proměnné ${triActiveStartDA_MinDATE} a ${triActiveStartDA_MaxDATE} pomáhají s porovnáním dat. Například pro triActiveStartDA, jehož hodnota je 20070615 22:45:10, triActiveStartDA_MinDATE = (Oracle) to_date('20070615 00:00:00','YYYYmmdd h24:mi:ss') (SQL Server) '20070615 00:00:00' triActiveStartDA_MaxDATE = (Oracle) to_date('20070615 23:59:59','YYYYmmdd h24:mi:ss') (SQL Server) '20070615 23:59:59'
Přesun skriptů systému ETL do produktu TRIRIGA z transformace Kettle: Jakmile bude transformace dokončená a otestovaná, musíte ji přenést do položky úlohy systému ETL produktu TRIRIGA. Zapamatujte si: Uložte transformaci s typem souboru XML a příponou .ktr. Následující grafika popisuje tok mezi prostředím systému ETL a produktem TRIRIGA.
Kapitola 2. Datové struktury
25
Formulář/obchodní objekt produktu TRIRIGA Application Platform definovaný pro správu transformací
Vývojové prostředí ETL generuje XML transformace
Uložit XML Otevřít XML
Odeslat Stáhnout
Content Manager
Soubor XML systému souborů
Databáze
Content Manager
Sled prací produktu TRIRIGA Application Platform zavolá dle časového plánu vlastní úlohu, aby spustil transformace
Proměnné předané transformaci Kettle: Všechny proměnné, které jsou předané transformaci Kettle jsou typu String. Číselné proměnné jsou převedeny vlastní úlohou sledu prací na typ String. Typy polí TRIRIGA, které jsou podporované transformací Kettle, jsou Text, Logický, Datum, Datum a čas, Lokátory a Čísla. Tabulka 4. Následují příklady polí v položce úlohy systému ETL: Název pole
Popisek pole
Typ pole
triActiveEndDA
Aktivní koncové datum
Datum
triActiveStartDA
Aktivní datum zahájení
Datum
triBONamesTX
Názvy obchodních objektů
Text
triControlNumberCN
Kontrolní číslo
Kontrolní číslo
triCreatedByTX
Vytvořil
Text
triLocator
triLocator
Text
triModuleNamesTX
Názvy modulů
Text
triNameTX
Název
Text
triTransformBI
Soubor transformace
Binární
Tabulka 5. Následují proměnné předané transformaci Kettle:
26
Proměnná, která je předána transformaci Kettle
Popis
triNameTX
(Text)
© Copyright IBM Corp. 2011, 2014
Tabulka 5. Následují proměnné předané transformaci Kettle: (pokračování) Proměnná, která je předána transformaci Kettle
Popis
triActiveStartDA
(Číslo) datum v milisekundách od 1. ledna 2014
triActiveStartDA_DATE
(Datum) obklopené, jedná-li se o Oracle nebo DB2, čas je stejný jako v atributu
triActiveStartDA_MinDATE
(Datum) obklopené, jedná-li se o Oracle nebo DB2, čas je 00:00:00
triActiveStartDA_MaxDATE
(Datum) obklopené, jedná-li se o Oracle nebo DB2, čas je 23:59:59
triActiveStartDA_Min
(Číslo) datum v milisekundách od 1. ledna 2014, čas je 00:00:00
triActiveStartDA_Max
(Číslo) datum v milisekundách od 1. ledna 2014, čas je 23:59:59
triActiveEndDA
(Číslo) datum v milisekundách od 1. ledna 2014
triActiveEndDA_DATE
(Datum) obklopené, jedná-li se o Oracle nebo DB2, čas je stejný jako v atributu
triActiveEndDA_MinDATE
(Datum) obklopené, jedná-li se o Oracle nebo DB2, čas je 00:00:00
triActiveEndDA_MaxDATE
(Datum) obklopené, jedná-li se o Oracle nebo DB2, čas je 23:59:59
triActiveEndDA_Min
(Číslo) datum v milisekundách od 1. ledna 2014, čas je 00:00:00
triActiveEndDA_Max
(Číslo) datum v milisekundách od 1. ledna 2014, čas je 23:59:59
triActiveEndDA
(Číslo) datum v milisekundách od 1. ledna 2014
triCreatedByTX
(Text)
triRunDATE
(Číslo) datum spuštění nastavené vlastní úlohou sledu prací
triLocator
(Text – lokátor) je pole lokátoru, které obsahuje odkaz na jiný obchodní objekt. Tato proměnná obsahuje textovou hodnotu pole daného záznamu.
triLocator_IBS_SPEC
(Text - lokátor) obsahuje spec_id záznamu v poli triLocator. SPEC_ID můžete použít k vyhledání informací, které souvisejí s daným záznam, skrze jiné tabulky databáze.
triControlNumberCN a triTransformBI se nepředají do transformace TDI. Důležité: Věci o proměnných k zapamatování: v Existuje šest proměnných pro každý typ pole Datum, Datum a čas. Produkt TRIRIGA zabalí hodnotu a předá ji do transformace Kettle v šesti různých formátech. v Všechny proměnné v transformaci Kettle jsou řetězce. Pokud potřebujete, aby proměnná byla číselná ve skriptu, musíte použít převod. Můžete nastavit číselné pole, jako například, TRICREATEDDA, s proměnnou, například, triRunDATE. Transformace Kettle provede nějaké implicitní převody, pokud ale chcete provést nějaké výpočty s proměnnou, musíte nejprve převést proměnnou na číslo. v U dat musíte použít správné znázornění. Například do výběru nemůžete zahrnout spec.UPDATED_DATE >= ${triCreatedDA}. spec.UPDATED_DATE je datum, zatímco triCreatedDA je číslo. Výsledky jsou nepřesné nebo SQL selže. Kapitola 2. Datové struktury
27
v Typy atributů, které jsou podporovány k předání do transformace Kettle, jsou omezené na Text, Logický, Datum, Datum a čas a Čísla. Všechny ostatní typy dat produktu TRIRIGA se přeskočí (kromě Lokátorů). v Pro pole Lokátor se vytvoří dvě proměnné, jedna pro text Lokátoru a druhá pro SPEC_ID propojeného záznamu. SPEC_ID můžete použít k vyhledání informací, které souvisejí s daným záznam, skrze jiné tabulky databáze. Ladění skriptů systému ETL v aplikaci: Chcete-li ladit skripty systému ETL v aplikaci, musíte nejprve nastavit protokolování a pak spustit vlastní úlohu sledu prací RunETL, abyste si zobrazili informace v protokolu. Nastavení protokolování: TRIRIGA poskytuje schopnosti ladění, když jsou skripty systému ETL spuštěny v aplikaci TRIRIGA. Postup 1. V konzole administrátora vyberte spravovaný objekt Protokolování platformy. Pak vyberte volbu k zapnutí protokolování systému ETL. 2. Vyberte volby Systém ETL kategorie > Transformace > Spustit transformaci, chcete-li zapnout protokolování ladění v kódu platformy TRIRIGA, který zpracovává položky úloh systému ETL. Zprávy protokolu jsou vytištěny do souboru server.log. 3. Vyberte volby Systém ETL kategorie > Transformace > Kettle, chcete-li zapnout protokolování ladění v transformacích Kettle. Zprávy protokolu jsou vytištěny do souboru server.log. 4. Použijte změny. Nyní, když spustíte skript systému ETL, se informace související systémem ETL se umístí do protokolu serveru. Důležité: Vzhledem k velkému objemu informací, které můžete zaznamenat v protokolu, nastavte protokolování Pentaho Spoon na ladění pouze pro jedno provedení položky úlohy systému ETL. Ladění pomocí úloh systému ETL: Jakmile nastavíte protokolování, budete potřebovat způsob, jak spustit vlastní úlohu sledu prací RunETL, abyste si zobrazili informace v protokolech. Informace o této úloze Pokud používáte Položku úlohy systému ETL, můžete jednoduše klepnout na akci Spustit proces na daném formuláři. Postup Nezapomeňte vyplnit hodnoty polí ve formuláři, které očekává skript ETL. Tlačítko Spustit proces používejte pouze pro účely ladění. K produkci použijte tlačítko Plánovač úloh. Všimněte si, že tlačítko Spustit proces aktualizuje tabulky v databázi, tudíž tuto akci nepoužívejte v prostředí produkce. Příklad Následující ukázka představuje jednoduchý výstup protokolu:
28
© Copyright IBM Corp. 2011, 2014
2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Kettle variable set - ${triCalendarPeriodTX_SPEC_ID} = 3103902 2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Kettle variable set - ${triCalendarPeriodTX} = \Classifications\Calendar Period\2010 \Q4 - 2010\October - 2010 2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) *** object field found = BoFieldImpl[name=triEndDA,id=1044,Section=BoSectionImpl[name=General, id=BoSectionId[categoryId=1,subCategoryId=1],Business Object=BoImpl [name=triETLJobItem, id=10011948,module=ModuleImpl[name=triJobItem,id=22322]]]] 2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Kettle variable set - ${triEndDA_MinDATE} = to_date (’20101031 00:00:00’,’YYYYmmdd hh24:mi:ss’) 2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Kettle variable set - ${triEndDA_MaxDATE} = to_date (’20101031 23:59:59’,’YYYYmmdd hh24:mi:ss’) 2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Kettle variable set - ${triEndDA_DATE} = to_date(’20101031 00:00:00’,’YYYYmmdd h24:mi:ss’) 2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Kettle variable set - ${triEndDA} = 1288508400000 2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Kettle variable set - ${triEndDA_Min} = 1288508400000 2011-01-21 14:01:27,125 DEBUG [com.tririga.platform.workflow.runtime.taskhandler. ETL.RunETL](WFA:11325389 - 3070255 triProcessManual:38447392 IE=38447392) Kettle variable set - ${triEndDA_Max} = 1288594799000 2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual: 38447392 IE=38447392) SpaceFact - Process Remove Nulls (LEGALINTEREST_SPEC_ID)’.0 ended successfully, processed 3282 lines. ( 76 lines/s) 2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual: 38447392 IE=38447392) SpaceFact - Process Remove Nulls ( REALPROPERTYUSE_SPEC_ID)’. 0 ended successfully, processed 3282 lines. ( 76 lines/s) 2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual: 38447392 IE=38447392) SpaceFact - Process Remove Nulls ( REALPROPERTYTYPE_SPEC_ID)’. 0 ended successfully, processed 3282 lines. ( 76 lines/s) 2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual: 38447392 IE=38447392) SpaceFact - Process Filter rows’.0 ended successfully, processed 3307 lines. ( 76 lines/s) 2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual: 38447392 IE=38447392) SpaceFact - Process Dummy (do nothing)’.0 ended successfully, processed 25 lines. ( 0 lines/s) 2011-01-21 14:02:10,595 INFO [SpaceFact](WFA:11325389 - 3070255 triProcessManual: 38447392 IE=38447392) SpaceFact - Process Query for Space’.0 ended successfully, processed 0 lines. ( 0 lines/s)
Kapitola 2. Datové struktury
29
Rady pro vyladění výkonu: Pomocí následujících rad vylepšíte výkon systémů ETL pomocí nástroje Spoon. souhrn 1. Jakmile bude váš systém ETL dělat to, co chcete, aby dělal, provete referenční měření výkonu. 2. Pomocí nástroje Spoon spuste systém ETL na databázi, kde se přidají tisíce řádků do tabulky faktů. 3. Ujistěte se, že používáte připojení JNDI a že nástroj Spoon běží na síti, kde spočívá databáze, abyste neměli latenci sítě. Nespouštějte jej přes sí VPN. 4. Získejte úplný seznam spuštění. Například ze spuštění úlohy systému ETL triSpacePeopleFact. Analýza 1. Kroky Skript jazyka JavaScript a Procedura databáze (Získat další ID specifikace) mají více kopií. Klepněte pravým tlačítkem myši na krok a změňte počet spouštěných kopií. v U předchozího příkladu spuštění systému ETL triSpacePeopleFact se změní kroky Skript jazyka JavaScript a Procedura databáze (Získat další ID specifikace) na tři kopie každého: v Nezměněné: 12.9, 12.7, 12.5, 12.6 v Tři kopie každého: 11.4, 11.6, 12.3, 12.2 2. Změňte výchozí velikost sady řádků z 1000 na 10000. U nových transformací se toto nastaví automaticky. Klepnutím pravého tlačítka myši na systém ETL otevřete vlastnosti transformace. 3. Analyzujte běh. Existuje úzké místo? Existuje krok, který je pomalejší než ostatní? Jiné kroky mohou mít více kopií pro lepší propustnost. 4. Je krok Vstup dat úzkým místem? Pomůže index do databáze? Pokud ano, přidejte jej a znovu spuste proces. Je výkon lepší? Možná byste místo databáze k filtrování sady výsledků měli použít krok Filtrovat. 5. Analýza je iterativní proces. Vždy byste měli mít několik kopií kroků skriptu jazyka JavaScript a Procedura databáze (Získat další ID specifikace). 6. Běh úlohy systému ETL s 300-800 řádky za sekundu si vede dobře a definitivně je v přijatelném rozsahu výkonu. U systému ETL triSpacePeopleFact získáte po počátečním vývoji podstatné zlepšení už po provedení kroků 1 a 2. Zatímco u systému ETL triSpaceFact se tak stalo, až po provedení kroků 1, 2 a 4. Následuje zobrazení spuštění úlohy systému ETL triSpacePeopleFact s kroky 1 a 2: Dotaz na osoby prostor: Čas = 11.6 sekund; Rychlost (ř/s) = 743.6
Následuje zobrazení spuštění úlohy systému ETL triSpaceFact s kroky 1 a 2: Dotaz na prostor: Čas = 313.9 sekund; Rychlost (ř/s) = 24
Všimněte si, že je zřejmé, že krok Dotaz na prostor, který představuje krok Vstup dat, je kritické místo při 24 řádcích za sekundu. Všimněte si, že krok Dotaz na osoby prostor není úzkým místem jako krok Dotaz na prostor. Úloha systému ETL triSpaceFact běží dobře bez jakýchkoliv úprav, kromě kroků 1 a 2, a dosahuje více než 700 řádků za sekundu.
30
© Copyright IBM Corp. 2011, 2014
U kroku 4 v úloze systému ETL triSpaceFact ETL se podívejte na SQL pro úlohu Dotaz na prostor. Všimněte si v SQL, že zde existují klauzule SUM. Klauzule SUM jsou nákladné, zvláště protože existují dvě a žádné z polí není indexováno. Přidejte index do T_TRIORGANIZATIONALLOCATION.TRILOCATIONLOOKUPTXOBJID. Index musíte přidat pouze do TRILOCATIONLOOKUPTXOBJID, přestože je TRISTATUSCL v klauzuli SELECT SUM WHERE. TRISTATUSCL je pole s 1000 znaků, které zpomalilo index a které ani není vhodné pro server SQL. CREATE INDEX IDX01_TRIORGALLOC ON T_TRIORGANIZATIONALLOCATION (TRILOCATIONLOOKUPTXOBJID) NOPARALLEL;
Znovu spuste úlohu systému ETL. Následuje zobrazení spuštění úlohy systému ETL triSpaceFact s kroky 1, 2 a 4. Dotaz na prostor: Čas = 3.2 sekund; Rychlost (ř/s) = 2378.3
V kroku Vstup dat si všimněte změny řádků za sekundu (2378.3) a jak dlouho trvalo spuštění úlohy systému ETL (3.2 sekund pro 7544 řádků). Důležité: Mějte na paměti následující věci, když vyvíjíte úlohy systému ETL v Vyvarujte se složitým dotazům SQL a agregačním funkcím, jako jsou např. COUNT, MIN, MAX a SUM. Potřebujete-li tyto funkce použít, zjistěte, zda by kroku Vstup dat nepomohl index. Nevytvářejte index u pole, které má velký počet znaků; server SQL může zpracovat pouze indexy o velikosti < 900 bajtů. v Je-li to možné, vyvarujte se používání příkazů OR a NOT a používání pohledů (M_TableName v databázích aplikace TRIRIGA). v Je-li to možné, použijte místo kroku Skript jazyka JavaScript krok Kalkulačka. Krok Skript jazyka JavaScript může být nákladný. v Mějte pouze jeden krok Skript jazyka JavaScript.
Použití systému ETL s editorem konfigurace produktu IBM Tivoli Directory Integrator Editor konfigurace produktu Tivoli Directory Integrator je vývojové prostředí systému ETL, které je zahrnuto v produktu Tivoli Directory Integrator. Editor konfigurace vám umožní vytvářet, spravovat, testovat a ladit transformace systému ETL, s kterými produkt Tivoli Directory Integrator volá konfigurační soubory; sestavuje na platformě Eclipse, aby tak poskytl vývojové prostředí, které je jak souhrnné, tak i rozšiřitelné.
Než začnete Vývojáři systému, kteří jsou zodpovědní za definování nebo údržbu transformací pomocí editoru konfigurace musí mít přístup a zkušenosti s prací s databázemi produktu TRIRIGA. Než budete moci definovat a udržovat transformace ETL pomocí editoru konfigurace produktu Tivoli Directory Integrator, musíte postupovat takto: v Vytvořte zdrojové a cílové tabulky v Zavete odpovídající mapování v Identifikujte proměnné, které je třeba předat do transformace v Přidejte proměnné do obchodního objektu nebo formuláře transformace
Kapitola 2. Datové struktury
31
Instalace Editoru konfigurace produktu Tivoli Directory Integrator: I když je běhový server Tivoli Directory Integrator automaticky nainstalován s produktem TRIRIGA, musíte nainstalovat editor konfigurace na pracovní stanice, které budete používat pro vývoj systému ETL, chcete-li vytvořit nebo upravit jednotky sestavení Tivoli Directory Integrator. Postup 1. Stáhněte a nainstalujte odpovídající instalační balík produktu Tivoli Directory Integrator z programu Passport Advantage na adrese http://www.ibm.com/software/howtobuy/ passportadvantage/pao_customers.htm. Volba
Popis
TDI711_TAP340_Install_Wind.zip
Instalační program produktu IBM Tivoli Directory Integrator V7.1.1 pro IBM TRIRIGA Application Platform V3.4.0 ve vícejazyčném prostředí Windows
TDI711_TAP340_Install_Linux.tar
Instalační program produktu IBM Tivoli Directory Integrator V7.1.1 pro IBM TRIRIGA Application Platform V3.4.0 ve vícejazyčném prostředí Linux
TDI711_TAP340_Install_SOLIntl.tar
Instalační program produktu IBM Tivoli Directory Integrator V7.1.1 pro IBM TRIRIGA Application Platform V3.4.0 ve vícejazyčném prostředí Solaris Intel
TDI711_TAP340_Install_SOLSprc.tar
Instalační program produktu IBM Tivoli Directory Integrator V7.1.1 pro IBM TRIRIGA Application Platform V3.4.0 ve vícejazyčném prostředí Solaris Sparc
TDI711_TAP340_Install_AIX.tar
Instalační program produktu IBM Tivoli Directory Integrator V7.1.1 pro IBM TRIRIGA Application Platform V3.4.0 ve vícejazyčném prostředí AIX
2. Aktualizujte na verzi IBM Tivoli Directory Integrator V7.1.1 opravná sada 3, která je k dispozici na adrese http://www.ibm.com/support/docview.wss?uid=swg27010509. 3. Použijte 7.1.1-TIV-TDI-LA0014, který je k dispozici po kontaktování podpory IBM. 4. Z instalačního adresáře produktu TRIRIGA zkopírujte ovladač JDBC pro typ databáze, ke které se jednotky sestavení připojení, do adresáře Tivoli Directory Integrator TDI Install Directory/jars. v Pro server SQL zkopírujte jtds-1.2.8.jar v Pro databázi Oracle zkopírujte ojdbc6.jar v Pro databázi DB2 zkopírujte db2jcc4.jar Změna portů, které jsou použity produktem Tivoli Directory Integrator: Uvedete porty, které produkt Tivoli Directory Integrator použije během instalace produktu TRIRIGA. Ve vzácných případech budete možná muset změnit nastavení těchto portů. Informace o této úloze Chcete-li změnit port, na kterém produkt TRIRIGA odesílá transformace systému ETL do produktu Tivoli Directory Integrator k provedení, změňte TDI_HTTP_SERVER_PORT v souboru TRIRIGAWEB.properties. v
32
© Copyright IBM Corp. 2011, 2014
Chcete-li změnit port, který použije agent Tivoli Directory Integrator ke správě serveru Tivoli Directory Integrator, postupujte takto: v Změňte TDI_SERVER_PORT v souboru TRIRIGAWEB.properties v Změňte api.remote.naming.port v souboru TRIRIGA_Install_Directory/TDI_IE/ TDISolDir/solution.properties Začínáme s editorem konfigurace produktu Tivoli Directory Integrator: Chcete-li začít s definováním a údržbou systémů ETL pomocí editoru konfigurací, musíte se nejprve naučit základní úlohy, například otevření editoru konfigurace, porozumění zobrazením a vytváření projektu, jednotky sestavení, záchytnému bodu, skriptu nebo konektoru a importu konfiguračního souboru. Editor konfigurace se spouští pomocí skriptu modulu wrapper ibmditk. Tento skript je v instalačním adresáři produktu Tivoli Directory Integrator. Zvolte složku pracovního prostoru, kam se uloží vaše projekty a soubory. Okno pracovního prostoru Editoru konfigurace zobrazuje následující pohledy: v Navigátor (nahoře vlevo) obsahuje všechny projekty a zdrojové soubory pro konfigurace serverů a řešení Tivoli Directory Integrator. Navigátor může také obsahovat jiné soubory a projekty, jako např. textové soubory. Editor konfigurace bude specificky zacházet s projekty Tivoli Directory Integrator, tak, aby neovlivnil ostatní soubory a projekty. v Pohled Servery (dole vlevo) ukazuje stav každého ze serverů, které jsou nadefinovány v projektu Servery TDI. Můžete definovat neomezený počet serverů. Pohled serveru obsahuje několik funkcí k obsluze serverů a jejich konfigurací. Tlačítko Obnovit obnoví stav všech serverů v pohledu. v Oblast editoru (vpravo nahoře) je místo, kde otevřete dokument k úpravě, jako např. konfigurace jednotky sestavení. Tato oblast je rozdělena svisle oblastí, která obsahuje různé pohledy k poskytnutí ostatních důležitých informací. Mezi nejdůležitější patří pohled Problémy, který ukazuje potenciální problémy s komponentou Tivoli Directory Integrator, pohled Protokol chyb zobrazující chyby, ke kterým došlo během vývoje řešení, a pohled Konzola, který ukazuje protokol konzoly pro spuštěné servery Tivoli Directory Integrator, například ty, spuštěné editorem konfigurace. Obecné aktivity zahrnují následující úlohy: v Chcete-li vytvořit projekt, klepněte pravým tlačítkem myši na Soubor > Nový > Projekt. v Chcete-li vytvořit jednotku sestavení, vyberte projekt z navigátoru a klepněte pravým tlačítkem myši na nabídku Soubor > Nový > Jednotka sestavení. Jednotka sestavení je sada komponent, které jsou svázány dohromady, aby přesouvaly a transformovaly data. Jednotka sestavení popisuje trasu, kterou se předají data. Data zpracovaná touto cestou jsou znázorněna jako objekt Položka. Jednotka sestavení pracuje v daném okamžiku na jedné položce v každém svém cyklu. Je to jednotka práce v produktu Tivoli Directory Integrator a obvykle představuje tok informací z jednoho nebo více zdrojů dat k jednomu nebo více cílům. Musíte zadat název, který poskytnete nové jednotce sestavení, když vytvoříte položku úlohy systému ETL, která danou jednotku sestavení spustí z aplikace TRIRIGA. v Chcete-li přidat háček jednotky sestavení, klepněte v oblasti editoru na volbu Volby > Háčky jednotky sestavení. Povolte zaškrtávací políčko vedle jednoho z háčku a klepněte na tlačítko Zavřít. Jakmile se háček přidá, můžete jej vybrat a přidat kód skriptu JavaScript. v Chcete-li přidat skript, vyberte v oblasti editoru bu složku Zásobování, nebo Tok dat. Klepněte na ni pravým tlačítkem myši a vyberte volbu Přidat komponentu. Vyberte filtr skriptů, pak vyberte komponentu a klepněte na tlačítko Dokončit. Vyberte skript přidaný do jednotky sestavení a přidejte blok kódu skriptu JavaScript definovaný uživatelem.
Kapitola 2. Datové struktury
33
v Chcete-li přidat konektor, vyberte v oblasti editoru bu složku Zásobování, nebo Tok dat. Klepněte na ni pravým tlačítkem myši a vyberte volbu Přidat komponentu. Vyberte filtr konektorů, pak vyberte komponentu a klepněte na tlačítko Dokončit. Vyberte konektor přidaný do jednotky sestavení a uvete povinná konfigurační data. v Chcete-li naimportovat konfigurační soubor, klepněte na volbu Soubor > Import, poté vyberte produkt IBM Tivoli Directory Integrator a volbu Konfigurovat. Klepněte na volbu Další, uvete konfigurační soubor, poté klepněte na tlačítko Dokončit. Až budete vyzváni k uvedení názvu projektu, zadejte jej a klepněte na tlačítko Dokončit. Další informace o používání produktu Tivoli Directory Integrator viz Informační centrum IBM Tivoli Directory Integrator verze 7.1.1 na adrese http://publib.boulder.ibm.com/ infocenter/tivihelp/v2r1/topic/com.ibm.IBMDI.doc_7.1.1/welcome.htm. Agent produktu Tivoli Directory Integrator: Agent produktu Tivoli Directory Integrator poskytuje rozhraní ke spuštění a ukončení běhového serveru komponenty Tivoli Directory Integrator z produktu TRIRIGA. Server Tivoli Directory Integrator musí být spuštěn, aby byly položky úloh systému ETL typu komponenty Tivoli Directory Integrator úspěšně spuštěny. Položky úloh systému ETL selžou, pokud server Tivoli Directory Integrator není spuštěn nebo je do protokolu serveru TRIRIGA vytištěna chyba. Chcete-li spustit nebo zastavit server Tivoli Directory Integrator, přejděte na panel Správce agentů v konzole administrátora a spuste nebo ukončete agenta produktu Tivoli Directory Integrator. Jakmile je spuštěn, tento agent běží podle časového plánu a monitoruje server Tivoli Directory Integrator. Pokud zjistí, že server Tivoli Directory Integrator neběží, pokusí se jej restartovat. Další informace o panelu Správce agentů viz příručka IBM TRIRIGA Application Platform 3 Administrator Console User Guide. Konfigurace agenta Tivoli Directory Integrator: Můžete nakonfigurovat vlastnosti pro kontrolu, zda je server Tivoli Directory Integrator spuštěn. Vlastnost TDI_AGENT_SLEEPTIME pro aplikační server, který spouští agenta produktu Tivoli Directory Integrator řídí, jak často tento agent kontroluje, zda je server Tivoli Directory Integrator spuštěn, a pokusí se ho restartovat. Vlastnost TDI_SERVER_TIMEOUT pro aplikační server, která spouští agenta produktu Tivoli Directory Integrator, řídí, jak dlouho se má čekat na dokončení příkazu spuštění nebo zastavení serveru Tivoli Directory Integrator, než vyšle selhání. Tyto vlastnosti jsou definovány v souboru TRIRIGAWEB.properties. Protokolování agenta Tivoli Directory Integrator: Problémy s agentem produktu Tivoli Directory Integrator se protokolují do souboru server.log. Chcete-li získat další informace, zapněte protokolování ladění v agentovi produktu Tivoli Directory Integrator změnou nastavení protokolování platformy v administrativní konzole na serveru, kde je agent spuštěn. Změnou nastavení souboru log4j na serveru, kde je spuštěn agent, lze provést další konfiguraci protokolování.
34
© Copyright IBM Corp. 2011, 2014
Postupem podle standardních konvencí log4j můžete například monitorovat problémy se serverem Tivoli Directory Integrator. Pokud agent Tivoli Directory Integrator nemůže spustit server Tivoli Directory Integrator, vypíše se chyba do následující kategorie log4j: "com.tririga.platform.tdi.agent.TDIAgent.TDISTARTFAILED". Standardně jdou chyby zapsané do této kategorie do protokolu serveru TRIRIGA. Můžete nakonfigurovat různé chování, jako je odeslání e-mailového oznámení, konfigurací kategorie tak, aby zapisovala do odlišného protokolového souboru log4j. Spuštění transformací z editoru konfigurací produktu Tivoli Directory Integrator: Chcete-li spustit transformaci, která se nachází bu v procesu vývoje, nebo je dokončená, uložte transformaci a pak klepněte na volbu Spustit na panelu nástrojů. Informace o této úloze V oblasti editoru se otevře nové okno nebo karta se stejným názvem jako má jednotka sestavení. Toto okno bude zobrazovat výsledky provedení jednotky sestavení. Pomocí tlačítka Ladící program můžete také zobrazit změny do vstupního proudu při provedení každého kroku. Ukázková transformace editoru konfigurace produktu Tivoli Directory Integrator: Následující informace poskytuje příklad několika kroků zahrnutých v transformaci Tivoli Directory Integrator. Můžete si stáhnout kopii konfiguračního souboru ‘Load Meter Item Staging Table’ .xml, který je obsažen v existující položce úlohy systému ETL, abyste postupovali podle popisu kroků. Mnoho z dodávaných úloh systému ETL dodržují stejný tok, avšak specifika jsou odlišná; například tabulky databáze, ze kterých se stáhnou data, a jak se data transformují. Tato ukázková transformace provádí toto: v Uvádí parametry protokolování, které použije tato jednotka sestavení, včetně: Typ modulu protokolování, Cesta k souboru, Připojit, Vzorek data, Vzorek rozvržení, Úroveň protokolování a Povolené protokolování. v Ustanoví databázové připojení pomocí parametrů připojení jednotky sestavení, jak jsou nakonfigurovány pro DB-TRIRIGA. v Načte parametr Doba odezvy energetického protokolu z tabulky Nastavení aplikace. v Použije konektor JDBC k načtení záznamů z tabulky Hodinová fakta aktiva. v Použije Mapování atributu vstupu k mapování sloupců databáze na vnitřní atributy pracovních položek Tivoli Directory Integrator. v Použije háčky a skripty Tivoli Directory Integrator k provedení transformací dat. v Použije konektor JDBC k vložení nebo aktualizaci záznamů v tabulce Položka měřidla prostředí. v Použije Mapování atributu výstupu k mapování vnitřních pracovních proměnných na sloupce databáze v tabulce nakonfigurované ve výstupním konektoru JDBC. v Použije háček Při úspěchu k dokončení následujících úloh: – protokolování statistik zpracování spuštění – nastavení hodnot errCount a errMsg v Použije háček Při selhání Tivoli Directory Integrator k dokončení následujících úloh: – protokolování chybových zpráv – nastavení hodnot errCount a errMsg
Kapitola 2. Datové struktury
35
Následující sekce obsahují další podrobnosti o klíčových komponentách transformace Tivoli Directory Integrator. Diskuse se soustředí na hlavní komponenty používané transformací dodávanou s aplikací TRIRIGA. Produkt Tivoli Directory Integrator poskytuje mnoho dalších komponent, které můžete použít k manipulaci s daty v závislosti na vašich potřebách transformace. Uvažte následující rady pro sestavení transformace: v Při sestavování jednotky sestavení používejte dostupné testovací funkce, abyste se ujistili, že transformace provádí to, co chcete. v Transformace musíte vytvořit defensivním způsobem. Pokud například provádíte výpočty založené na specifických polích, všechny řádky v těchto polích musí mít hodnotu, nesmí existovat žádné prázdné. Pokud tomu tak není, transformace selže. Přidejte logiku verifikace, abyste zajistili, že všechna pole používaná ve výpočtu mají hodnotu. v Zkontrolujte, zda existují hodnoty Null nebo nedefinované hodnoty, a vrate chyby, pokud jsou tyto proměnné zapotřebí pro úspěch jednotky sestavení. Pokud například vaše jednotka sestavení závisí na proměnných DB-OTHER (například jdbcOthUrl, jdbcOthDriver) v zájmu vytvoření připojení k externí databázi, musí zkontrolovat, že tyto proměnné jsou definovány, a odpovídajícím způsobem zpracovat tento případ chyby. v Data jsou obtížná, protože všechny databáze, které podporuje produkt TRIRIGA, uchovávají DATUM a ČAS v poli s datem. v Ujistěte se, že používáte připojení jednotky nastavení a že je vaše databáze transformace nezávislá, obzvláště je-li nutné, aby řešení mělo spuštěné více platforem databáze (DB2, Oracle a Microsoft SQL Server). v Otestujte připojení jednotky sestavení před spuštěním transformace produktu Tivoli Directory Integrator. Jinak by transformace mohla skončit s chybou databázového připojení. Konfigurace modulů protokolování: Nakonfigurujte moduly protokolování AssemblyLine a uvete parametry protokolování, které použije toto sestavení, například Typ modulu protokolování, Cesta k souboru, Připojit, Vzor data, Vzor rozvržení, Úroveň protokolu a Povolený protokol. Informace o této úloze Poznámka: Zachovejte následující konvence nastavení protokolu, aby produkt TRIRIGA zacházel s protokolováním systému ETL správně, až se spustí transformace z produktu TRIRIGA: v Když nastavíte cestu k souboru, uvete relativní cestu ../../log/TDI/název protokolu, kde název protokolu je název jednotky sestavení. Například cesta k souboru = ../log/TDI/triLoadMeterData.log. To zajistí, že triLoadMeterData.log lze zobrazit z administrativní konzoly produktu TRIRIGA se zbytkem protokolů produktu TRIRIGA. v Nastavte typ modulu protokolování na DailyRollingFileAppender, aby byl konzistentní s ostatními protokoly produktu TRIRIGA. Tato nastavení protokolu se vztahují na protokoly vytvořené při spuštění transformace z editoru konfigurace. Když je transformace vyvolána z položky úlohy systému TRIRIGA ETL, některé z hodnot budou přepsány. Úroveň protokolování, Vzorek data a Vzorek rozvržení budou přepsány hodnotami uvedenými v souboru TRIRIGA log4j .xml, aby byly protokoly Tivoli Directory Integrator konzistentní s protokoly TRIRIGA a konfigurovatelné stejným způsobem jako protokoly TRIRIGA.
36
© Copyright IBM Corp. 2011, 2014
Postup V oblasti editoru klepněte na tlačítko Volby > Nastavení protokolu, chcete-li nakonfigurovat modul protokolování jednotky nastavení a uvete parametry protokolování, které se použijí pro toto sestavení. Příklad V tomto příkladu jsme nakonfigurovali protokol DailyRollingFileAppender s cestou k souboru nastavenou na ../../log/TDI/triLoadMeterData.log. Záchytné body jednotky sestavení mohou zapisovat data do tohoto protokolu vyvoláním příkazu podobného následujícímu: var methodName = "triLoadMeterData - LookupMeterItemDTO "; task.logmsg("DEBUG", methodName + "Entry");
Inicializace jednotky sestavení: Během inicializace jednotky sestavení je spuštěn generátor skriptů a jsou vyvolány háčky protokolu jednotky sestavení. Postup 1. V oblasti editoru vytvořte háček jednotky sestavení klepnutím na nabídku Volby > Háčky jednotky sestavení a zaškrtněte zaškrtávací políčko Prolog – Před inicializací. 2. Do skriptu přidejte následující kódu skriptu JavaScript, chcete-li zavést databázové připojení a načíst parametry nastavení aplikace: var methodName = "triLoadMeterData - Prolog - Before Init - "; // Standardně je AL nastavení pro spuštění z aplikace TRIRIGA. // Chcete-li spustit AL z TDI CE, // příznak runStandAlone by měl být nastaven na 1 a parametry databázového // připojení by měly být uvedení níže. var runStandAlone = 1; // Načtěte parametry databázového připojení předané do AL z aplikace TRIRIGA if (runStandAlone == 0) { task.logmsg("DEBUG", methodName + "Set TRIRIGA db connection parameters"); var op = task.getOpEntry(); var jdbcTriURL = op.getString("jdbcTriURL"); var jdbcTriDriver = op.getString("jdbcTriDriver"); var jdbcTriUser = op.getString("jdbcTriUser"); var jdbcTriPassword = op.getString("jdbcTriPassword"); } else // Upravte tyto parametry databázového připojení při spouštění přímo z TDI { task.logmsg("DEBUG", methodName + "StandAlone: Set default TRIRIGA db connection parameters"); var jdbcTriURL = "jdbc:oracle:thin:@1.1.1.1:1521:test"; var jdbcTriDriver = "oracle.jdbc.driver.OracleDriver"; var jdbcTriUser = "userid"; var jdbcTriPassword = "password"; } try { triConn.initialize(new Packages.com.ibm.di.server. ConnectorMode("Iterator")); } catch (err) Kapitola 2. Datové struktury
37
{ task.logmsg("ERROR", methodName + "TRIRIGA Connection Failed"); task.logmsg("DEBUG", methodName + "Exception:" + err); dbConnectionFailed = true; errCount=1; system.abortAssemblyLine("TRIRIGA DB Connection Failed"); return; } triConn.setCommitMode("After every database operation (Including Select)"); var conn2 = triConn.getConnection(); conn2.setAutoCommit(true); task.logmsg("DEBUG", methodName + "TRIRIGA connection success"); ... // Získejte nastavení aplikace task.logmsg("DEBUG", methodName + "Get triALEnergyLogLagTimeNU from Application Settings"); var selectStmt1 = conn1.createStatement(); var query = "select TRIALENERGYLOGLAGTIMEN from T_TRIAPPLICATIONSETTINGS"; task.logmsg("DEBUG", methodName + "query:" + query); var rs1 = selectStmt1.executeQuery(query); var result = rs1.next(); while (result) { try { energyLogLagTime = rs1.getString("TRIALENERGYLOGLAGTIMEN"); if (energyLogLagTime == null) energyLogLagTime=5 } catch (err) { task.logmsg("INFO", methodName + "Setting Default Values for Application Settings"); energyLogLagTime=5 } task.logmsg("INFO", methodName + "energyLogLagTime:" + energyLogLagTime); result = rs1.next(); } rs1.close(); selectStmt1.close();
3. Uložte háček jednotky sestavení. Příklad V našem příkladu jsou následující úlohy dokončeny v háčku prologu - před inicializací: v Načtěte proměnné transformace Tivoli Directory Integrator předané jednotce sestavení. K tomu dojde pouze, pokud je jednotka sestavení spuštěna z položky úlohy ETL. Když je jednotka sestavení vyvolána z editoru konfigurace, parametry připojení JDBC musí být nakonfigurovány v prologu. v Zavete databázová připojení. v Načtěte specifická nastavení jednotky sestavení ze záznamu nastavení aplikace. Načítání dat: Data do jednotky sestavení zadají připojené systémy pomocí Konektorů a některého typu režimu pro vkládání. V našem příkladu používáme konektor JDBC a mapování atributů k zavedení dat do naší jednotky sestavení.
38
© Copyright IBM Corp. 2011, 2014
Konektor Vstup tabulky je zdrojem většiny vašich dat. Zde nastavíte konektor, aby stahoval data z tabulek pomocí parametrů databázového připojení předaných do jednotky sestavení během inicializace. V našem příkladu konektor nazvaný JDBCConnectorToHourlyFact načte řádky vstupu z tabulky Hodinová fakta. Tato komponenta je přidána do sekce zásobování jednotky sestavení. Karta Připojení vám umožní nakonfigurovat parametry připojení JDBC. V tomto příkladu použijeme Rozšířený (Javascript) k zavedení parametrů připojení předaných jednotce sestavení během inicializace. Kromě toho je následující dotaz SQL uveden pod sekcí Rozšířené v poli SQL Select, aby zúžil rozsah dat získaných z databázové tabulky. select * from T_TRIASSETENERGYUSEHFACT where TRIMAINMETERBL in (’TRUE’) and TRI-MAINMETERPROCESSEDN = 0 order by TRIWRITETIMETX.
Tip: Chcete-li povolit protokolování příkazů SQL pro konektor, zaškrtněte zaškrtávací políčko Podrobný protokol na kartě konektorů Připojení. Mapa atributů Chcete-li zajistit, aby měla určitá pole hodnotu nebo nastavit pole na jinou hodnotu, použijte Mapování atributů konektoru. V mapě atributů můžete nastavit hodnoty v cílovém poli na základě hodnot ve zdrojovém poli. Pokud není cílové pole uvedeno, pole může být nastaveno na výchozí hodnotu namísto cílového pole. Klepněte na konektor JDBCConnectorToHourlyFact, poté klepněte na kartu Vložit mapu a zobrazte mapu atributů. V tomto příkladu použijete mapování pro nastavení výchozích hodnot pro některá pole. Jakmile provádí první konektor svou práci, oblast informací ("pracovní položka" vhodně nazývaná "práce") je předána přes jednotku sestavení do další komponenty. Skriptování: Skripty lze přidat pro implementaci bloku definovaného uživatelem kódu JavaScript. V příkladu je tvoření skriptů použito pro přidávání vlastního zpracování k jednotce sestavení. Následující sekce popisují některé různé způsoby, jako bylo tvoření skriptů použito. Ověření V našem příkladu provedeme ověření pole na vstupních datech, jak je níže zobrazeno ve skriptu: var methodName = "triLoadMeterData - JDBCConnectorToHourlyFact GetNext Successful "; task.logmsg("DEBUG", methodName + "Entry"); rowsProcessed = parseInt(rowsProcessed) + 1; var SPEC_ID = work.SPEC_ID.getValue(); task.logmsg("DEBUG", methodName + "SPEC_ID: " + SPEC_ID); // Verify Required Fields and do not process record is any values are missing validData = true; if (work.TRICAPTUREDDT.getValue() == null) Kapitola 2. Datové struktury
39
{ task.logmsg("ERROR", methodName + "TRICOSTNU is null."); validData=false; } if (work.TRICOSTNU.getValue() == null) { task.logmsg("ERROR", methodName + "TRICOSTNU is null."); validData=false; } if (work.TRICOSTNU_UOM.getValue() == null) { task.logmsg("ERROR", methodName + "TRICOSTNU_UOM is null."); validData=false; } if (work.TRIDIMASSETTX.getValue() == null) { task.logmsg("ERROR", methodName + "TRIDIMASSETTX is null."); validData=false; } if (work.TRIENERGYTYPECL.getValue() == null) { task.logmsg("ERROR", methodName + "TRIENERGYTYPECL is null."); validData=false; } if (work.TRIENERGYTYPECLOBJID.getValue() == null) { task.logmsg("ERROR", methodName + "TRIENERGYTYPECLOBJID is null."); validData=false; } if (work.TRIMETERIDTX.getValue() == null) { task.logmsg("ERROR", methodName + "TRIMETERIDTX is null."); validData=false; } if (work.TRIRATENU.getValue() == null) { task.logmsg("ERROR", methodName + "TRIRATENU is null."); validData=false; } if (work.TRIRATENU_UOM.getValue() == null) { task.logmsg("ERROR", methodName + "TRIRATENU_UOM is null."); validData=false; } if (work.TRIWRITETIMETX.getValue() == null) { task.logmsg("ERROR", methodName + "TRIWRITETIMETX is null."); validData=false; } if (!validData) { rowsNotValid = rowsNotValid + 1; task.logmsg("ERROR", methodName + "Record will NOT be processed."); var selectStmt1 = conn1.createStatement(); var query = "update " + tableName + " set TRIMAINMETERPROCESSEDN = 3 where SPEC_ID = \’" + SPEC_ID + "\’"; task.logmsg("DEBUG", methodName + "query:" + query); var count = selectStmt1.executeUpdate(query); task.logmsg("DEBUG", methodName + "Update count:" + count); selectStmt1.close(); system.exitBranch(); }
40
© Copyright IBM Corp. 2011, 2014
Filtrování dat V našem příkladu existuje skript, který určuje, zda by měl být záznam zpracován. Níže uvedený skript zahrnuje podmíněný příkaz pro porovnání dvou polí s datem. Pokud je podmínka pravdivá, je volána metoda system.exitBrankch(), která má za následek přeskočení aktuálního záznamu. // Měli bychom zpracovat tento záznam? if (capturedDT < earliestDateUTC) { task.logmsg("DEBUG", methodName + "Skip!"); rowsSkipped = rowsSkipped + 1; // Set triMainMeterProcessedNU=2 flag in T_TRIASSETENERYUSEHFACT table // indicating that we will not process this record var selectStmt1 = conn1.createStatement(); var query = "update " + tableName + " set TRIMAINMETERPROCESSEDN = 2 where SPEC_ID = \’" + SPEC_ID + "\’"; task.logmsg("DEBUG", methodName + "query:" + query); var count = selectStmt1.executeUpdate(query); task.logmsg("DEBUG", methodName + "Update count:" + count); selectStmt1.close(); system.exitBranch(); }
Volání procedury DB Uložené procedury lze volat ze skriptu JavaScript. Informace mohou protékat skrze proceduru a zpět do transformace. Náš příklad neimplementuje volání uložené procedury, ale níže byl poskytnut jiný příklad. Zde je příklad toho, jak vytvořit posloupnosti pro položky tabulky faktů. Zavolá proceduru databáze bu v DB2, na serveru SQL, nebo Oracle nazvanou NEXTVAL. Následuje příklad uložené procedury NEXTVAL: // Volání uložené procedury task.logmsg("DEBUG", methodName + "Call Stored Procedure") var command = "{call NEXTVAL(?,?,?)}"; try { cstmt = conn2.prepareCall(command); cstmt.setString(1, "SEQ_FACTSOID"); cstmt.setInt(2, 1); cstmt.registerOutParameter(3, java.sql.Types.INTEGER); cstmt.execute(); result = cstmt.getInt(3); task.logmsg("DEBUG", methodName + "Result:" + result); work.setAttribute("SPECID", result) cstmt.close(); } catch (e) { task.logmsg("DEBUG", "Stored Procedure call failed with exception:" + e); }
Spojení dat z různých zdrojů dat pomocí konektoru vyhledávání: Lze provést vyhledávání, které vám umožní spojit data z různých zdrojů dat. Tuto akci lze implementovat pomocí vlastního skriptu nebo pomocí konektoru vyhledávání.
Kapitola 2. Datové struktury
41
Informace o této úloze V našem příkladu použijete skript pro provedení vyhledání databáze a stažení dalších dat do datového proudu. Postup 1. V oblasti editoru klepnutím na volbu Tok dat vytvoříte skript. 2. Klepněte na tlačítko Přidat komponentu, vyberte komponentu Prázdný skript a klepněte na tlačítkoDokončit. 3. Přidejte následující kód skriptu JavaScript do skriptu pro provedení vyhledávání záznamu v tabulce Objekt přenosu dat položky měřidla. var methodName = "triLoadMeterData - LookupMeterItemDTO "; task.logmsg("DEBUG", methodName + "Entry"); // Vyhledejte záznam objektu přenosu dat položky měřidla var recordFound = false; var selectStmt1 = conn1.createStatement(); var rs1 = selectStmt1.executeQuery("select DC_SEQUENCE_ID, TRICOSTPERUNITNU, TRIQUANTITYNU from S_TRIENVMETERITEMDTO1 where TRIMETERIDTX = \’" + work.TRIMETERIDTX.getValue() + "\’ and TRITODATEDA = " + TRITODATEDA ); var result = rs1.next(); while (result) { ... } rs1.close(); selectStmt1.close();
Výstup položek do zdroje dat: Během výstupu jsou transformovaná data předána jednotkou sestavení jinému konektoru JDBC ve stejném výstupním režimu, který vydá data připojenému systému. Protože je připojený systém orientován na záznam, jsou různé atributy v položce práce mapovány na sloupce v záznamu pomocí Mapování atributů výstupu. Konektor Výstup tabulky je cílem většiny vašich dat. Zde nastavíte konektor JDBC, aby vkládal nebo aktualizoval data do tabulky pomocí parametrů připojení databáze předaných do jednotky sestavení během inicializace. V našem příkladu se konektor nazvaný JDBCConnectoToMeterItemDTO používá k ukládání informací do pracovní tabulky Protokol měřidel prostředí produktu TRIRIGA. Tato komponenta se přidá na konec jednotky sestavení, jakmile máte vygenerovány všechny informace k uložení. Karta Kritéria spojení se na konektoru používá k uvedení následujících kritérií použitých ke generování příkazu SQL k aktualizaci výstupní tabulky. V našem příkladu kritéria zahrnují následující položky: v TRIMETERIDTX equals $TRIMETERIDTX v TRITODATEDA equals $TRITODATEDA Tip: Znak $ se používá k označení, že název proměnné, která následuje, by měl být nahrazen hodnotou interní pracovní položky.
42
© Copyright IBM Corp. 2011, 2014
Mapa atributů Konektor obsahuje mapu výstupních atributů, která se používá k uvedení mapování mezi interními pracovními proměnnými a názvy sloupců ve výstupní tabulce. Vyberte komponentu ‘JDBCConnectorToMeterItemDTO’ a poté klepněte na kartu Mapa výstupů. Otevře se stránka Mapa výstupů. Tuto stránku použijte k mapování zdrojových polí na cílová pole v cílové databázi. Všimněte si, že zdrojová pole obsahují další pole přidaná do vstupního proudu. Rozšíření stavu na položky úlohy systému ETL: Všechny skripty musí obsahovat háčky Při úspěchu i Při selhání, které naplní pracovní atributy errCount a errMsg daty a vykazují stav zpět produktu TRIRIGA, když je transformace spuštěna z položky úlohy systému ETL. Informace o této úloze Pracovní atribut errCount je počet chyb zjištěných při spuštění souboru jednotky sestavení. Pracovní atribut errMsg je chybová zpráva zapsaná do protokolu produktu TRIRIGA log. Postup 1. Chcete-li přidat háčky jednotky sestavení do oblasti editoru, klepněte na nabídku Volby > Háčky jednotky sestavení. 2. Zaškrtněte políčka vedle háčků Při úspěchu a Při selhání a klepněte na tlačítko Zavřít. 3. Upravte háček Při úspěchu nastavením pracovních atributů errCount a errMsg pomocí následujícího kódu. // Nastavte hodnoty errCount a errMessage pro AL if (task.getResult() == null) { var result = system.newEntry(); result.errCount = errCount; result.errMsg=’Assembly line completed successfully.’; task.setWork(result); } else { work.errCount = errCount; work.errMsg=’Assembly line completed successfully.’; }
4. Upravte háček Při selhání nastavením pracovních atributů errCount a errMsg pomocí následujícího kódu. // Nastavte hodnoty errCount a errMessage pro triDispatcher AL if (task.getResult() == null) { var result = system.newEntry(); result.errCount = 1; result.errMsg=’Assembly line failed.’; task.setWork(result); } else { work.errCount = 1; work.errMsg=’Assembly line failed.’; }
Tetování transformace v produktu Tivoli Directory Integrator: Testování po každém kroku usnadní ladění.
Kapitola 2. Datové struktury
43
Než spustíte transformaci, musíte uložit; jinak produkt Tivoli Directory Integrator vyvolá jednotku sestavení beze změn, které jste provedli od posledního uložení. Jak vyvíjíte jednotku sestavení, můžete ji testovat bu spuštěním k dokončení, nebo po krocích pomocí komponenty jednu po druhé. Ke spuštění jednotky sestavení existují dvě tlačítka. Akce Spustit v konzole spustí jednotku sestavení a zobrazí výstup v zobrazení konzoly. Akce Ladicí program spustí jednotku sestavení s ladícím programem. Proces spuštění jednotky sestavení projde následujícími kroky: 1. Pokud jednotka sestavení obsahuje chyby, jako chybějící výstupní mapy, budete požádání o potvrzení spuštění jednotky sestavení následující zprávou:Tato jednotka sestavení obsahuje jednu nebo více chyb. Pokračovat ve spuštění? 2. Další kontrola je, zda je server Tivoli Directory Integrator dostupný. Pokud je server nedosažitelný, uvidíte tuto zprávu:Nelze získat připojení k serveru Default.tdiserver. 3. Nakonec editor konfigurace přenese konfiguraci běhového prostředí na server a počká na spuštění jednotky sestavení. V tomto kroku uvidíte ukazatel průběhu v pravé horní části okna. Tlačítko panelu nástrojů k zastavení jednotky sestavení je také neaktivní, protože ještě nebyla spuštěna. Jakmile je jednotka sestavení spuštěna, ukazatel průběhu se bude otáčet a měli byste zobrazit zprávy v okně protokolu. Nyní můžete zastavit jednotku sestavení klepnutím na akci Zastavit na panelu nástrojů. Přesun skriptů systému ETL do produktu TRIRIGA z Tivoli Directory Integrator: Jakmile bude transformace dokončená a otestovaná, musíte ji přenést do položky úlohy systému ETL produktu TRIRIGA. Následující grafika popisuje tok mezi prostředím systému ETL a produktem TRIRIGA.
Vývojové prostředí ETL generuje XML transformace
Uložit XML Otevřít XML
Soubor XML systému souborů
Formulář/obchodní objekt produktu TRIRIGA Application Platform definovaný pro správu transformací
Odeslat Stáhnout
Content Manager
Databáze
Content Manager
Sled prací produktu TRIRIGA Application Platform zavolá dle časového plánu vlastní úlohu, aby spustil transformace
44
© Copyright IBM Corp. 2011, 2014
Nastavení připojení jednotky sestavení databáze TRIRIGA: Než budete moci odeslat konfigurační soubor běhového prostředí do záznamu položky úlohy systému ETL TRIRIGA, musíte nakonfigurovat připojení jednotky sestavení databáze TRIRIGA pomocí parametrů, které budou předány sestavení produktu Tivoli Directory Integrator během inicializace. Postup 1. Klepněte na volby Nástroje > Nastavení systému > Obecné > Nastavení aplikace. 2. Na kartě Environmentální nastavení nakonfigurujte v sekci Nastavení jednotky sestavení připojení jednotky sestavení databáze. a. Požadované: Nakonfigurujte DB-TRIRIGA jako vaše připojení k databázi TRIRIGA. Pokud toto připojení není konfigurováno, položky úlohy systému ETL Tivoli Directory Integrator se nespustí. b. Volitelné: Nakonfigurujte hodnotu DB-OTHER, pokud se vaše jednotky sestavení produktu Tivoli Directory Integrator musí připojit k externí databázi. Protože hodnota DB-OTHER je volitelná, produkt TRIRIGA neověřuje, že je nastavena. Proto musí jednotka sestavení před použitím zkontrolovat, že toto připojení je nastaveno. 3. Klepněte na volbu Testovat databázové připojení, abyste ověřili, že jsou data připojení správná. Získávání parametrů jednotky sestavení: Po konfiguraci připojení jednotky sestavení databáze TRIRIGA upravte jednotku sestavení tak, aby získala parametry. Postup 1. Otevřete skript prologu, který inicializuje jednotku sestavení. 2. Přidáním následujících příkazů získáte parametry připojení databáze TRIRIGA-DB. var var var var var
op = task.getOpEntry(); jdbcTriURL = op.getString("jdbcTriURL"); jdbcTriDriver = op.getString("jdbcTriDriver"); jdbcTriUser = op.getString("jdbcTriUser"); jdbcTriPassword = op.getString("jdbcTriPassword");
3. Přidáním následujících příkazů získáte parametry připojení jiné databáze. var var var var var
op = task.getOpEntry(); jdbcOthURL = op.getString("jdbcOthURL"); jdbcOthDriver = op.getString("jdbcOthDriver"); jdbcOthUser = op.getString("jdbcOthUser"); jdbcOthPassword = op.getString("jdbcOthPassword");
4. Uložte změny. Přesun skriptů systému ETL do produktu TRIRIGA: Jakmile vyvinete skript systému ETL v editoru konfigurace produktu Tivoli Directory Integrator, musíte jej přesunout do produktu TRIRIGA. Informace o této úloze Editor konfigurace produktu Tivoli Directory Integrator automaticky ukládá konfigurační soubor běhového prostředí do následující lokality: Pracovní prostor/Název projektu/Runtime-Název projektu/Název projektu.xml.
Kapitola 2. Datové struktury
45
Postup 1. Vytvořte záznam položky úlohy systému ETL s polem Typ položky úlohy nastaveným na transformaci produktu Tivoli Directory Integrator. 2. Nastavte pole Název jednotky sestavení na název jednotky sestavení, kterou chcete spustit po zavedení konfiguračního souboru. 3. Nastavte pole Soubor transformace odesláním běhového konfiguračního souboru, který jste vytvořili v editoru konfigurace. 4. Volitelné: Pokud vaše transformace systému ETL vyžaduje nějaké soubory jako vstup, přidružte tyto soubory k položce úlohy systému ETL jako soubory prostředku. Pokud například musí vaše transformace zpracovat data ze souboru tabulky, musíte takový soubor přidružit jako soubor prostředku. a. V sekci Soubor prostředku klepněte na volbu Přidat. b. Nastavte Název prostředku na název, který je použit k identifikaci souboru prostředku. Tento název bude součástí dočasného názvu souboru prostředku, který produkt TRIRIGA odešle transformaci systému ETL. To je užitečné, pokud přidružíte více než jeden soubor prostředku k položce úlohy systému ETL, protože umožní transformaci systému ETL identifikovat několik souborů, které jsou odeslány, podle názvu. c. Chcete-li nastavit pole Soubor prostředku, klepněte na ikonu Odeslat soubor prostředku vedle pole, uvete umístění souboru a klepnutím na tlačítko OK odešlete tento soubor do pole Soubor prostředku. Proměnné předané produktu Tivoli Directory Integrator: Produkt TRIRIGA předává několik vstupních proměnných do systémů ETL komponenty Tivoli Directory Integrator. Chcete-li použít některou z těchto proměnných v jednotce sestavení, získejte k nim přístup přes rozhraní produktu Tivoli Directory Integrator getOpEntry(). Například, var op = task.getOpEntry(); var jdbcTriURL = op.getString("jdbcTriURL"); Produkt TRIRIGA extrahuje hodnoty pole ze záznamu položky úlohy systému ETL a předá je jako vstupní parametry. Typy polí, které jsou podporovány, jsou Text, Logický, Datum, Datum a čas, Lokátory a Čísla. Všechna pole položky úlohy systému ETL tohoto typu jsou předány jako proměnné. Pokud má položka úlohy systému ETL následující pole, proměnné ve druhé tabulce budou předány do produktu Tivoli Directory Integrator: Tabulka 6. Pole položky úlohy systému ETL Název pole
Popisek pole
Typ pole
triActiveEndDA
Aktivní koncové datum
Datum
triActiveStartDA
Aktivní datum zahájení
Datum
triControlNumberCN
Kontrolní číslo
Kontrolní číslo
triCreatedByTX
Vytvořil
Text
triLocator
triLocator
Text
triNameTX
Název
Text
triTransformBI
Soubor transformace
Binární
Proměnné, které byly předány do produktu Tivoli Directory Integrator, jsou tyto:
46
© Copyright IBM Corp. 2011, 2014
Tabulka 7. Proměnné předané produktu Tivoli Directory Integrator Proměnná předaná produktu Tivoli Directory Integrator
Popis
triNameTX
(Text)
triActiveStartDA
(Číslo) datum v milisekundách od 1. ledna 1970
triActiveStartDA_DATE
(Datum) obklopené, jedná-li se o Oracle nebo DB2, čas je stejný jako v atributu
triActiveStartDA_MinDATE
(Datum) obklopené, jedná-li se o Oracle nebo DB2, čas je 00:00:00
triActiveStartDA_MaxDATE
(Datum) obklopené, jedná-li se o Oracle nebo DB2, čas je 23:59:59
triActiveStartDA_Min
(Číslo) datum v milisekundách od 1. ledna 1970, čas je 00:00:00
triActiveStartDA_Max
(Číslo) datum v milisekundách od 1. ledna 1970, čas je 23:59:59
triActiveEndDA
(Číslo) datum v milisekundách od 1. ledna 1970
triActiveEndDA_DATE
(Datum) obklopené, jedná-li se o Oracle nebo DB2, čas je stejný jako v atributu
triActiveEndDA_MinDATE
(Datum) obklopené, jedná-li se o Oracle nebo DB2, čas je 00:00:00
triActiveEndDA_MaxDATE
(Datum) obklopené, jedná-li se o Oracle nebo DB2, čas je 23:59:59
triActiveEndDA_Min
(Číslo) datum v milisekundách od 1. ledna 1970, čas je 00:00:00
triActiveEndDA_Max
(Číslo) datum v milisekundách od 1. ledna 1970, čas je 23:59:59
triCreatedByTX
(Text)
triRunDATE
(Číslo) datum spuštění nastavené vlastní úlohou sledu prací
triLocator
(Text – lokátor) je pole lokátoru, které obsahuje odkaz na jiný obchodní objekt. Tato proměnná obsahuje textovou hodnotu pole daného záznamu.
triLocator_IBS_SPEC
(Text - lokátor) obsahuje spec_id záznamu v poli triLocator. SPEC_ID můžete použít k vyhledání informací, které souvisejí s daným záznam, skrze jiné tabulky databáze.
triAssemblyLineNameTX
Název jednotky sestavení v transformaci systému ETL, kterou chcete spustit
TRIRIGA také předává proměnné souboru prostředků. Soubor prostředků je soubor, který transformace systému ETL vyžaduje jako vstup. Pokud musí například transformace systému ETL zpracovat data ze souboru hodnot oddělených čárkami (.csv), musí vědět, kde a jak odkazovat tento soubor, když je spuštěn. Pokud má položka úlohy systému ETL přidružené dva záznamy souboru prostředků, každý obsahuje následující pole:
Kapitola 2. Datové struktury
47
Tabulka 8. Pole přidružená k záznamům souboru prostředků Název pole
Popisek pole
Typ pole
triResourceNameTX
Název, který se používá k identifikování souboru prostředků
Text
triResourceFileBI
Obsah souboru prostředků
Binární
Proměnné, které byly předány do produktu Tivoli Directory Integrator pro záznamy souboru prostředků, jsou tyto: Tabulka 9. Proměnné předané produktu Tivoli Directory Integrator Proměnná předaná produktu Tivoli Directory Integrator
Popis
RESOURCE_1
Úplný název souboru prostředků. Název souboru obsahuje hodnotu z pole triResourceNameTX, která jej pomůže transformaci systému ETL identifikovat
RESOURCE_2
Úplný název souboru dalšího souboru prostředků. Název souboru obsahuje hodnotu z pole triResourceNameTX, která jej pomůže transformaci systému ETL identifikovat
Tabulka 10. TRIRIGA také předává vstupní proměnné JDBC, které jsou definovány v nastaveních aplikací. Proměnná předaná produktu Tivoli Directory Integrator
Popis
jdbcTriURL
Adresa URL ovladače databáze TRIRIGA
jdbcTriDriver
Název ovladače databáze TRIRIGA
jdbcTriUser
Jméno uživatele databáze TRIRIGA
jdbcTriPassword
Heslo databáze TRIRIGA
jdbcOthURL
Další adresa URL ovladače databáze
jdbcOthDriver
Další název ovladače databáze
jdbcOthUser
Další jméno uživatele databáze
jdbcOthPassword
Další data
Ladění skriptů systému ETL v aplikaci: Chcete-li ladit skripty systému ETL v aplikaci, musíte nejprve nastavit protokolování a pak spustit vlastní úlohu sledu prací RunETL, abyste si zobrazili informace v protokolu. Nastavení protokolování: TRIRIGA poskytuje schopnosti ladění, když jsou skripty systému ETL spuštěny v aplikaci TRIRIGA. Postup 1. V konzole administrátora vyberte spravovaný objekt Protokolování platformy. Pak vyberte volbu k zapnutí protokolování systému ETL.
48
© Copyright IBM Corp. 2011, 2014
2. Vyberte volby Systém ETL kategorie > Transformace > Spustit transformaci, chcete-li zapnout protokolování ladění v kódu platformy TRIRIGA, který zpracovává položky úloh systému ETL. Zprávy protokolu jsou vytištěny do souboru server.log. 3. Vyberte volby Systém ETL kategorie > Transformace > Tivoli Directory Integrator, chcete-li zapnout protokolování ladění v jednotkách sestavení produktu Tivoli Directory Integrator. Zprávy protokolu se tisknou do protokolu jednotky sestavení. Každá jednotka sestavení má svůj vlastní soubor protokolu. 4. Použijte změny. Nyní, když spustíte skript systému ETL, se informace související systémem ETL se umístí do protokolu serveru nebo do protokolu jednotky sestavení. Důležité: Vzhledem k velkému objemu informací, které můžete zaznamenat v protokolu, nastavte protokolování produktu Tivoli Directory Integrator na ladění pouze pro jedno provedení položky úlohy systému ETL. Ladění pomocí úloh systému ETL: Jakmile nastavíte protokolování, budete potřebovat spustit vlastní úlohu sledu prací RunETL, abyste si zobrazili informace v protokolech. Postup Pokud používáte položku úlohy systému ETL, můžete jednoduše klepnout na akci Spustit proces na daném formuláři. Nezapomeňte vyplnit hodnoty polí ve formuláři, které očekává skript ETL. Poznámka: Tlačítko Spustit proces používejte pouze pro účely ladění. K produkci použijte tlačítko Plánovač úloh. Všimněte si, že tlačítko Spustit proces aktualizuje tabulky v databázi, tudíž tuto akci nepoužívejte v prostředí produkce. Příklad Následující ukázka představuje jednoduchý výstup protokolu serveru: 2014-03-27 13:18:10,427 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Entry: getETLVarsFromFields ... 2014-03-27 13:18:10,431 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Exit: getETLVarsFromFields 2014-03-27 13:18:10,431 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Entry: getETLVarsFromResourceFiles 2014-03-27 13:18:10,432 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Exit: getETLVarsFromResourceFiles 2014-03-27 13:18:10,432 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Processing Job Item with Type = Tivoli Directory Integrator Transformation 2014-03-27 13:18:10,432 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Entry: transformRecordTDI 2014-03-27 13:18:10,474 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL.TDIRequest] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Kapitola 2. Datové struktury
49
Entry: init 2014-03-27 13:18:10,474 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL.TDIRequest] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Exit: init 2014-03-27 13:18:10,483 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) *** ETL Variable = triIdTX : triLoadMeterData 2014-03-27 13:18:10,483 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) *** ETL Variable = triAssemblyLineNameTX : triLoadMeterData ... 2014-03-27 13:18:10,483 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) *** ETL Variable = triNameTX : Načíst pracovní tabulku položek měřidla 2014-03-27 13:18:10,488 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL. DataSourceConnectionInfoImpl] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Entry: init 2014-03-27 13:18:10,495 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL. DataSourceConnectionInfoImpl] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Exit: init 2014-03-27 13:18:10,495 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL. DataSourceConnectionInfoImpl] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Entry: init 2014-03-27 13:18:10,496 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL. DataSourceConnectionInfoImpl] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Exit: init 2014-03-27 13:18:10,497 INFO [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Setting TDI log level to Debug. 2014-03-27 13:18:10,503 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL. LogSettingsServiceImpl] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Entry: getLogSettings 2014-03-27 13:18:10,503 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL. LogSettingsServiceImpl] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Found DailyRollingFileAppender. 2014-03-27 13:18:10,503 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL. LogSettingsServiceImpl] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Exit: getLogSettings 2014-03-27 13:18:10,503 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL.TDIRequest] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Entry: send 2014-03-27 13:18:14,396 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL.TDIRequest] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Exit: send 2014-03-27 13:18:14,396 INFO [com.tririga.platform.workflow.runtime.
50
© Copyright IBM Corp. 2011, 2014
taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) RunETL request returned from TDI server version: 7.1.1.3 - 2013-12-06 running on host: i3650x3cr2 2014-03-27 13:18:14,396 INFO [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) RunETL: Prepare=2014/03/27 13:18:10.475 Start=2014/03/27 13:18:10.503 Stop=2014/03/27 13:18:14.396 2014-03-27 13:18:14,396 INFO [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) RunETL: Processing ended after 3 seconds. 2014-03-27 13:18:14,396 DEBUG [com.tririga.platform.workflow.runtime. taskhandler.ETL.RunETL] (WFA:221931 - 15290804 triProcessManual:305676189 IE=305676189) Exit: transformRecordTDI
Následující ukázka zobrazí příklad protokolu jednotky sestavení: 2014-03-27 13:18:11,062 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] CTGDIS967I AssemblyLine started by triLoadMeterData_1395951491025. 2014-03-27 13:18:11,063 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] CTGDIS255I AssemblyLine AssemblyLines/triLoadMeterData is started. 2014-03-27 13:18:11,073 DEBUG [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] CTGDIS089I Current statistics: Interval=0, Maximum Errors=0, Maximum Read=0 2014-03-27 13:18:11,073 DEBUG [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] CTGDIS069I Loading Connectors. ... 2014-03-27 13:18:14,384 DEBUG [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - On Success Entry 2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - On Success Processing Success 2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - On Success ---------------------------------------------------------------------------2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - On Success Processing Summary 2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - On Success rowsProcessed = 360 2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - On Success stagingTableWriteRowSuccess = 360 2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - On Success stagingTableWriteRowFail = 0 2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - On Success rowsSkipped = 0 2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - On Success rowsNotValid = 0 2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - On Success dcJobsToReadyState = 0 2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender. Kapitola 2. Datové struktury
51
a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - On Success createdDT = 1395951491088 2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - On Success finishedDT = 1395951494384 2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - On Success seconds = 3 2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - On Success secondsPerRecord = 0.01 2014-03-27 13:18:14,384 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - On Success ---------------------------------------------------------------------------2014-03-27 13:18:14,386 DEBUG [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] triLoadMeterData - On Success Exit 2014-03-27 13:18:14,386 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] CTGDIS116I Scripting hook of type onsuccess finished. 2014-03-27 13:18:14,386 INFO [org.apache.log4j.DailyRollingFileAppender. a9e2d096-4cdc-4f87-a57b-5e31323093d9] CTGDIS080I Terminated successfully (0 errors).
Rady pro vyladění výkonu: Pomocí následujících informací zlepšíte výkon. Jakmile bude váš systém ETL dělat to, co chcete, aby dělal, provete referenční měření výkonu. 1. Pomocí editoru konfigurace Tivoli Directory Integrator spustíte systém ETL na databázi, kde se přidají tisíce řádků do tabulky faktů. 2. Ujistěte se, že používáte připojení database a spouštíte transformaci Tivoli Directory Integrator na síti, kde spočívá databáze, abyste neměli latenci sítě. Nespouštějte jej přes sí VPN. 3. Přezkoumejte informace zaprotokolované pro spuštění. Například ze spuštění systému ETL triLoadMeterData ETL přezkoumejte soubor triLoadMeterData.log. Analýza spuštění: 1. Analyzujte běh. Existuje krok, který je pomalejší než ostatní? 2. Je krok vstupu dat pomalý? Měl by se do databáze přidat index? Pokud ano, přidejte jej a znovu spuste proces. Je výkon lepší? Možná byste místo databáze k filtrování sady výsledků měli použít krok Filtrovat. Rady pro vývoj systému ETL: v Vyvarujte se složitým dotazům SQL a agregačním funkcím, jako jsou např. COUNT, MIN, MAX a SUM. Potřebujete-li je použít, zjistěte, zda by kroku Vstup dat nepomohl index. Nevytvářejte index u pole, které má velký počet znaků; server SQL může zpracovat pouze indexy o velikosti < 900 bajtů. v Je-li to možné, vyvarujte se používání příkazů OR a NOT a používání pohledů (M_TableName v databázích aplikace IBM TRIRIGA).
Spuštění transformací systému ETL Pomocí plánovače úloh produktu TRIRIGA spustíte položky úlohy systému ETL a skupiny úloh, které se používají k přesunu dat do tabulek faktů TRIRIGA nebo fixních tabulek hierarchie.
52
© Copyright IBM Corp. 2011, 2014
Položky úlohy, skupiny úloh a plánovače úloh systému ETL Položky úlohy systému ETL definují skript transformace systému ETL nebo proces opětovného sestavení hierarchie, který se používá k zachycení informací z databáze TRIRIGA, transformují je a načtou je do tabulek faktů. Skupiny úloh systému ETL jsou jednoduše kolekce položek úloh systému ETL. Plánovače úloh definují, kdy se mají spustit skupiny úloh a položky úlohy systému ETL. Časový plán úloh musí být aktivován, aby spustil úlohy, které jsou k němu přidruženy. Analytický nástroj/nástroj pro vytváření sestav produktu TRIRIGA Workplace Performance Management vypočítá metriky, které se použijí ke generování sestav a grafů, s pomocí dotazů, které se provedou vůči tabulkám faktů, jež jsou seskupeny podle dat ve fixních hierarchických tabulkách. Položky úlohy systému ETL používá plánovač úloh ke spuštění sledů prací, které extrahují data ze zdrojových tabulek, jako např. tabulky obchodních objektů produktu TRIRIGA a načítají je do tabulek faktů. Položky úlohy systému ETL můžete také použít k aktualizování fixních hierarchií. Existují tři typy položek úloh systému ETL v produktu TRIRIGA Workplace Performance Management: Transformace typu Kettle Extrahuje data z tabulek obchodního objektu produktu TRIRIGA a načte je do tabulek faktů produktu TRIRIGA Workplace Performance Management. Transformace produktu Tivoli Directory Integrator Extrahuje data z tabulek obchodního objektu produktu TRIRIGA nebo tabulek z externích zdrojů a načte data do tabulek faktů produktu TRIRIGA Workplace Performance Management. Znovu sestavit hierarchii Extrahuje data z tabulek obchodního objektu produktu TRIRIGA a načte je do tabulek fixní hierarchie produktu TRIRIGA Workplace Performance Management.
Vytváření nebo úprava položek úlohy systému ETL Položky úlohy systému ETL definují skripty, které zachycují informace z databáze TRIRIGA, transformují je a zavádí do tabulek faktů nebo tabulek fixní hierarchie.
Postup 1. Klepněte na volby Nástroje > Nastavení systému > Plánování úloh > Položka úlohy systému ETL. 2. Vyberte existující položku úlohy nebo klepněte na tlačítko Přidat. 3. V sekci Obecné zadejte ID položky úlohy systému ETL. Zahrňte název tabulky faktů do pole ID. Stav dodá systém TRIRIGA, když se vytvoří položka úlohy systému ETL. 4. Zadejte název a popis položky úlohy systému ETL. V sekci Podrobnosti je pole Třída položky úlohy nastaveno na systém ETL systémem TRIRIGA. 5. Vyberte volbu Typ položky úlohy. 6. Pokud je typ položky úlohy Znovu sestavit hierarchii, postupujte takto. a. Zadejte název modulu hierarchie. Je-li uveden, musí to být modul s hierarchií, která byla nadefinována v produktu TRIRIGA, jako je např. Lokalita. Když se tato položka úlohy systému ETL spustí, znovu se sestaví všechny fixní hierarchie tohoto modulu. b. Zadejte název hierarchie. Když se tato položka úlohy systému ETL spustí, znovu se sestaví fixní hierarchie tohoto obchodního objektu. Je-li uveden, má název hierarchie přednost před názvem modulu hierarchie. c. Systém TRIRIGA ignoruje informace, které jsou zadané do kalendářního období, fiskálního období a dalších dat v sekci Podrobnosti. Kapitola 2. Datové struktury
53
d. Chcete-li znovu sestavit všechny fixní hierarchie specifického modulu, zadejte název modulu hierarchie a ponechte název hierarchie prázdný. e. Chcete-li znovu sestavit jedinou fixní hierarchii, zadejte jak název modulu hierarchie, tak i název hierarchie. f. Je-li název modulu hierarchie a název hierarchie prázdný, nebo jeden z nich obsahuje hodnotu Vše, sestaví se znovu všechny fixní hierarchie. 7. Pokud je typ položky úlohy Transformace Kettle nebo Transformace TDI, postupujte takto. a. Uvete soubor transformace procházením a výběrem souboru. Systém TRIRIGA očekává, že soubor transformace Kettle bude ve formátu .ktl nebo .xml a soubor transformace Tivoli Directory Integrator ve formátu .xml. b. Volitelné: Poté, co odešlete soubor transformace, lze jej zobrazit klepnutím na volbu Zobrazit obsah. 8. Když je typ položky úlohy Transformace TDI, zadejte název jednotky sestavení. 9. Když je typ položky úlohy Transformace Kettle, a. Zadejte názvy modulu. Pokud je uveden více než jeden název, musí být odděleny čárkami. v Název každého modulu se převede na proměnnou pro soubor transformace ve formátu ${Module.<moduleName>.ViewName}, kde <moduleName> je název modulu. v Hodnota každé proměnné předaná do úlohy systému ETL představuje název pohledu pro daný modul. Hodnota této proměnné lze použít, pokud musí systém ETL znát název specifického zobrazení modulu. b. Zadejte názvy obchodních objektů. Pokud uvedete více než jeden název obchodního objektu, názvy musí bát odděleny čárkami. v Název každého obchodního objektu se převede na proměnnou pro soubor transformace ve formátu ${BO..TableName}, kde je název obchodního objektu. v Není zaručeno, že obchodní objekt bude jedinečný napříč databází, ledaže byste zahrnuli i název modulu. Použijete-li obchodní objekt, který není jedinečně pojmenovaný, zahrňte název modulu do seznamu položek oddělených čárkami. Použijte následující syntaxi: <moduleName>::, kde <moduleName> je název modulu a je název obchodního objektu. v Souboru transformace se poskytne proměnná ve formátu ${BO.<moduleName>::.TableName}. Hodnota každé proměnné představuje název tabulky pro daný obchodní objekt. Hodnota této proměnné lze použít, pokud musí systém ETL znát název specifické tabulky obchodního objektu. 10. Pokud je typ položky úlohy Transformace Kettle nebo Transformace TDI, postupujte takto. a. Spuštění položek úlohy systému ETL obvykle řídí jeden nebo více časových plánů. b. Chcete-li testovat jednotky položky úlohy systému ETL, nastavte parametry data v sekci Podrobnosti. c. Následující parametry dat závisí na systému ETL, některé systémy ETL používají informace, některé ne. Parametry dat se přepíší, pokud je položka úlohy systému ETL spuštěna plánovačem úloh. v Vyberte volbu Kalendářní období, chcete-li předat proměnnou, která obsahuje kalendářní období úlohy. v Vyberte volbu Fiskální období, chcete-li předat proměnnou, která obsahuje fiskální období úlohy. Fiskální období používá pole Období zachycení v tabulkách faktů produktu TRIRIGA Workplace Performance Management.
54
© Copyright IBM Corp. 2011, 2014
v Vyberte volbu Datum, chcete-li předat proměnnou, která obsahuje záznam data úlohy. Záznam data se používá k orazítkování pole Dimenze data v tabulkách faktů produktu TRIRIGA Workplace Performance Management. v Vyberte volbu Datum, chcete-li předat proměnnou, která obsahuje datum úlohy. Zadejte datum nebo klepněte na ikonu Kalendář a vyberte datum. v Vyberte volbu Počáteční datum, chcete-li uvést datum prvního zachycení dat a předat proměnnou, která obsahuje počáteční datum úlohy. Zadejte datum nebo klepněte na ikonu Kalendář a vyberte datum. v Vyberte volbu Koncové datum, chcete-li uvést datum posledního zachycení dat a předat proměnnou, která obsahuje koncové datum úlohy. Zadejte datum nebo klepněte na ikonu Kalendář a vyberte datum. 11. Sekce Metrika shrnuje data protokolování pro tuto položku úlohy systému ETL. Průměrná doba trvání se vypočítá na základě hodnot Celková doba trvání a Počet spuštění (Celková doba trvání / Počet spuštění). 12. Sekce Protokoly ukazuje čas a stav každého času každého spuštění položky úlohy systému ETL. Tato data jsou shrnuta v sekci Metrika. 13. Klepněte na tlačítko Vytvořit koncept. 14. Klepněte na tlačítko Aktivovat.
Výsledky Záznam položky úlohy systému ETL je vytvořen a připraven k zahrnutí do skupiny úloh, plánu úloh nebo obou.
Jak pokračovat dále Pro testování jednotky klepnutím na volbu Spustit proces spustíte transformaci Kettle nebo Tivoli Directory Integrator nebo proces Opětovného sestavení hierarchie, který je uveden v položce úlohy systému ETL.
Přidání nebo úprava skupin úloh Chcete-li zjednodušit plánování úloh, pomocí skupin úloh vytvořte kolekce položek úloh systému ETL, které se spustí na stejném časovém plánu.
Postup 1. Klepněte na volby Nástroje > Nastavení systému > Plánování úloh > Skupina úloh. 2. Vyberte existující skupinu úloh nebo klepněte na tlačítko Přidat. 3. Ve formuláři Skupina úloh zadejte název a popis skupiny úloh. 4. Přidejte nebo odeberte položky úloh systému ETL ze skupiny úloh v sekci Položky úloh pomocí akcí Vyhledat nebo Odebrat. 5. Volitelné: Upravte posloupnost položek úlohy. 6. Klepněte na tlačítko Vytvořit.
Výsledky Záznam skupiny úloh je k dispozici pro zahnutí do plánu úloh.
Vytváření nebo úprava plánovačů úloh Použijte plánovače úloh pro naplánovaná toho, kdy produkt TRIRIGA spustí položky úlohy ETL a skupiny úloh. Můžete naplánovat spuštění úloh hodinově, denně, týdně nebo měsíčně.
Kapitola 2. Datové struktury
55
Než začnete Ačkoliv produkt TRIRIGA zahrnuje předdefinované plánovače úloh, nejsou naplánované žádné úlohy, dokud nepřezkoumáte plánovače předdefinovaných úloh nebo nevytvoříte nový plánovač úloh s počátečním a koncovým datem a neklepnete na tlačítko Aktivovat.
Postup 1. 2. 3. 4.
Klepněte na volby Nástroje > Nastavení systému > Plánování úloh > Plánovač úloh. Vyberte existující plánovač úloh nebo klepněte na tlačítko Přidat. Zadejte název a popis plánovače úloh. V sekci Plán vyberte frekvenci Typ plánu z nabízeného seznamu. v
Pokud vyberete volbu typu plánu Denní, zobrazí se pole Hodinové a Každých. Zaškrtnutím zaškrtávacího políčka Hodinově naplánujete spuštění úloh každou hodinu, poté klepnutím na pole Každých uvedete počet hodin mezi každými naplánovanými úlohami. v Pokud vyberete typ plánu Rozšířený, v sekci Plán se zobrazí pole Vzorek opakování. Klepnutím na volbu Vzorek opakování otevřete formulář Událost úlohy, který poskytuje flexibilní volby pro plánování úloh. 5. Volitelné: V sekci Plán označte zaškrtávací políčko Spustit historická zachycení?, abyste označili, že jsou v metrice, která se vypočítá na základě výsledků aktivit v tomto plánu úlohy, zahrnuta historická data. Když aktivujete tento plán úlohy, tato volba nařídí plánovači úloh, aby vygeneroval a spustil úlohy, ve kterých je datum časového plánu dřívější než dnes. Parametry, jako je např. počáteční datum, koncové datum a fiskální období, se pro časový rámec nebo období předají do každé položky úlohy, aby se simulovalo historické zachycení. Avšak jelikož se proces spustí nyní, úspěch bude zcela záviset na tom, jak skripty systému ETL použijí tyto parametry. Spuštění historických zachycení je rozšířená volba, která vyžaduje úplné porozumění fungování každého skriptu. 6. Vyberte počáteční datum pro první zachycení, poté koncové datum pro poslední zachycení a prodlevu zachycení od koncového data každého zachycení, což je doba, jak dlouho systém čeká na spuštění sledů prací, které zpracovávají úlohu. Každé období zachycení dat se vypočítá pomocí počátečního data a typu plánu. Systém dá podnět sledu prací, aby spustil položky úlohy systému ETL okamžitě po prodlevě při zachycení na konci každého období zachycení. Je-li například počáteční datum 01/01/2014, typ plánu je měsíční a prodleva při zachycení je jeden den, naplánují se následující události: Tabulka 11. Úloha je spuštěna od začátku měsíce Úloha je spuštěna - Okamžitě po půlnoci
Počáteční datum zachycení dat Koncové datum zachycení dat
02/01/2014
01/01/2014
01/31/2014
03/01/2014
02/01/2014
02/28/2014
04/01/2014
03/01/2014
03/31/2014
Koncové datum určuje poslední zachycení události. V případě předchozího příkladu, je-li koncové datum 03/15/2014, by poslední událost byla naplánována následovně: Tabulka 12. Spouštění úlohy je naplánováno od poloviny měsíce Úloha je spuštěna - Okamžitě po půlnoci
Počáteční datum zachycení dat Koncové datum zachycení dat
03/16/2014
03/01/2014
03/15/2014
v Označíte-li zaškrtávací políčko Resetovat období zachycení?, donutíte tak systém, aby zajistil, že období zachycení bude udržováno aktuální při každém spuštění úlohy.
56
© Copyright IBM Corp. 2011, 2014
v Například pokud je aktivovaný plánovač úloh nakonfigurovaný na typ plánu Měsíčně, systém se probudí každý měsíc a spustí položky úlohy v záznamu. Pokud během probuzení vyberete volbu Resetovat období zachycení plánovače úloh, systém zajistí, aby období zachycení bylo nastaveno správně na základě data probuzení. v Když uvádíte položky úlohy, skupiny úlohy, nebo obojí, a pokud jste aktivovali tento záznam plánu úlohy, tak se seznam naplánovaných událostí tohoto plánu úlohy zobrazí v sekci Naplánované úlohy. 7. V sekci Položka úlohy pomocí akcí Vyhledat nebo Odebrat vyberte položky úloh systému ETL a skupiny úloh, které se zahrnou do plánu, a klepněte na tlačítko OK. Položky úlohy se spustí v pořadí, které je uvedeno ve sloupci Posloupnost. v Při aktivaci tohoto plánu úlohy se data protokolování tohoto plánu úlohy shrnou do sekce Metrika. v Průměrná doba trvání se vypočítá na základě celkové doby trvání a počtu spuštění (celková doba trvání vydělená počtem spuštění). v Při aktivaci tohoto plánu úlohy bude v sekci Protokoly zobrazen datum a stav každého spuštění tohoto plánu úlohy. 8. Volitelné: Upravte posloupnost položek úlohy. 9. Klepněte na volbu Vytvořit koncept a poté klepněte na tlačítko Aktivovat.
Výsledky Systém TRIRIGA vytvoří sadu naplánovaných úloh vycházejících z typu plánu a počátečních a koncových dat. Tyto úlohy můžete vidět v sekci Naplánované úlohy plánu úlohy.
Úprava objektů transformace Produkt TRIRIGA poskytuje položky úlohy a objekty transformace systému ETL. Místo definování nového objektu transformace můžete upravit existující objekt transformace položky úlohy systému ETL. Pokud použijete existující objekt transformace, musíte definovat nebo udržovat transformaci. Avšak nemusí definovat nebo udržovat obchodní objekty, formuláře nebo sledy prací, protože jsou již definovány.
Definování obchodního objektu, formulářů a sledů prací transformace Můžete použít existující položku úlohy sytému ETL produktu TRIRIGA jako příklad, když definujete nový objekt transformace. Definování nového objektu transformace také vyžaduje, abyste nadefinovali a udržovali obchodní objekty, formuláře a sledy prací.
Než začnete Vytvořte zdrojové a cílové tabulky (obchodní objekty) a zavete odpovídající mapování.
Postup 1. Vytvořte obchodní objekt transformace. a. Identifikujte proměnné, které se předají do transformace, a přidejte je do obchodního objektu transformace. Například časové období. b. Ujistěte se, že pro soubor XML transformace existuje binární pole. 2. Vytvořte formulář transformace a poskytněte pro jeho zobrazení navigační položku nebo jinou metodu. 3. Vytvořte sled prací, který volá vlastní úlohu sledu prací systému ETL. a. Nastavte sled prací tak, aby se spustil v časovém plánu. b. Zopakujte pro všechny záznamy obchodních objektů transformace, které musí být spuštěny, voláním vlastní úlohy sledu prací pro každý z nich. Kapitola 2. Datové struktury
57
Uložení souboru XML transformace do aplikace Content Manager Po nadefinování souboru XML transformace, jej můžete uložit do systému souborů, a odeslat jej do aplikace Content Manager produktu TRIRIGA. Soubor XML transformace lze poté otestovat pomocí vývojového prostředí systému ETL.
Postup 1. Otevřete položku navigace pro obchodní objekt transformace. Upravte existující obchodní objekt transformace nebo přidejte nový. 2. Pomocí binárního pole odešlete soubor XML transformace do aplikace Content Manager produktu TRIRIGA. 3. Je-li to nezbytné, aktualizujte další pole. 4. Uložte záznam transformace.
Konfigurace běhového prostředí sledu prací Po přenosu souboru XML transformace do aplikace Content Manager produktu TRIRIGA můžete nastavit spuštění sledu prací na časovém plánu. Sled prací provede iteraci napříč všemi záznamy obchodních objektů transformace a zavolá vlastní úlohu sledu prací pro každý záznam.
Postup 1. Sled prací získá záznamy pro obchodní objekt transformace. 2. Sled prací určuje záznamy, které se odešlou do vlastní úlohy sledu prací. 3. Sled prací provede iteraci pomocí volání vlastní úlohy sledu prací pro každý záznam. Název třídy musí být com.tririga.platform.workflow.runtime.taskhandler.ETL.RunETL. 4. Vlastní úloha sledu prací: a. Zavede soubor XML transformace z aplikace Content Manager do dočasného souboru. b. Shromáždí všechna pole na obchodním objektu a vytvoří proměnnou pro zacházení s nástrojem systému ETL. Pro formáty data a data a času je třeba speciálního zacházení. c. Vytvoří prostředí systému ETL. d. Nastaví připojení produktu TRIRIGA na JNDI lokálního aplikačního serveru. e. Spustí transformaci pomocí rozhraní API systému ETL. f. Vrátí false, pokud se během zpracování vyskytne chyba, jinak sledu prací vrátí true.
Spuštění specifikace vlastní úlohy sledu prací systému ETL Sled prací provede iteraci napříč všemi záznamy obchodních objektů transformace a zavolá vlastní úlohu sledu prací pro každý záznam. Vlastní úloha sledu prací zahrnuje definovanou specifikaci. Když je vlastní úloha sledu prací volána pro každý obchodní objekt transformace, pole na ní jsou spravována takto: 1. Pole triTransformBI je povinné a uchovává odkazy na soubor XML transformace, které chcete spustit. 2. Pole triBONamesTX, je-li přítomno, je analyzováno jako seznam názvů obchodních objektů oddělený čárkami. Vlastní úloha sledu prací vytvoří proměnné formuláře ${BO..TableName}. Pokud například pole obsahuje triBuilding, ve skriptu systému ETL existuje proměnná ${BO.triBuilding.TableName}. Tato proměnná obsahuje skutečný název tabulky databáze, která ukládá záznamy triBuilding. Protože názvy obchodních objektů nemusí být jedinečné, máte možnost specifikovat modul použitím formuláře <moduleName>::, což má za následek odpovídající proměnnou
58
© Copyright IBM Corp. 2011, 2014
${BO.<moduleName>::.TableName}. Například Location::triBuilding je k dispozici jako proměnná ${BO.Location::triBuilding.TableName} ve skriptu systému ETL. 3. Pole triModuleNamesTX, je-li přítomno, je analyzováno jako seznam názvů modulů oddělený čárkami. Vlastní úloha sledu prací vytvoří proměnné formuláře ${Module.<moduleName>.ViewName}.
Kapitola 2. Datové struktury
59
60
© Copyright IBM Corp. 2011, 2014
Kapitola 3. Metrika Metrika je provozní cíl, který chcete měřit. Všechny metriky produktu TRIRIGA používají stejnou technologii metrik a data, ale různé metriky jsou zamýšleny pro různé účely. Metriky lze rozdělit na následující dva účely: Metriky výkonu Metriky, které měří výkon procesu, aby identifikovaly akce, které lze provést pro zlepšení. Měřítkem je obvykle poměr, procenta nebo skóre. Metriky výkonu mají cíle, prahové hodnoty, podmínky akce, zodpovědnost a funkce úloh akce. Metriky analýz a sestav Metriky, které jsou informacemi pro obecné vytváření sestav nebo další analýzy souvisejících metrik výkonu. Tyto informace jsou užitečné pro rozměrovou analýzu a navigaci, takže používají schopnosti metrik aplikace správy výkonu. Metriky analýzy a sestav nemají cíle, prahové hodnoty, podmínky akce, zodpovědnost a úlohy akcí. Hodnoty klíčových metrik pro pole Výsledky, Cíl a Stav jsou pro tento typ metriky prázdné. Další informace viz příručka IBM TRIRIGA 10 Workplace Performance Management User Guide.
Vykazování metrik Vykazování metrik používají dimenze a pole faktů, která jsou definována v tabulkách faktů, aby představovala specifický výpočet metriky. Vykazování metrik zobrazuje agregované hodnoty pro jedinou metriku. Kolekce sestav metrik se pro každou roli uživatele objeví na domovské stránce portálu a ve správci výkonu. Neupravujte nebo neměňte dodané sestavy metrik při úpravě softwaru TRIRIGA pro prostředí vaší organizace. Namísto toho si vytvořte odvozené sestavy metrik zkopírováním existujících sestav metrik, jejich přejmenováním a úpravou nebo vytvořením zcela nových sestav metrik. Zobrazte sestavy metrik v nabídce Moje sestavy > Systémové sestavy s filtrem modulu nastaveným na triMetricFact, filtrem typu zobrazení nastaveným na Metrika a filtrem názvu nastaveným na Metrika. Chcete-li zobrazit tabulární sestavy, které souvisí s grafickými sestavami metrik, nastavte filtr názvu na Související sestavy. Každá sestava metrik se skládá z následujících prvků: Cesty procházející úrovněmi Speciální funkce sestav, která využívá hierarchických dimenzí, poskytuje uživatelům sestav schopnost posouvat se v hierarchii nahoru a dolů. Filtry
Poskytuje uživatelům sestavy schopnost měnit nebo filtrovat data, která jsou přítomna v sestavě.
Výpočty metrik Metrika, která je hlavním zaměřením sestavy. Související sestavy Zobrazte další, pravděpodobně jiná data, pro sestavu metrik. Další informace viz příručka IBM TRIRIGA Application Platform 3 Reporting User Guide. © Copyright IBM Corp. 2011, 2014
61
Klíčové metriky Portál karet hodnocení zahrnuje sekci Klíčové metriky, která shromažuje několik metrik v jediném zobrazení. Neupravujte nebo neměňte dodané klíčové metriky při úpravě produktu TRIRIGA pro vaši organizaci. Místo toho vytvořte odvozené klíčové metriky zkopírování dodaných klíčových metrik, přejmenujte je a upravte. Můžete také vytvořit zcela novou sekci portálu klíčových metrik. Proces použití Tvůrce karty hodnocení, Tvůrce portálu a Tvůrce navigace pro nastavení portálu je zdokumentován v příručce IBM TRIRIGA Application Platform 3 User Experience User Guide. Tipy: v Na kartě Dotazy formuláře karty hodnocení zahrňte všechny dotazy, které se objeví v sekci portálu klíčových metrik v sekci Zvolené dotazy. v Když umístíte kartu hodnocení do navigační položky, uvete výchozí sestavu. v Doba odezvy, kterou uživatel zaznamená, zatímco se pohybuje v portálu domovské stránky a správci výkonu, se může lišit. Doba odezvy přímo souvisí s počtem metrik, které jsou zahrnuty do karty hodnocení, a množstvím dat za každou metrikou. Čím přesnější jsou filtry, tím lepší je výkon.
Metriky formuláře Alternativní metoda pro zobrazení metrik je použití zobrazení formuláře. Zobrazení metrik ve formuláři je dosaženo definováním sekce dotazů ve formuláři, kde je odkazovaným dotazem dotaz na metriku. Zobrazení dat, která dotaz na metriku vybere, může být filtrováno na základě nadřízeného záznamu, ve kterém je formulář zobrazen. Související přepínání sestav umožňuje výměnu dotazů, které jsou založeny na akcích uživatele. V době návrhu definujte dotaz na metriku pomocí filtru $$RECORDID$$ a $$PARENT::[Section]:: [Field]$$. V běhovém prostředí nadřízený záznam, ve kterém je formulář zobrazen, implicitně filtruje data, která generátor dotazů na metriku vybere k zobrazení. Můžete nadefinovat další dotazy na metriku jako související sestavy. Když je v běhovém prostředí zobrazen dotaz na metriku v rámci sestavy související s formulářem, přepínání řízení umožňuje uživateli vyměnit zobrazený dotaz.
Filtrování dat Dříve než jsou metriky zobrazeny ve formuláři, jsou filtrována data. V době běhu, před spuštěním dotazu, v Filtr $$RECORDID$$ je nahrazen ID záznamu nadřízeného záznamu, ve kterém je formulář zobrazen. v Filtr $$PARENT::[Section]::[Field]$$ je interpretován na hodnotu pole definovaného záznamu nadřízeného. v Pokud se dotaz na metriku zobrazí mimo nadřízený záznam, jsou ignorovány všechny filtry rozlišující nadřízené, jako je $$RECORDID$$ a $$PARENT::[Section]::[Field]$$. Definujte filtry $$RECORDID$$ a $$PARENT::[Section]::[Field]$$ proti polím, která jsou definována jako cesta procházející úrovněmi v tabulce faktů. Metrika, která je filtrována
62
© Copyright IBM Corp. 2011, 2014
pro program nebo klasifikaci a využívá tyto filtry, se chová stejně jako výběr ze seznamu cest procházejících úrovněmi. Také filtruje uvedený záznam a zahrnuje všechny podřízené položky tohoto záznamu. Když je v hierarchickém filtru uvedena hodnota filtru $$PARENT::[Section]::[Field]$$, nadřízené pole s hodnotou null odpovídá výběru kořenového uzlu cesty procházející úrovněmi. Také zahrnuje záznamy, které odpovídají hodnotě kořenu. Nehierarchický filtr se chová téměř jako filtr dotazů na obchodní objekt a filtruje záznamy s hodnotou null, když je hodnota nadřízeného pole také null. Filtry $$RECORDID$$ a $$PARENT::[Section]::[Field]$$ se chovají jako filtry běhového prostředí, kromě toho, že jejich hodnota je předána z nadřízeného záznamu. Pokud obsahuje dotaz na metriku filtry $$RUNTIME$$ a $$PARENT::[Section]::[Field]$$, které jsou definovány proti stejnému poli, když se dotaz zobrazí ve formuláři, řízení filtru $$RUNTIME$$ se nepoužije. Namísto toho se použije hodnota z pole $$PARENT::[Section]::[Field]$$ jako hodnota filtru.
Dílčí sestavy Metriky formuláře mohou zahrnovat jak tabelární, tak i grafické dílčí sestavy. Tabelární dílčí sestava definuje související sestavu správce výkonu. Netabelární dílčí sestava představuje graf metrik, který lze přepnout ve formuláři. Tabelární i grafické sestavy lze přidat do sekce Dílčí sestavy dotazu na metriku. V běhovém prostředí zobrazuje správce výkonu pouze tabelární sestavy jako Související sestavy a metrika v sekci dotazů formuláře má pouze grafické sestavy jako volby v řízení odložení sekce Dílčí sestava. Typ dílčí sestavy (například metrika, dotaz nebo sestava) se zobrazuje v sekci Dílčí sestavy Tvůrce sestav. Pro dotazy na metriky je k dispozici příznak Tabulkový výstup. Dotaz na metriku může zobrazit jiné dotazy na metriky jako dílčí sestavy.
Kapitola 3. Metrika
63
64
© Copyright IBM Corp. 2011, 2014
Kapitola 4. Nástroj na vytvoření fixní hierarchie Definice hierarchie v produktu TRIRIGA Application Platform poskytuje flexibilitu pro implementace s několika permutacemi hierarchie dat, například organizace. Avšak nástroje pro vytváření sestav upřednostňují více strukturovaný souhrn dat za účelem zjednodušení a maximalizování výkonu. Účelem nástroje na vytvoření fixní hierarchie je pro administrátora definování sady pojmenovaných struktur, které využívá generátor sestav metrik produktu TRIRIGA k rychlému zpracování hierarchických dat v rámci systému. Výsledná struktura je označována jako fixní hierarchie a tyto struktury se používají v sestavách metrik. Administrátoři využívají plánovač úloh s pomocí položek úloh systému ETL ke spuštění procesu nástroje na vytvoření fixní hierarchie. Vývojáři systému spustí proces pomocí vlastní úlohy sledu prací. V tomto případě je název třídy použité ke spuštění procesu nástroje na vytvoření fixní hierarchie com.tririga.platform.workflow.runtime.taskhandler.flathierarchy. RebuildFlatHierarchies
Spuštění procesu vlastní úlohou sledu prací je diskutováno v příručce Application Building for the IBM TRIRIGA Application Platform 3. Důležité: Kdykoli se hierarchie v produktu TRIRIGA změní, strom hierarchie se ihned aktualizuje. Předpokládejte například, že přidáte novou proměnnou triBuilding, tak se hierarchie lokality aktualizuje. Avšak odpovídající fixní hierarchie pro triBuilding se neaktualizuje, dokud ji znovu nesestavíte pomocí Položek úlohy nového sestavení hierarchie. Proto je důležité naplánovat nové sestavení položek úlohy hierarchie ve stejnou dobu, kdy plánujete zachytit data produktu TRIRIGA Workplace Performance Management pomocí tabulek faktů. Položky úlohy nového sestavení hierarchie zajistí, že uchováte informace aktuální.
Fixní hierarchie Definice struktury hierarchie závisí na tom, na čem je založena fixní hierarchie. Fixní hierarchie může být založena na standardních vztazích nadřízený-podřízený pro uvedenou hierarchii modulu. Fixní hierarchie může být také založena na specifických úrovních v hierarchii modulu a odpovídajících obchodních objektech. Každá definice struktury hierarchie obsahuje jeden záznam záhlaví, který identifikuje název hierarchie, modul a typ hierarchie. Název hierarchie popisuje hierarchii a modul je modulem, který hierarchie představuje. Typ hierarchie je použit procesem fixní hierarchie k pochopení toho, jak vyrovnat data. Existují dva typy hierarchie, Data a Formulář. Hierarchie dat se používá k vyrovnání cesty k datům na základě vztahu nadřízený-podřízený pro uvedenou hierarchii modulu a obchodní objekty, které představují úrovně. Tento typ hierarchie nemá pojmenované úrovně, protože aplikace TRIRIGA Application Platform umožňují představení různých typů dat na stejné fyzické úrovni v hierarchii modulu. Například hierarchie lokality může mít data pro majetek, budovu a podlaží i pro budovu a podlaží. Proto by první úroveň v hierarchii obsahovala směsici majetku a budov a druhá úroveň by obsahovala směsici budov a podlaží.
© Copyright IBM Corp. 2011, 2014
65
Hierarchie formuláře se používá k vyrovnání cesty k datům na základě vztahu nadřízený-podřízený pro uvedenou hierarchii modulu a obchodní objekty, které představují úrovně. Každou úroveň může přestavovat pouze jeden obchodní objekt. Každá hierarchie formuláře musí specifikovat explicitní úrovně, které obsahují číslo úrovně, obchodní objekt, který úroveň představuje, a typ. Tento typ je použit procesem vyrovnání pro pochopení, jak vyhledat data pro tuto úroveň. Typ má tři volby: Vyhledat, Ignorovat a Rekurze. v Když je hodnota typu Vyhledat, systém vyhledává v podúrovních data instance pro konkrétní podproces, dokud není pro specifický formulář záznam nalezen. Pokud nejsou nalezeny žádné záznamy, zbývající úrovně v definici hierarchie jsou ignorovány a pro tento podproces se nevytvoří žádná další fixní data. Pokud je záznam nalezen, systém vytvoří záznam fixních dat pro tento uzel a pokračuje na další úroveň v definici. Tento režim poskytuje schopnost sbalit strom pro lepší uspořádání obchodních dat. v Když je hodnota typu Ignorovat, systém vyhledává specifický formulář, jednu úroveň pod posledním nadřízeným. Pokud není nalezen záznam, systém vytvoří mezeru pro tuto úroveň a pokračuje s další úrovní v definici. Pokud je záznam nalezen, systém vytvoří záznam fixních dat pro tento uzel a pokračuje na další úroveň v definici. Tento režim poskytuje schopnost rozbalit strom pro lepší uspořádání obchodních dat. Chcete-li proces vytváření sestav usnadnit, mezery musí být pojmenovány nebo označeny štítkem. Pro tento účel použijte hodnotu Úroveň mezery ve správci struktury hierarchie. v Když je hodnota typu Rekurze, systém vyhledává v podúrovních data instance pro konkrétní podproces, dokud není pro specifický formulář záznam nalezen. Pokud nejsou nalezeny žádné záznamy, zbývající úrovně v definici hierarchie jsou ignorovány a pro tento podproces se nevytvoří žádná další fixní data. Pro každý nalezený záznam systém vytvoří záznam fixních dat pro tento uzel, než pokračuje na další úroveň v definici.
Příklady fixních hierarchií Můžete odkazovat příklady fixních hierarchií, abyste lépe porozuměli struktuře definice fixní hierarchie.
Ukázky záznamu záhlaví fixní hierarchie Následující tabulka zobrazuje příklady fixních hierarchií, které jsou založeny na modulech v hierarchii: Tabulka 13. Ukázkové záznamy záhlaví Název hierarchie
Modul
Typ hierarchie
Hierarchie prostoru
Lokalita
Grafické uživatelské rozhraní
Hierarchie pozemku
Lokalita
Grafické uživatelské rozhraní
Hierarchie města
Zeměpisná oblast
Grafické uživatelské rozhraní
Hierarchie celé lokality
Lokalita
Data
Hierarchie celé organizace
Organizace
Data
Hierarchie interní organizace
Organizace
Grafické uživatelské rozhraní
Hierarchie externí organizace
Organizace
Grafické uživatelské rozhraní
Ukázky záznamu úrovně fixní hierarchie Následující tabulka zobrazuje příklady fixních hierarchií, které jsou založeny na úrovních v hierarchii:
66
© Copyright IBM Corp. 2011, 2014
Tabulka 14. Ukázky záznamu úrovně fixní hierarchie Název hierarchie
Číslo úrovně
Formulář
Najít modul
Hierarchie prostoru
1
Vlastnost
Ignorovat
Hierarchie prostoru
2
Budova
Najít
Hierarchie prostoru
3
Podlaží
Najít
Hierarchie prostoru
4
Prostor
Rekurze
Hierarchie interní organizace
1
Společnost
Najít
Hierarchie interní organizace
2
Útvar
Ignorovat
Hierarchie interní organizace
3
Oddělení
Rekurze
Správce struktury hierarchie Hierarchie a informace o úrovních nadefinujete pomocí Správce struktury hierarchie. Správce struktury hierarchie poskytuje jediné rozhraní pro vytváření, aktualizaci a odstranění fixních hierarchií.
Přístup ke strukturám hierarchie Chcete-li přidat, upravit nebo odstranit hierarchie, získejte přístup k funkčnosti struktur hierarchie.
Postup 1. Klepněte na nabídku Nástroje > Nástroje tvůrce > Datový modelář. 2. Klepněte na volbu Obslužné programy. 3. Klepněte na volbu Struktury hierarchie.
Vytváření hierarchie dat Hierarchie dat se používá k vyrovnání cesty k datům na základě vztahu nadřízený-podřízený pro uvedenou hierarchii modulu a obchodní objekty, které představují úrovně. Když vytvoříte hierarchii dat, pojmenované úrovně nejsou požadovány, protože různé typy mohou být představovány stejnou fyzickou úrovní v hierarchii modulu.
Postup 1. Klepněte na tlačítko Vytvořit hierarchii. 2. Do pole Název zadejte název popisující, co hierarchie představuje. 3. Ze seznamu Modul vyberte příslušný modul pro hierarchii dat. 4. Za seznamu Typ hierarchie vyberte volbu Data. 5. Klepněte na tlačítko Vytvořit. 6. Klepněte na tlačítko Uložit a poté klepněte na tlačítko Zavřít.
Vytváření hierarchie formuláře Hierarchie formuláře se používá k vyrovnání cesty k datům na základě vztahu nadřízený-podřízený pro uvedenou hierarchii modulu a obchodní objekty, které představují úrovně. Když vytváříte hierarchii formuláře, každou úroveň může představovat pouze jediný obchodní objekt.
Kapitola 4. Nástroj na vytvoření fixní hierarchie
67
Postup 1. 2. 3. 4.
Klepněte na tlačítko Vytvořit hierarchii. Do pole Název zadejte název popisující, co hierarchie představuje. Ze seznamu Modul vyberte příslušný modul pro hierarchii formuláře. Za seznamu Typ hierarchie vyberte volbu Formulář.
5. Klepněte na tlačítko Vytvořit. Zobrazí se sekce Úrovně. Zadejte informace pro formulář na úrovni 1. 6. Ze seznamu Obchodní objekt vyberte odpovídající obchodní objekt. 7. Ze seznamu Formulář vyberte odpovídající formulář. 8. Ze seznamu Typ vyberte volbu Vyhledat. Úroveň mezery je popisek, který je uveden, když je vybrána volba Ignorovat ze seznamu Typ a záznam není nalezen. 9. Klepněte na tlačítko Uložit. 10. Pokračujte v zadávání a ukládání informací, dokud nebudou nadefinovány všechny úrovně. 11. Klepněte na tlačítko Uložit a poté klepněte na tlačítko Zavřít.
68
© Copyright IBM Corp. 2011, 2014
Kapitola 5. Tabulky faktů Tabulky faktů se skládají z měření, metrik nebo faktů obchodního procesu. Tabulky faktů ukládají data, která se používají k výpočtu metrik v sestavách metrik. Informace tabulky faktů jsou založeny na dodaných produktech TRIRIGA Workplace Performance Management a TRIRIGA Real Estate Environmental Sustainability. Implementace ve vaší společnosti může být odlišná. Každá tabulka faktů má systém ETL pro zavedení dat a jiný k odstranění dat. Názvy systémů ETL, která mažou data, končí na – Vymazat, například Fakta stavebních nákladů – Vymazat. Chcete-li zobrazit systémy ETL, klepněte na volbu Nástroje > Nastavení systému > Položky úlohy ETL.
Seznam tabulek faktů a podporovaných metrik Můžete odkazovat seznam tabulek faktů a metriky, které jsou podporovány v implementaci produktu TRIRIGA ve vaší společnosti.
Přístup do tabulek faktů Klepněte na nabídku Nástroje > Nástroje tvůrce > Datový modelář. Vyhledejte triMetricFact a výběrem odhalíte obchodní objekt seznamu tabulek faktů.
Přístup k metrikám Klepněte na nabídku Nástroje > Nástroje tvůrce > Správce sestav > Systémové sestavy. Filtrujte podle Obchodního objektu a Modulu, chcete-li řadit informace metrik a získat příslušný seznam sestav. Tip: #FM# znamená, že metrika je také metrika formuláře v systému.
Fakta, která vyžadují speciální pracovní tabulky a systémy ETL Pro většinu tabulek faktů je proces na zavedení uložených dat pro výpočet metrik jednoduchý. Avšak některé tabulky faktů vyžadují speciální pracovní tabulky a systémy ETL, které pomohou s procesem zavedení. Následující tabulka zobrazuje fakta, která vyžadují speciální pracovní tabulky a systémy ETL: Tabulka 15. Fakta, která vyžadují speciální pracovní tabulky a systémy ETL Název tabulky faktů
Obchodní objekt tabulky faktů
Finanční souhrn
triFinancialSummary
Standardní hodiny
triStandardHours
Podrobnosti standardních hodin
triStandardHoursDetails
Hodinová fakta analytického aktiva
triAssetAnalyticHFact
Denní fakta využití energie aktiva
triAssetEnergyUseDFact
Hodinová fakta využití energie aktiva
triAssetEnergyUseHFact
© Copyright IBM Corp. 2011, 2014
69
Tabulka 15. Fakta, která vyžadují speciální pracovní tabulky a systémy ETL (pokračování) Název tabulky faktů
Obchodní objekt tabulky faktů
Měsíční fakta využití energie aktiva
triAssetEnergyUseMFact
Závislé systémy ETL Některé systémy ETL závisí na jiných, aby pomohly s procesem zavádění. Následující tabulka zobrazuje, systémy ETL, které závisí na jiných: Tabulka 16. Závislé systémy ETL
70
Název tabulky faktů
Obchodní objekt tabulky faktů
Systém ETL zavedení faktů stavebních nákladů
Tento systém ETL závisí na dostupnosti dat v tabulce finančního přehledu. Tabulka finančního přehledu může být zavedena back-endovou integrací s finančním systémem nebo pomocí procesu Offline Financial Summary Excel. Chcete-li proces Offline Financial Summary Excel usnadnit, existuje speciální systém ETL, který odešle data z procesu Excel/Offline do tabulky finančního přehledu. V dodaném produktuTRIRIGA Workplace Performance Management jsou speciální systémy ETL nazvány Load Financial Summary From Offline Staging a Clear Financial Summary From Offline Staging. Pokud importujete data finančního přehledu pomocí procesu Offline Financial Summary Excel, musíte nejprve spustit systém ETL Load Financial Summary From Offline Staging. Poté musíte spustit systém ETL Building Cost Fact Load.
Systém ETL zavedení faktů staveb
Tento systém ETL závisí na dostupnosti dat v tabulce finančního přehledu. Tabulka finančního přehledu může být zavedena back-endovou integrací s finančním systémem nebo pomocí procesu Offline Financial Summary Excel. Chcete-li proces Offline Financial Summary Excel usnadnit, existuje speciální systém ETL, který odešle data z procesu Excel/Offline do tabulky finančního přehledu. V dodaném produktuTRIRIGA Workplace Performance Management jsou speciální systémy ETL nazvány Load Financial Summary From Offline Staging a Clear Financial Summary From Offline Staging. Pokud importujete data finančního přehledu pomocí procesu Offline Financial Summary Excel, musíte nejprve spustit systém ETL Load Financial Summary From Offline Staging. Poté musíte spustit systém ETL Načtení faktů staveb.
Systém ETL zavedení faktů prostředků
Závislé na systému ETL zavedení standardních hodin.
Systém ETL zavedení standardních hodin
Závislé na systému ETL zavedení podrobností standardních hodin.
© Copyright IBM Corp. 2011, 2014
Tabulka 16. Závislé systémy ETL (pokračování) Název tabulky faktů
Obchodní objekt tabulky faktů
Systém ETL denních faktů aktiv
Tyto systémy ETL závisí na dostupnosti dat v pracovní tabulce. Typy pracovních tabulek musí být generické. Pracovní tabulka musí obsahovat specifická pole. Pracovní tabulka může být načtena back-endovou integrací se systémem správy budov. Pracovní tabulka může být také zavedena pomocí systému ETL pro přenesení dat do externí databáze. Další podrobnosti včetně ukázkových pracovních tabulek a ukázkových systémů ETL viz Knihovna správy integrovaných služeb.
Systém ETL hodinových faktů aktiv Systém ETL měsíčních faktů aktiv
Kapitola 5. Tabulky faktů
71
72
© Copyright IBM Corp. 2011, 2014
Upozornění Tyto informace jsou určeny pro produkty a služby nabízené ve Spojených státech. IBM nemusí produkty, služby nebo funkce popsané v tomto dokumentu nabízet v jiných zemích. Informace o produktech a službách, které jsou momentálně ve Vaší zemi dostupné, můžete získat od obchodního zástupce IBM pro Vaši oblast. Žádný z odkazů na produkty, programové vybavení nebo služby IBM neznamená, ani z něj nelze vyvozovat, že smí být použit pouze uvedený produkt, program nebo služba IBM. Použít lze jakýkoli funkčně ekvivalentní produkt, program či službu neporušující práva IBM k duševnímu vlastnictví. Za vyhodnocení a ověření operací libovolného produktu, programu či služby od jiného výrobce však odpovídá uživatel. IBM může mít patenty nebo podané žádosti o patent, které zahrnují předmět tohoto dokumentu. Vlastnictví tohoto dokumentu Vám nedává žádná práva k těmto patentům. Písemné dotazy ohledně licencí můžete zaslat na adresu: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. Pokud máte zájem o licenci v zemi s dvoubajtovou znakovou sadou (DBCS), kontaktujte IBM Intellectual Property Department ve Vaší zemi nebo zašlete písemné dotazy na adresu: Intellectual Property Licensing Legal and Intellectual Property Law IBM Japan Ltd. 19-21, Nihonbashi-Hakozakicho, Chuo-ku Tokyo 103-8510, Japan Následující odstavec se netýká Velké Británie nebo kterékoliv jiné země, kde taková opatření odporují místním právním předpisům: SPOLEČNOST INTERNATIONAL BUSINESS MACHINES CORPORATION TUTO PUBLIKACI POSKYTUJE TAK, JAK JE (AS-IS), BEZ JAKÝCHKOLIV ZÁRUK, VYJÁDŘENÝCH VÝSLOVNĚ NEBO VYPLÝVAJÍCÍCH Z OKOLNOSTÍ, VČETNĚ, A TO ZEJMÉNA, ZÁRUK NEPORUŠENÍ PRÁV TŘETÍCH STRAN, PRODEJNOSTI NEBO VHODNOSTI PRO URČITÝ ÚČEL VYPLÝVAJÍCÍCH Z OKOLNOSTÍ. Právní řády některých zemí nepřipouštějí vyloučení záruk vyjádřených výslovně nebo vyplývajících z okolností v určitých transakcích, a proto se na vás výše uvedené omezení nemusí vztahovat. Tato publikace může obsahovat technické nepřesnosti nebo typografické chyby. Informace zde uvedené jsou pravidelně aktualizovány a v nových vydáních této publikace již budou tyto změny zahrnuty. IBM má právo kdykoliv bez upozornění zdokonalovat nebo měnit produkt(y) a program(y) popsané v této publikaci. Jakékoliv odkazy v této publikaci na webové stránky jiných společností jsou poskytovány pouze pro pohodlí uživatele a nemohou být žádným způsobem vykládány jako doporučení těchto webových stránek ze strany IBM. Materiály obsažené na takovýchto webových stránkách nejsou součástí materiálů k tomuto produktu IBM a tyto webové stránky mohou být používány pouze na vlastní nebezpečí.
© Copyright IBM Corp. 2011, 2014
73
IBM může, pokud to považuje za vhodné, používat nebo distribuovat libovolné informace, které jí poskytnete, aniž by tím vznikl jakýkoliv závazek IBM vůči Vám. Držitelé licence na tento program, kteří si přejí mít přístup i k informacím o programu za účelem (i) výměny informací mezi nezávisle vytvořenými programy a jinými programy (včetně tohoto) a (ii) vzájemného použití sdílených informací, mohou kontaktovat: IBM Corporation 2Z4A/101 11400 Burnet Road Austin, TX 78758 U.S.A. Informace tohoto typu mohou být dostupné za určitých podmínek. V některých případech připadá v úvahu zaplacení poplatku. IBM poskytuje licencovaný program popsaný v tomto dokumentu a veškeré dostupné licencované materiály na základě podmínek uvedených ve smlouvě IBM Customer Agreement, v Mezinárodní licenční smlouvě na programy IBM International Program License Agreement nebo v jiné ekvivalentní smlouvě. Informace týkající se produktů jiných společností byly získány od dodavatelů těchto produktů, z jejich tištěných materiálů nebo z jiných veřejně dostupných zdrojů. IBM tyto produkty netestovala a nemůže potvrdit jejich přesnost, kompatibilitu nebo jiná tvrzení, která se k těmto produktům vztahují. Otázky týkající se možností produktů jiných společností adresujte dodavatelům těchto produktů. Tyto informace obsahují příklady údajů a sestav používaných v každodenních obchodních operacích. Z důvodu zajištění co největší názornosti obsahují uvedené příklady jména osob, společností, názvy značek a produktů. Všechna tato jména jsou fiktivní a jakákoliv podobnost se jmény a adresami používanými skutečnými obchodními podniky je čistě náhodná. LICENČNÍ INFORMACE: Tyto informace obsahují ukázkové aplikační programy ve zdrojovém jazyce, které ilustrují programovací techniky na různých provozních platformách. Jste oprávněni kopírovat, upravovat a distribuovat tyto vzorové programy jakýmkoliv způsobem, aniž by vám tím vznikal jakýkoliv finanční závazek vůči IBM, pro účely vývoje, užívání, marketingu nebo distribuce aplikačních programů kompatibilních s rozhraním API pro operační systém, pro který byly vzorové programy napsány. Vzorové programy nebyly důkladně testovány za všech podmínek. IBM proto nezaručuje ani nenaznačuje spolehlivost, provozuschopnost nebo funkčnost těchto programů. Vzorové programy jsou poskytovány "JAK JSOU", bez záruky jakéhokoli druhu. IBM nenese odpovědnost za jakékoli škody vzniklé v důsledku vašeho užívání vzorových programů.
Zásady ochrany osobních údajů Softwarové produkty IBM, včetně řešení SaaS (software as a service solution) ("Nabídky softwaru"), mohou využívat soubory cookie nebo jiné technologie ke shromažování informací o užívání produktů s cílem zlepšit pracovní zkušenosti koncového uživatele, lépe přizpůsobit interakce s koncovým uživatelem nebo pro jiné účely. Nabídky softwaru shromažují v mnoha případech údaje, z nichž nelze určit totožnost. Některé z našich Nabídek softwaru vám mohou pomoci umožnit shromažování údajů, z nichž lze určit totožnost. Používá-li tato Nabídka softwaru soubory cookie ke sběru údajů, z nichž lze určit totožnost, naleznete níže specifické informace o užívání souborů cookie touto nabídkou.
74
© Copyright IBM Corp. 2011, 2014
Tato Nabídka softwaru nevyužívá soubory cookie nebo jiné technologie ke shromažování údajů, z nichž lze určit totožnost. Jestliže konfigurace implementované pro tuto Nabídku softwaru vám - jako zákazníkovi poskytují schopnost shromažovat od koncových uživatelů údaje, z nichž lze určit totožnost, prostřednictvím souborů cookie a jiných technologií, jste povinni vyhledat právní poradu ohledně právních předpisů, jež se vztahují na takový sběr dat, včetně veškerých požadavků týkajících se oznamování a vyžádání souhlasu. Informace o užívání různých technologií, včetně souborů cookie, pro tyto účely najdete v dokumentu IBM Privacy Policy na adrese http://www.ibm.com/privacy a v dokumentu IBM Online Privacy Statement na adrese http://www.ibm.com/privacy/details v části nazvané "Cookies, Web Beacons and Other Technologies" a v dokumentu "IBM Software Products and Software-as-a-Service Privacy Statement" na adrese http://www.ibm.com/software/info/ product-privacy/.
Ochranné známky IBM, logo IBM a ibm.com jsou ochranné známky nebo registrované ochranné známky společnosti International Business Machines Corp ve Spojených státech a případně v dalších jiných zemích. Ostatní názvy produktů a služeb mohou být ochrannými známkami IBM a ostatních společností. Aktuální seznam ochranných známek IBM je k dispozici na webu “Copyright and trademark information” na adrese www.ibm.com/legal/copytrade.shtml. Java™ a všechny ochranné známky a loga založené na termínu Java jsou ochranné známky společnosti Oracle a jejích příbuzných společností. Linux je ochrannou známkou společnosti Linus Torvalds ve Spojených Státech a případně v dalších jiných zemích. Microsoft, Windows, Windows NT, a logo Windows jsou ochranné známky společnosti Microsoft Corporation ve Spojených státech a případně v dalších jiných zemích. UNIX je registrovaná ochranná známka společnosti The Open Group ve Spojených státech a jiných zemích. Ostatní názvy produktů a služeb mohou být ochrannými známkami IBM a ostatních společností.
Upozornění
75
76
© Copyright IBM Corp. 2011, 2014
Vytištěno v Dánsku společností IBM Danmark A/S.