I en faktatabell i det autonoma datalagret lagras data om Essbase-kuben som har en samordnad partition. Om du inte har en faktatabell som uppfyller kraven för samordnade partitioner måste du skapa en. Du behöver också förstå vad en pivotdimension är för något så att du kan välja en i din kub i Essbase.
Innan du börjar med det här avsnittet skapar du en applikation och en kub i Essbase om du inte redan har en.
För samordnade partitioner lagras datavärdena för Essbase-kuben i faktatabellen. Om du inte har den faktatabell som krävs i det autonoma datalagret måste du skapa en.
Innan du börjar kontrollerar du att du har ett tomt schema för faktatabellen. Se Skapa ett schema för samordnade partitioner.
Faktatabellen måste ha ett format som hanteras av Essbase. Det innebär att den måste uppfylla följande krav i fråga om innehåll och form:
Var och en av kubens dimensioner (som inte är för attribut) måste återges som en enskild kolumnrubrik, med undantaget att en av kubens dimensioner (vanligen den som innehåller mått/konton) måste pivoteras till två eller fler kolumner.
Obs!:
I resten av dokumentationer kallas den dimension som pivoteras för pivotdimension.
Faktatabellen måste bestå av unika poster (inga dubbletter), med en rad per sekvens med Essbase-cellsnitt.
Om du är bekant med dataexporter från Essbase kommer du att se att faktatabellens form är exakt som en Essbase kolumnexport.
På samma sätt som för en kolumnexport måste faktatabellen innehålla:
en kolumn för varje dimension (utan attribut) i dispositionen (förutom pivotdimensionen)
en kolumn för varje lagrad medlem i pivotdimensionen
Följande är ett exempel på en faktatabell i vilken måttdimensionen har pivoterats, vilket innebär att den är en pivotdimension. Pivotdimensionen påverkar faktatabellens form i och med att dimensionens lagrade medlemmar blir kolumnrubriker: SALES, COGS, MARKETING, PAYROLL, MISC, INTITIAL_INVENTORY och ADDITIONS.
Du kan antingen bygga faktatabellen med SQL eller skapa den utifrån en dataexport från Essbase. Du kan ladda data till faktatabellen med verktygen i det autonoma datalagret eller använda funktionen för dataladdning i Essbase.
Ytterligare anvisningar för att bygga en faktatabell inkluderar:
Faktatabellen måste ha färre än 1 000 kolumner.
Inkludera inte kolumner som ska mappas i Essbase till attributdimensioner.
Faktatabellen ska inte ha lägre precision än IEEE binary64 (dubbel).
Faktatabellen ska ha internationella strängar för dimensionsmedlemmar med NVARCHAR2-typ och en teckenlängd på 1 024 bitar.
Exempel på att skapa en faktatabell
Du kan använda SQL om du vill skapa en faktatabell i ett autonomt datalager.
Logga in på det autonoma datalagret med SQL Developer eller ett annat verktyg som schemats ägare (från steg Skapa ett schema för samordnade partitioner).
Om du inte redan har en faktatabell skapar du en med SQL.
Med följande SQL-sats skapas till exempel en faktatabell från dataexport från Essbase-kuben Sample Basic.
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;
Anmärkningar
I exemplet ovan är faktatabellens namn SAMP_FACT och det baseras på Sample Basic.
För bästa resultat bör alla icke-numeriska kolumner i faktatabellen vara av typen NVARCHAR2(1024) och alla numeriska kolumner av typen NUMBER.
Oracle rekommenderar att du aktiverar parallellt skapande av indexet i autonomt datalager genom att lägga till PARALLEL 4.
Metadatakolumner ska inte tillåta inkludering av NULL-värden.
Oracle rekommenderar NOCOMPRESS när användningen av kuben omfattar datagenerativa processer som inkrementell dataladdning eller batchuppdateringar av skript. Om kuben framförallt ska användas för läsåtgärder använder du COMPRESS för att optimera faktatabellen för rapportering.
Ta bort nullrader om du får följande valideringsfel när du skapar faktatabellen.
ORA-18265: fact table key column ("<DIM_NAME>") with value ('') not in dimension("<Name_of_Column") star table key column
För bästa prestanda ska du undvika att lägga till specifika begränsningar på tabellen när det inte finns ett reellt behov av att göra det.
I exemplet ovan baseras namnet på faktatabellen på Sample Basic som finns i galleri i Essbase-filkatalogen. Du kan exportera data från den här exempelkuben eller en annan Essbase-kub och ladda dem för att bygga en faktatabell. Innan du kan göra det här måste du ställa in inloggningsuppgifter för att ladda data till en applikation för samordnade partitioner. I Dataladdning för samordnade partitioner hittar du information om hur du ställer in inloggningsuppgifter och hur du exporterar data till DBMS-format med kommandot DATAEXPORT.
När du utformar en samordnad partition måste du välja en pivotdimension. En pivotdimension är en dimension som du anger i Essbase-kubens disposition för att representera numeriska datavärden.
Pivotdimensionen behöver inte vara mått/konton, men den kan vara det.
Alla lagrade medlemmar i pivotdimensionen måste mappas till faktatabellens kolumner som representerar dina numeriska datavärden i autonomt datalager.
Om du behöver köra beräkningsskript för blocklagring i Essbase väljer du en tät dimension som pivotdimension. Beräkningsskript stöds inte för samordnade partitioner om pivotdimensionen är gles.
Pivotdimensionen ska ha relativt statiska medlemsnamn och inte ett stort antal medlemmar. Orsak: Om pivotdimensionen i kubdispositionen för Essbase ändras (genom att till exempel lägga till eller ändra namn på lagrade medlemmar) måste motsvarande manuella uppdateringar göras i faktatabellen i det autonoma datalagret. Dessutom måste den samordnade partitionen återskapas.
Essbase-dimensioner som innehåller medlemmar som kräver komplexa, dynamiska formler (till exempel ”Ingående lager” och ”Utgående lager” med hjälp av Sample Basic) bör inte väljas som pivotdimensionen.
Du anger din valda pivotdimension när du skapar en samordnad partition.
Oracle Database har en gräns på 1 000 kolumner och pivotdimensionen ärver den gränsen. Fastställ antalet möjliga kolumnmedlemmar i pivotdimensionen för att säkerställa att du inte uppnår gränsen. Antalet potentiella kombinationer av lagrade medlemmar i pivotdimensionen plus antalet dimensioner i kuben ska vara färre än eller lika med 1 000.
För aggregeringslagringskuber ska dimensioner som innehåller lagrade medlemshierarkier med flera nivåer inte väljas som pivotdimension. Välj en pivotdimension med dynamiska hierarkier eller en lagrad platt hierarki med en enda nivå (i vilken alla medlemmar är nivå 0-lagrade medlemmar).