In een feitentabel in Autonomous Data Warehouse worden de gegevens van de Essbase kubus met een federatieve partitie opgeslagen. Als u geen feitentabel hebt die voldoet aan de vereisten voor een federatieve partitie, moet u er een maken. U moet ook weten wat een draaitabeldimensie is, zodat u er een kunt selecteren uit uw Essbase kubus.
Begin pas met dit gedeelte nadat u een Essbase applicatie en kubus hebt gemaakt, als u die nog niet hebt.
Voor federatieve partities worden in de feitentabel gegevenswaarden van de Essbase kubus opgeslagen. Als u in Autonomous Data Warehouse niet de vereiste feitentabel hebt, moet u er één maken.
Voordat u begint, controleert u dat u een leeg schema voor de feitentabel hebt. Zie voor meer informatie: Een schema maken voor federatieve partities.
De feitentabel moet een opmaak hebben die geschikt is voor Essbase, wat betekent dat deze voldoet aan de volgende vereisten wat betreft inhoud en vorm:
Elk van de dimensies van de kubus (die geen kenmerk zijn) moet worden weergegeven als een enkele kolomkoptekst, met de uitzondering dat een van de dimensies van de kubus (doorgaans de dimensie die de meeteenheden/accounts bevat) in twee of meer kolommen moet worden gedraaid.
Opmerking:
Op andere plekken in de documentatie wordt de gedraaide dimensie ook wel de draaitabeldimensie genoemd.
De feitentabel moet uit unieke records bestaan (dus geen duplicaten), met één rij per reeks Essbase celintersecties.
Als u bekend bent met Essbasegegevensexports, zult u merken dat de vorm van de feitentabel precies lijkt op een Essbase kolomexport.
Net als bij een kolomexport moet de feitentabel het volgende bevatten:
een kolom voor elke niet-kenmerkdimensie van de structuur (behalve voor de draaitabeldimensie)
één kolom voor elk opgeslagen onderdeel van de draaitabeldimensie
Het volgende is een voorbeeld van een feitentabel waarin de 'Eenheiddimensie' de draaitabeldimensie is, wat betekent dat het de draaitabeldimensie is. De draaitabeldimensie is van invloed op de vorm van de feitentabel, aangezien de opgeslagen onderdelen van die dimensie kolomkoppen worden: SALES, COGS, MARKETING, PAYROLL, DIVERSE, INITIAL_INVENTORY en ADDITIONS.
U kunt de feitentabel samenstellen met behulp van SQL of u kunt deze maken op basis van een Essbase gegevensexport. U kunt gegevens naar de feitentabel laden met de Autonomous Data Warehouse tools of met de Essbase functionaliteit voor het laden van gegevens.
Aanvullende richtlijnen voor het bouwen van een feitentabel omvatten:
De feitentabel moet minder dan 1000 kolommen hebben.
Neem geen kolommen op die in Essbase worden toegewezen aan kenmerkdimensies.
De feitentabel mag niet minder nauwkeurig zijn dan IEEE binary64 (double).
De feitentabel moet geïnternationaliseerde strings voor dimensie-onderdelen bevatten met gebruik van het soort NVARCHAR2, met een tekenlengte van 1024 bits.
Voorbeeld feitentabel maken
Om een feitentabel te maken in Autonomous Data Warehouse, gebruikt u SQL.
Met behulp van SQL Developer of een hulpprogramma naar keuze logt u als schema-eigenaar in bij Autonomous Data Warehouse (vanaf stap Een schema maken voor federatieve partities).
Gebruik SQL om de feitentabel te maken als u die nog niet hebt.
Met de volgende SQL wordt een feitentabel gemaakt op basis van gegevensexport vanuit de Essbase kubus: 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;
Opmerkingen
In het bovenstaande voorbeeld is SAMP_FACT de naam van de feitentabel. Deze is gebaseerd op Sample Basic.
Voor de beste prestaties moeten alle niet-numerieke kolommen in de feitentabel van het type NVARCHAR2(1024) en alle numerieke kolommen van het type NUMBER zijn.
Het wordt aangeraden parallelle aanmaak van de index in Autonomous Data Warehouse mogelijk te maken door PARALLEL 4 toe te voegen.
Kolommen met metagegevens mogen geen null-waarden bevatten.
Oracle raadt NOCOMPRESS aan wanneer het gebruik van de kubus processen inhoudt die gegevens genereren, zoals het incrementeel laden van gegevens of updates van batch-scripts. Als de kubus voornamelijk wordt gebruikt voor leesbewerkingen, gebruikt u COMPRESS om de feitentabel voor rapportage te optimaliseren.
Als de volgende validatiefout wordt weergegeven bij het maken van de feitentabel, verwijdert u nulrijen.
ORA-18265: fact table key column ("<DIM_NAME>") with value ('') not in dimension("<Name_of_Column") star table key column
Stel voor de beste prestaties geen specifieke beperkingen voor de tabel in zonder dat dit absoluut nodig is.
In het bovenstaande voorbeeld is de naam van de feitentabel gebaseerd op Sample Basic, dat beschikbaar is in de galerij in de Essbase bestandscatalogus. U kunt de gegevens vanuit deze voorbeeldkubus of een andere Essbase kubus exporteren en vervolgens laden om een feitentabel te maken. Voordat u dit doet, moet u referenties instellen voor het laden van gegevens naar een applicatie met een federatieve partitie. Zie Gegevens laden met federatieve partities voor het instellen van de referenties en voor informatie over het exporteren van gegevens naar een DBMS-indeling met de opdracht DATAEXPORT.
Als onderdeel van het ontwerpen van een federatieve partitie moet u de draaitabeldimensie selecteren. Een draaitabeldimensie is een dimensie die u aanwijst vanuit de Essbase kubusstructuur om numerieke gegevenswaarden weer te geven.
De draaitabeldimensie hoeft geen meeteenheden/accounts te zijn, maar dit is wel mogelijk.
Alle opgeslagen onderdelen van de draaitabeldimensie moeten worden toegewezen aan de feitentabelkolommen die de numerieke gegevenswaarden in Autonomous Data Warehouse vertegenwoordigen.
Selecteer als u Essbase rekenscript voor blokopslag (BSO) moet uitvoeren een dichte dimensie als de draaitabeldimensie. Rekenscripts worden voor federatieve partities niet ondersteund als de draaitabeldimensie schaars is.
De draaitabeldimensie moet vrij statische onderdeelnamen hebben en moet niet een zeer groot aantal onderdeel hebben. Reden: als de draaitabeldimensie in de Essbase kubusstructuur wordt gewijzigd (bijvoorbeeld door opgeslagen onderdelen toe te voegen of te hernoemen), zijn er bijbehorende, handmatige updates aan de feitentabel in Autonomous Data Warehouse nodig en is ook het opnieuw opbouwen van de federatieve partitie vereist.
Essbase dimensies die onderdelen bevatten waarvoor complexe, dynamische formules (zoals 'Beginvoorraad' en 'Eindvoorraad' met Sample Basic als voorbeeld) nodig zijn, mogen niet worden geselecteerd als draaitabeldimensie.
U geeft de geselecteerde draaitabeldimensie op tijdens het maken van een federatieve partitie.
Oracle Database heeft een limiet van 1000 kolommen en de draaitabeldimensie neemt deze limiet over. Bepaal het aantal in aanmerking komende kolomonderdelen in de draaitabeldimensie om ervoor te zorgen dat u onder de limiet blijft. Het aantal potentieel opgeslagen onderdeelcombinaties in de draaitabeldimensie plus het aantal dimensies in de kubus moet kleiner zijn dan of gelijk zijn aan 1000.
Voor geaggregeerde opslagkubussen mogen dimensies die hiërarchieën van opgeslagen onderdelen op meerdere niveaus bevatten niet worden geselecteerd als de draaitabeldimensie. Selecteer een draaitabeldimensie met dynamische hiërarchieën, of een opgeslagen hiërarchie die een vlakke hiërarchie van één niveau is (waar alle onderdelen opgeslagen onderdelen van niveau 0 zijn).