Διαμόρφωση πίνακα δεδομένων και προσδιορισμός συγκεντρωτικής διάστασης

Ο πίνακας δεδομένων στην Αυτόνομη αποθήκη δεδομένων αποθηκεύει τα δεδομένα του κύβου Essbase που έχει ένα ενοποιημένο διαμέρισμα. Αν δεν έχετε έναν πίνακα δεδομένων που να πληροί τις απαιτήσεις για ενοποιημένα διαμερίσματα, πρέπει να τον δημιουργήσετε. Πρέπει επίσης να κατανοήσετε τι είναι η συγκεντρωτική διάσταση, ώστε να είστε σε θέση να επιλέξετε μία από τον κύβο Essbase.

Πριν ξεκινήσετε αυτήν την ενότητα, δημιουργήστε μια εφαρμογή και έναν κύβο Essbase, εάν δεν διαθέτετε ήδη αυτά τα στοιχεία.

Δημιουργία του πίνακα δεδομένων

Για ενοποιημένα διαμερίσματα, ο πίνακας δεδομένων αποθηκεύει τις τιμές δεδομένων του κύβου Essbase. Εάν δεν έχετε τον απαιτούμενο πίνακα δεδομένων στην Αυτόνομη αποθήκη δεδομένων, πρέπει να δημιουργήσετε έναν.

Πριν ξεκινήσετε, βεβαιωθείτε ότι έχετε ένα κενό σχήμα για τον πίνακα δεδομένων. Ανατρέξτε στην ενότητα Δημιουργία σχήματος για ενοποιημένα διαμερίσματα.

Ο πίνακας δεδομένων πρέπει να είναι σε μορφή που είναι έτοιμη για το Essbase, δηλαδή να πληροί τις ακόλουθες απαιτήσεις αναφορικά με το περιεχόμενο και το σχήμα του:

  • Κάθε διάσταση (εκτός χαρακτηριστικού) του κύβου πρέπει να αντιπροσωπεύεται ως μεμονωμένη κεφαλίδα στήλης, με την εξαίρεση ότι μία από τις διαστάσεις του κύβου (συνήθως αυτή που περιέχει μετρήσεις/λογαριασμούς) πρέπει να συγκεντρώνεται σε δύο ή περισσότερες στήλες.

    Σημείωση:

    Σε άλλα σημεία στην τεκμηρίωση, η διάσταση που συγκεντρώνεται θα αναφέρεται ως συγκεντρωτική διάσταση.

  • Ο πίνακας δεδομένων πρέπει να αποτελείται από μοναδικές εγγραφές (χωρίς διπλότυπα), με μία σειρά ανά ακολουθία τομών κελιών του Essbase.

Αν είστε εξοικειωμένοι με τις εξαγωγές δεδομένων στο Essbase, θα παρατηρήσετε ότι το σχήμα του πίνακα δεδομένων είναι ακριβώς σαν μια εξαγωγή στήλης του Essbase.

Παρόμοια με την εξαγωγή στήλης, ο πίνακας δεδομένων πρέπει να περιλαμβάνει:

  • μία στήλη για κάθε διάσταση (εκτός χαρακτηριστικού) της διάρθρωσης (εκτός από τη συγκεντρωτική διάσταση)

  • μία στήλη για κάθε αποθηκευμένο μέλος της συγκεντρωτικής διάστασης

Το παρακάτω είναι ένα παράδειγμα πίνακα δεδομένων στον οποίο η διάσταση μετρήσεων χρησιμοποιείται συγκεντρωτικά, που σημαίνει ότι είναι η συγκεντρωτική διάσταση. Η συγκεντρωτική διάσταση επηρεάζει το σχήμα του πίνακα δεδομένων, καθώς τα αποθηκευμένα μέλη της συγκεκριμένης διάστασης γίνονται κεφαλίδες στηλών: SALES, COGS, MARKETING, PAYROLL, MISC, INTITIAL_INVENTORY και ADDITIONS.


Πίνακας δεδομένων με αποκανονικοποιημένα δεδομένα και μεταδεδομένα

Μπορείτε είτε να δημιουργήσετε τον πίνακα δεδομένων χρησιμοποιώντας SQL είτε να τον δημιουργήσετε από μια εξαγωγή δεδομένων Essbase. Μπορείτε να φορτώσετε δεδομένα στον πίνακα δεδομένων χρησιμοποιώντας εργαλεία της Αυτόνομης αποθήκης δεδομένων ή χρησιμοποιώντας τη λειτουργικότητα φόρτωσης δεδομένων του Essbase.

