En faktatabel i Autonomous Data Warehouse lagrer dataene for den Essbase-kube, der har en samlet partition. Hvis du ikke har en faktatabel, der opfylder kravene til samlede partitioner, skal du oprette en faktatabel. Du skal også vide, hvad en pivotdimension er, så du kan vælge en sådan fra din Essbase-kube.
Før du starter på denne sektion, skal du oprette en Essbase-applikation og -kube, hvis du ikke allerede har dem.
Faktatabellen lagrer dataværdierne fra Essbase-kuben for samlede partitioner. Hvis du ikke har den påkrævede faktatabel i Autonomous Data Warehouse, skal du oprette en.
Før du starter, skal du sørge for at have et tomt skema til faktatabellen. Se Oprette et skema til samlede partitioner.
Faktatabellen skal være i Essbase-kompatibelt format, hvilket betyder, at den skal opfylde følgende indholds- og formkrav:
Hver af kubens (ikke-attribut-) dimensioner skal repræsenteres som en enkelt kolonneoverskrift bortset fra en af kubens dimensioner (normalt den dimension, der indeholder målinger/konti), der skal pivoteres til to eller flere kolonner.
Bemærk:
Andre steder i dokumentationen refereres der til den dimension, der er pivoteret, som pivotdimensionen.
Faktatabellen skal bestå af entydige records (ingen dubletter) med én række pr. sekvens af Essbase-celleskæringspunkter.
Hvis du har kendskab til Essbase-dataeksporter, kan du se, at faktatabellens form er nøjagtig som en kolonneeksport i Essbase.
Faktatabellen skal ligesom en kolonneeksport omfatte følgende:
en kolonne for hver (ikke-attribut-) dimension i outlinen (undtagen for pivotdimensionen)
en kolonne for hvert lagrede medlem af pivotdimensionen
Følgende er et eksempel på en faktatabel, hvor målingsdimensionen er blevet pivoteret, hvilket betyder, at den er pivotdimensionen. Pivotdimensionen påvirker faktatabellens form, da denne dimensions lagrede medlemmer bliver kolonneoverskrifter: SALES, COGS, MARKETING, PAYROLL, MISC, INTITIAL_INVENTORY og ADDITIONS.
Du kan enten bygge faktatabellen ved hjælp af SQL, eller du kan oprette den fra en Essbase-dataeksport. Du kan indlæse data i faktatabellen ved hjælp af værktøjer i Autonomous Data Warehouse eller bruge dataindlæsningsfunktionaliteten i Essbase.
Yderligere retningslinjer for opbygning af en faktatabel omfatter:
Faktatabellen skal have færre end 1000 kolonner.
Inkluder ikke kolonner, der i Essbase mappes til attributdimensioner.
Faktatabellen må ikke have mindre præcision end IEEE-binary64 (dobbelt).
Faktatabellen skal have internationaliserede strenge for dimensionsmedlemmer, der bruger typen NVARCHAR2 og har strenglængden1024 bit.
Eksempel på oprettelse af faktatabel
Hvis du skal oprette en faktatabel i Autonomous Data Warehouse, kan du bruge SQL.
Brug SQL Developer eller dit foretrukne værktøj til at logge på Autonomous Data Warehouse som skemaejer (fra trinnet Oprette et skema til samlede partitioner).
Brug SQL til at oprette faktatabellen, hvis du ikke allerede har den.
Følgende SQL opretter for eksempel en faktatabel ud fra dataeksport fra 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;
Bemærkninger
I ovenstående eksempel er faktatabellens navn SAMP_FACT, som er baseret på Sample Basic.
For at få den bedste ydeevne bør alle ikke-numeriske kolonner i faktatabellen være af typen NVARCHAR2(1024), og alle numeriske kolonner bør være at typen NUMBER.
Oracle anbefaler aktivering af parallel oprettelse af indekset i Autonomous Data Warehouse ved at tilføje PARALLEL 4.
Metadatakolonner bør ikke tillade inklusion af NULL-værdier.
Oracle anbefaler NOCOMPRESS, når brugen af kuben omfatter datagenerative processer såsom trinvis dataindlæsning eller batchscriptopdateringer. Hvis kuben mest skal bruges til læseoperationer, skal du bruge COMPRESS til at optimere faktatabellen til rapportering.
Hvis følgende valideringsfejl opstår under oprettelsen af faktatabellen, skal du slette NULL-rækker.
ORA-18265: fact table key column ("<DIM_NAME>") with value ('') not in dimension("<Name_of_Column") star table key column
For at opnå den bedste ydeevne skal du afholde dig fra at tilføje nogen specifikke begrænsninger for tabellen, hvis ikke det er absolut nødvendigt.
I ovenstående eksempel er faktatabellens navn baseret på Sample Basic, som er tilgængelig i galleriet i Essbase-filkataloget. Du kan eksportere dataene fra denne eksempelkube eller enhver anden Essbase-kube og indlæse den for at opbygge en faktatabel. Før du kan gøre dette, skal du konfigurere legitimationsoplysninger for indlæsning af data til en samlet partitionsapplikation. Se Dataindlæsning i samlet partition for at få oplysninger om opsætning af legitimationsoplysningerne og få mere at vide om, hvordan du eksporterer data til DBMS-format ved hjælp af kommandoen DATAEXPORT.
Som en del af at designe en samlet partition skal du vælge pivotdimensionen. En pivotdimension er en dimension, som du udpeger fra Essbase-kubens outline til at repræsentere numeriske dataværdier.
Pivotdimensionen behøver ikke at være målinger/konti, men kan være det.
Alle lagrede medlemmer af pivotdimensionen skal mappe til de faktatabelkolonner, som repræsenterer dine numeriske dataværdier i Autonomous Data Warehouse.
Hvis du har brug for at køre beregningsscripts til bloklagring i Essbase, skal du vælge en tæt dimension som pivotdimension. Beregningsscripts understøttes ikke for samlede partitioner, hvis pivotdimensionen er spredt.
Pivotdimensionen bør have ret statiske medlemsnavne og et ikke særligt stort antal medlemmer. Årsag: Ændring af pivotdimensionen i Essbase-kubens outline (for eksempel ved tilføjelse eller omdøbning af lagrede medlemmer) nødvendiggør tilsvarende manuelle opdateringer af faktatabellen i Autonomous Data Warehouse og kræver også, at den samlede partition oprettes igen.
Essbase-dimensioner, der inkluderer medlemmer, som kræver komplekse, dynamiske formler (for eksempel "Opening Inventory" og "Ending Inventory" med Sample Basic som eksempel), bør ikke vælges som pivotdimension.
Du angiver din valgte pivotdimension på tidspunktet for oprettelsen af en samlet partition.
Oracle Database har en grænse på 1.000 kolonner, og pivotdimensionen arver denne grænse. Bestem antallet af berettigede kolonnemedlemmer i pivotdimensionen for at sikre, at du ikke når grænsen. Antallet af potentielt lagrede medlemskombinationer i pivotdimensionen plus antallet af dimensioner i kuben skal være mindre end eller lig med 1.000.
For aggregerede lagringskuber bør dimensioner, der indeholder medlemshierarkier, som er lagret på flere niveauer, ikke vælges som pivotdimension. Vælg en pivotdimension med dynamiske hierarkier eller et lagret fladt hierarki på et enkelt niveau (hvor alle medlemmer er lagret på laveste niveau).