Az Autonomous Data Warehouse ténytáblája tárolja az összevont partícióval rendelkező Essbase-kocka adatait. Ha nem rendelkezik olyan ténytáblával, amely megfelel az összevont partíciókra vonatkozó követelményeknek, létre kell hoznia egy ilyet. Továbbá meg kell értenie, mi az a kimutatásdimenzió, hogy kiválaszthasson egyet az Essbase-kockájából.
Mielőtt nekikezd ennek a szakasznak, hozzon létre egy Essbase-alkalmazást és egy kockát, ha még nem rendelkezik ilyenekkel.
Összevont partícióknál a ténytábla az Essbase-kocka adatértékeit tárolja. Ha nem található meg a szükséges ténytábla az Autonomous Data Warehouse adattárházban, akkor létre kell hoznia egyet.
Mielőtt hozzálát, győződjön meg róla, hogy van egy üres sémája a ténytáblához. Lásd: Séma létrehozása összevont partíciókhoz.
A ténytáblának Essbase-kompatibilis formátumúnak kell lennie. Ez azt jelenti, hogy megfelel a következő, tartalomra és kialakításra vonatkozó követelményeknek:
A kocka minden (nem attribútum) dimenzióját egyetlen oszlopfejlécként kell megjeleníteni azzal a kivétellel, hogy a kocka egyik dimenzióját (tipikusan annak,amelyik a mutatókat/fiókokat tartalmazza) át kell forgatni két vagy több oszlopba.
Megjegyzés:
A dokumentum többi részében az átforgatott dimenzióra kimutatásdimenzióként hivatkozunk.
A ténytáblának egyedi rekordokat kell tartalmaznia (duplikátumok nélkül), és minden Essbase-cellametszet sorrendjéhez egy sornak kell tartoznia.
Ha már ismeri az Essbase-adatexportálásokat, észre fogja venni, hogy a ténytábla kialakítása pontosan olyan, mint egy Essbase-oszlopexportálásé.
Egy oszlopexportáláshoz hasonlóan a ténytáblának a következőket kell tartalmaznia:
egy oszlop a szerkezet minden egyes nem attribútum dimenziójához (kivéve a kimutatásdimenziót)
egy oszlop a kimutatásdimenzió minden egyes tárolt tagjához
Az alábbiakban egy olyan ténytábla példája látható, amelyben a Mérőszámok dimenziót átforgatták, vagyis ez a kimutatásdimenzió. A kimutatásdimenzió hatással van a ténytábla kialakítására, mivel ennek a dimenziónak a tárolt tagjai oszlopfejlécekké válnak: SALES, COGS, MARKETING, PAYROLL, MISC, INTITIAL_INVENTORY és ADDITIONS.
Felépítheti a ténytáblát SQL használatával, vagy létrehozhatja Essbase-adatexportálásból. Betöltheti az adatokat a ténytáblába az Autonomous Data Warehouse eszközével vagy az Essbase adatbetöltési funkciójával.
További útmutatások ténytáblák felépítésére vonatkozóan:
A ténytáblának 1000-nél kevesebb oszlopot kell tartalmaznia.
Ne foglaljon beléjük olyan oszlopokat, amelyeket az Essbase alkalmazásban attribútumok dimenzióinak feleltet meg a rendszer.
A ténytábla pontossága nem lehet kisebb, mint IEEE binary64 (dupla).
A ténytáblának nemzetközi sztringeket kell tartalmaznia a dimenziótagokhoz, ezeknek az NVARCHAR2 típust kell használnia, és 1024 bit karakterhosszúságúnak kell lennie.
Ténytábla létrehozása – példa
Ténytábla létrehozásához az Autonomous Data Warehouse adattárházban, használhatja az SQL-t.
Az SQL Developer vagy egy szabadon választható eszköz használatával jelentkezzen be az Autonomous Data Warehouse adattárházba a séma tulajdonosaként (a Séma létrehozása összevont partíciókhoz lépésből).
SQL segítségével hozza létre a ténytáblát, ha még nem rendelkezik ilyennel.
Például, a következő SQL létrehoz egy ténytáblát az Essbase-kockából (Sample Basic) való adatexportálásból.
CREATE TABLE "SAMP_FACT" ( "PRODUCT" NVARCHAR2(1024), "MARKET" NVARCHAR2(1024), "YEAR" NVARCHAR2(1024), "SCENARIO" NVARCHAR2(1024), "SALES" NUMBER(38,0), "COGS" NUMBER(38,0), "MARKETING" NUMBER(38,0), "PAYROLL" NUMBER(38,0), "MISC" NUMBER(38,0), "INITIAL_INVENTORY" NUMBER(38,0), "ADDITIONS" NUMBER(38,0) ) NOCOMPRESS LOGGING PARALLEL 4;
Megjegyzések
A fenti példában a ténytábla neve SAMP_FACT, és a Sample Basic elemen alapul.
A legjobb teljesítmény érdekében a ténytábla minden nem numerikus oszlopának NVARCHAR2(1024) típusúnak, minden numerikus oszlopnak pedig NUMBER típusúnak kell lennie.
Az Oracle az index párhuzamos létrehozásának engedélyezését javasolja a Autonomous Data Warehouse alkalmazásban a PARALLEL 4 hozzáadásával.
A metaadatoszlopok nem engedélyezhetik a NULL értékek használatát.
Az Oracle a NOCOMPRESS használatát javasolja, ha a kocka olyan generatív folyamatokat is tartalmaz, mint a növekményes adatbetöltés vagy a kötegelt parancsfájl-frissítés. Ha a kockát többnyire olvasási műveletekhez fogják használni, a COMPRESS használatával optimalizálhatja a ténytáblát kimutatásokhoz.
Ha a ténytábla létrehozásakor a következő érvényesítési hibát kapja, törölje a null sorokat.
ORA-18265: fact table key column ("<DIM_NAME>") with value ('') not in dimension("<Name_of_Column") star table key column
A legjobb teljesítmény érdekében ne adjon hozzá specifikus korlátozásokat a táblához, hacsak nincs erre kifejezetten szükség.
A fenti példában a ténytábla neve a Sample Basic elemen alapul, amely elérhető az Essbase-fájlkatalógus galéria szakaszában. Exportálhatja az adatokat ebből a mintakockából, vagy bármely más Essbase-kockából, és betöltheti, hogy létrehozzon egy ténytáblát. Mielőtt ezt megtehetné, hitelesítő adatokat kell beállítania az adatok betöltéséhez az összevont partícióalkalmazásba. Lásd az Összevont partíció adatbetöltése cikket a hitelesítő adatok beállításáról, és hogy további információt tudhasson meg az adatok exportálásáról DBMS formátumba, a DATAEXPORT parancs használatával.
Az összevont partíció megtervezésének részeként ki kell választania a kimutatásdimenziót. A kimutatásdimenzió egy olyan dimenzió, amelyet az Essbase kocka szerkezetéből jelöl ki. A célja a numerikus adatértékek reprezentálása.
A kimutatásdimenziónak nem feltétlenül kell mérőszámoknak/számláknak lennie, de lehetséges.
A kimutatásdimenzió minden tárolt tagját társítani kell a ténytábla azon oszlopaihoz, amelyek az Autonomous Data Warehouse numerikus adatértékeit képviselik.
Ha Essbase blokktárolási (BSO) számítási parancsfájlokat kell futtatnia, válasszon egy nagy sűrűségű dimenziót kimutatásdimenzióként. A számítási parancsfájlok nem támogatottak összevont partícióknál, ha a kimutatásdimenzió kis adatsűrűségű.
A kimutatásdimenziónak viszonylag statikus tagnevekkel kell rendelkeznie, és nem tartalmazhat nagyon nagy számú tagot. Oka: Az Essbase kocka szerkezetében a kimutatásdimenzió módosítása (például tárolt tagok hozzáadásával vagy átnevezésével) az Autonomous Data Warehouse ténytáblájának megfelelő, kézi frissítését teszi szükségessé, továbbá szükségessé válik az összevont partíció újraalkotása is.
Az olyan Essbase-dimenziókat, amelyek összetett, dinamikus képleteket igénylő tagokat tartalmaznak (mint például a "Nyitó készlet" és a "Záró készlet", a Sample Basic használatának példájával), nem szabad kimutatásdimenziónak választani.
A kiválasztott kimutatásdimenziót összevont partíció létrehozásakor adja meg.
Az Oracle Database szolgáltatásban az oszlopok korlátja 1000, és ezt a korlátot a kimutatásdimenzió is örökli. Határozza meg a jogosult oszloptagok számát a kimutatásdimenzióban. Így biztosíthatja, hogy nem éri el a korlátot. A kimutatásdimenzióban potenciálisan tárolt tagkombinációk számának és a kockadimenziók számának az összege legfeljebb 1000 lehet.
Összesítő tárolókockákban a több szinten tárolt tagi hierarchiákat tartalmazó dimenziókat ne válassza ki kimutatásdimenzióként. Olyan kimutatásdimenziót válasszon ki, amely dinamikus hierarchiákat tartalmaz, vagy olyat, amely lapos, egyszintű hierarchiával rendelkezik (amelyben minden tag 0. szintű tárolt tag).