Οι πρόσθετες οδηγίες για τη δημιουργία ενός πίνακα δεδομένων περιλαμβάνουν:

  • Ο πίνακας δεδομένων πρέπει να έχει λιγότερες από 1000 στήλες.

  • Μην περιλαμβάνετε στήλες που θα αντιστοιχιστούν στο Essbase σε διαστάσεις χαρακτηριστικών.

  • Ο πίνακας δεδομένων δεν πρέπει να έχει μικρότερη ακρίβεια από IEEE binary64 (διπλή).

  • Ο πίνακας δεδομένων πρέπει να έχει διεθνοποιημένες συμβολοσειρές για τα μέλη διαστάσεων, χρησιμοποιώντας τον τύπο NVARCHAR2, με μήκος χαρακτήρων 1024 bit.

Παράδειγμα δημιουργίας πίνακα δεδομένων

Για να δημιουργήσετε έναν πίνακα δεδομένων στην Αυτόνομη αποθήκη δεδομένων, μπορείτε να χρησιμοποιήσετε SQL.

  1. Χρησιμοποιώντας το SQL Developer ή το εργαλείο της επιλογής σας, συνδεθείτε στην Αυτόνομη αποθήκη δεδομένων ως κάτοχος του σχήματος (από το βήμα Δημιουργία σχήματος για ενοποιημένα διαμερίσματα).

  2. Χρησιμοποιήστε την SQL για να δημιουργήσετε τον πίνακα δεδομένων, αν δεν έχετε ήδη έναν.

    Για παράδειγμα, η παρακάτω SQL δημιουργεί έναν πίνακα δεδομένων από την εξαγωγή δεδομένων από τον κύβο Essbase, 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;

Σημειώσεις

  • Στο παραπάνω παράδειγμα, το όνομα του πίνακα δεδομένων είναι SAMP_FACT και βασίζεται στο Sample Basic.

  • Για καλύτερη απόδοση, όλες οι μη αριθμητικές στήλες στον πίνακα δεδομένων θα πρέπει να είναι τύπου NVARCHAR2(1024) και όλες οι αριθμητικές στήλες πρέπει να είναι τύπου NUMBER.

  • Η Oracle συνιστά την ενεργοποίηση της παράλληλης δημιουργίας του ευρετηρίου στην Αυτόνομη αποθήκη δεδομένων, προσθέτοντας το PARALLEL 4.

  • Οι στήλες μεταδεδομένων δεν πρέπει να επιτρέπουν τη συμπερίληψη τιμών NULL.

  • Η Oracle συνιστά NOCOMPRESS όταν η χρήση του κύβου περιλαμβάνει διαδικασίες δημιουργίας δεδομένων όπως αυξητική φόρτωση δεδομένων ή μαζικές ενημερώσεις δέσμης ενεργειών. Αν ο κύβος πρόκειται να χρησιμοποιηθεί κυρίως για λειτουργίες ανάγνωσης, χρησιμοποιήστε COMPRESS για να βελτιστοποιήσετε τον πίνακα δεδομένων για τη δημιουργία αναφορών.

  • Εάν λάβετε το ακόλουθο σφάλμα επικύρωσης κατά τη δημιουργία του πίνακα δεδομένων, διαγράψτε τις σειρές null.

    ORA-18265: fact table key column ("<DIM_NAME>") with value ('') not in
          dimension("<Name_of_Column") star table key column
  • Για την καλύτερη απόδοση, αποφύγετε την προσθήκη συγκεκριμένων περιορισμών στον πίνακα, εάν δεν υπάρχει επιτακτική ανάγκη.

  • Στο παραπάνω παράδειγμα, ο πίνακας δεδομένων βασίζεται στο Sample Basic, το οποίο είναι διαθέσιμο στη συλλογή στον κατάλογο αρχείων του Essbase. Μπορείτε να εξαγάγετε τα δεδομένα από αυτό το δείγμα κύβου ή οποιονδήποτε άλλον κύβο Essbase και να τα φορτώσετε για να δημιουργήσετε έναν πίνακα δεδομένων. Για να μπορέσετε να το κάνετε αυτό, θα πρέπει να διαμορφώσετε διαπιστευτήρια για τη φόρτωση δεδομένων σε εφαρμογή ενοποιημένου διαμερίσματος. Ανατρέξτε στην ενότητα Φόρτωση δεδομένων ενοποιημένου διαμερίσματος για να ρυθμίσετε τα διαπιστευτήρια και να μάθετε πώς γίνεται η εξαγωγή δεδομένων σε μορφή DBMS χρησιμοποιώντας την εντολή DATAEXPORT.

Προσδιορισμός της συγκεντρωτικής διάστασης

Στα πλαίσια της σχεδίασης ενός ενοποιημένου διαμερίσματος, πρέπει να επιλέξετε τη συγκεντρωτική διάσταση. Η συγκεντρωτική διάσταση είναι μια διάσταση που ορίζετε από τη διάρθρωση του κύβου Essbase για την αντιπροσώπευση των αριθμητικών τιμών δεδομένων.

  • Η συγκεντρωτική διάσταση δεν χρειάζεται να είναι μετρήσεις/λογαριασμοί, αλλά μπορεί να είναι.

  • Όλα τα αποθηκευμένα μέλη της συγκεντρωτικής διάστασης πρέπει να αντιστοιχίζονται στις στήλες του πίνακα δεδομένων που αντιπροσωπεύουν τις τιμές αριθμητικών δεδομένων σας στην Αυτόνομη αποθήκη δεδομένων.

  • Αν χρειάζεται να εκτελέσετε δέσμες ενεργειών υπολογισμού χώρου αποθήκευσης μπλοκ (BSO) στο Essbase, επιλέξτε μια πυκνή διάσταση ως τη συγκεντρωτική διάσταση. Οι δέσμες ενεργειών υπολογισμού δεν υποστηρίζονται για ενοποιημένα διαμερίσματα, αν η συγκεντρωτική διάσταση είναι αραιή.

  • Η συγκεντρωτική διάσταση πρέπει να έχει αρκετά στατικά ονόματα μελών και να μην περιέχει πολύ μεγάλο αριθμό μελών. Αιτία: Η αλλαγή της συγκεντρωτικής διάστασης στη διάρθρωση του κύβου Essbase (για παράδειγμα, με την προσθήκη ή μετονομασία αποθηκευμένων μελών) απαιτεί αντίστοιχες, μη αυτόματες ενημερώσεις στον πίνακα δεδομένων στην Αυτόνομη αποθήκη δεδομένων, ενώ απαιτεί επίσης την αναδημιουργία του ενοποιημένου διαμερίσματος.

  • Οι διαστάσεις Essbase που περιλαμβάνουν μέλη που απαιτούν σύνθετους, δυναμικούς τύπους (όπως "Αρχικό απόθεμα" και "Τελικό απόθεμα", χρησιμοποιώντας το Βασικό δείγμα ως παράδειγμα) δεν θα πρέπει να επιλέγονται ως η συγκεντρωτική διάσταση.

  • Παρέχετε την επιλεγμένη συγκεντρωτική διάσταση κατά τη δημιουργία ενοποιημένου διαμερίσματος.

  • Το Oracle Database έχει όριο 1.000 στηλών και η συγκεντρωτική διάσταση κληρονομεί αυτό το όριο. Προσδιορίστε τον αριθμό των κατάλληλων μελών στήλης στη συγκεντρωτική διάσταση, για να διασφαλίσετε ότι δεν θα αντιμετωπίσετε το όριο. Ο αριθμός δυνητικών συνδυασμών αποθηκευμένων μελών στη συγκεντρωτική διάσταση συν τον αριθμό των διαστάσεων στον κύβο πρέπει να είναι μικρότερος από ή ίσος με 1.000.

  • Για κύβους συγκεντρωτικού χώρου αποθήκευσης, οι διαστάσεις που περιέχουν αποθηκευμένες ιεραρχίες μελών σε πολλά επίπεδα δεν πρέπει να επιλέγονται ως συγκεντρωτική διάσταση. Επιλέξτε μια συγκεντρωτική διάσταση με δυναμικές ιεραρχίες, ή μια αποθηκευμένη ιεραρχία που είναι μια επίπεδη ιεραρχία μεμονωμένου επιπέδου (στην οποία όλα τα μέλη είναι αποθηκευμένα μέλη επιπέδου 0).