Τι είναι ο κύβος olap στο excel. Δημιουργία έργου SSAS. Τι είναι η ανάλυση και γιατί χρειάζεται;

Τα πληροφοριακά συστήματα μιας σοβαρής επιχείρησης, κατά κανόνα, περιέχουν εφαρμογές σχεδιασμένες για σύνθετη ανάλυση δεδομένων, τη δυναμική τους, τις τάσεις κ.λπ. Αντίστοιχα, η ανώτατη διοίκηση γίνεται οι κύριοι καταναλωτές των αποτελεσμάτων της ανάλυσης. Τέτοια ανάλυση προορίζεται τελικά να υποστηρίξει τη λήψη αποφάσεων. Και για να ληφθεί η όποια διαχειριστική απόφαση είναι απαραίτητο να υπάρχουν οι απαραίτητες πληροφορίες, συνήθως ποσοτικές. Για να γίνει αυτό, είναι απαραίτητο να συλλεχθούν αυτά τα δεδομένα από όλους πληροφοριακά συστήματαεπιχειρήσεις, να τις φέρουν σε κοινή μορφή και στη συνέχεια να τις αναλύσουν. Για το σκοπό αυτό δημιουργούνται Αποθήκες Δεδομένων.

Τι είναι η αποθήκη δεδομένων;

Συνήθως - το μέρος όπου συλλέγονται όλες οι πληροφορίες αναλυτικής αξίας. Οι απαιτήσεις για τέτοια καταστήματα αντιστοιχούν στον κλασικό ορισμό του OLAP και θα εξηγηθούν παρακάτω.

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

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

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

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

Πώς κατασκευάζεται μια εγκατάσταση αποθήκευσης;

ETL– βασική ιδέα: Τρία στάδια:
  • Εξαγωγή – εξαγωγή δεδομένων από εξωτερικές πηγές σε κατανοητή μορφή.
  • Μετασχηματισμός - μετατροπή της δομής των δεδομένων πηγής σε δομές κατάλληλες για την κατασκευή ενός αναλυτικού συστήματος.
Ας προσθέσουμε ένα ακόμη στάδιο - καθαρισμός δεδομένων ( Καθάρισμα) – η διαδικασία φιλτραρίσματος άσχετων ή διόρθωσης εσφαλμένων δεδομένων με βάση στατιστικές ή ειδικές μεθόδους. Για να μην δημιουργούνται αργότερα αναφορές όπως "Πωλήσεις για το 20011".

Ας επιστρέψουμε στην ανάλυση.

Τι είναι η ανάλυση και γιατί χρειάζεται;

Η ανάλυση είναι η μελέτη δεδομένων με σκοπό τη λήψη αποφάσεων. Τα αναλυτικά συστήματα ονομάζονται συστήματα υποστήριξης αποφάσεων ( DSS).

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

OLAP

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

Η τεχνολογία για πολύπλοκη πολυδιάστατη ανάλυση δεδομένων ονομάζεται OLAP (On-Line Analytical Processing). Το OLAP είναι βασικό συστατικό της παραδοσιακής αποθήκευσης δεδομένων. Η έννοια του OLAP περιγράφηκε το 1993 από τον Edgar Codd, έναν διάσημο ερευνητή βάσεων δεδομένων και συγγραφέα του μοντέλου σχεσιακών δεδομένων. Το 1995, με βάση τις απαιτήσεις που ορίζονται από τον Codd, διατυπώθηκε η λεγόμενη δοκιμή FASMI (Fast Analysis of Shared Multidimensional Information), που περιλαμβάνει τις ακόλουθες απαιτήσεις για εφαρμογές πολυδιάστατης ανάλυσης:

  • παροχή στον χρήστη των αποτελεσμάτων ανάλυσης σε αποδεκτό χρόνο (συνήθως όχι περισσότερο από 5 δευτερόλεπτα), ακόμη και με το κόστος μιας λιγότερο λεπτομερούς ανάλυσης.
  • την ικανότητα διεξαγωγής οποιασδήποτε λογικής και στατιστικής ανάλυσης που χαρακτηρίζει αυτή η αίτηση, και την αποθήκευση σε μορφή προσβάσιμη στον τελικό χρήστη.
  • πρόσβαση πολλών χρηστών σε δεδομένα με υποστήριξη για κατάλληλους μηχανισμούς κλειδώματος και εξουσιοδοτημένα μέσα πρόσβασης·
  • πολυδιάστατη εννοιολογική αναπαράσταση δεδομένων, συμπεριλαμβανομένων πλήρης υποστήριξηγια ιεραρχίες και πολλαπλές ιεραρχίες (αυτή είναι βασική απαίτηση του OLAP).
  • τη δυνατότητα πρόσβασης σε οποιαδήποτε απαραίτητη πληροφορία, ανεξάρτητα από τον όγκο και τη θέση αποθήκευσης.
Θα πρέπει να σημειωθεί ότι η λειτουργικότητα OLAP μπορεί να υλοποιηθεί διαφορετικοί τρόποι, ξεκινώντας από τα πιο απλά εργαλεία ανάλυσης δεδομένων σε εφαρμογές γραφείου και τελειώνοντας με κατανεμημένα αναλυτικά συστήματα που βασίζονται σε προϊόντα διακομιστή. Εκείνοι. Το OLAP δεν είναι τεχνολογία, αλλά ιδεολογία.

Πριν μιλήσουμε για τις διάφορες υλοποιήσεις OLAP, ας ρίξουμε μια πιο προσεκτική ματιά στο τι είναι οι κύβοι από λογική άποψη.

Πολυδιάστατες έννοιες

Θα χρησιμοποιήσουμε τη βάση δεδομένων Northwind που περιλαμβάνεται στη Microsoft για να επεξηγήσουμε τις αρχές OLAP. SQL Serverκαι η οποία είναι μια τυπική βάση δεδομένων που αποθηκεύει πληροφορίες σχετικά με τις εμπορικές δραστηριότητες μιας εταιρείας που ασχολείται με τη χονδρική προμήθεια τροφίμων. Τέτοια δεδομένα περιλαμβάνουν πληροφορίες για προμηθευτές, πελάτες, λίστα παρεχόμενων αγαθών και τις κατηγορίες τους, δεδομένα για παραγγελίες και παραγγελθέντα αγαθά, κατάλογο εργαζομένων της εταιρείας.

Κύβος

Ας πάρουμε για παράδειγμα τον πίνακα Τιμολόγια1, που περιέχει τις παραγγελίες της εταιρείας. Τα πεδία σε αυτόν τον πίνακα θα είναι τα εξής:
  • Ημερομηνία παραγγελίας
  • Μια χώρα
  • Πόλη
  • Ονομα πελάτη
  • Εταιρεία παράδοσης
  • Ονομασία προϊόντος
  • Ποσότητα εμπορευμάτων
  • Τιμή παραγγελίας
Ποια συγκεντρωτικά δεδομένα μπορούμε να πάρουμε από αυτήν την άποψη; Συνήθως αυτές είναι απαντήσεις σε ερωτήσεις όπως:
  • Ποια είναι η συνολική αξία των παραγγελιών που υποβάλλονται από πελάτες από μια συγκεκριμένη χώρα;
  • Ποια είναι η συνολική αξία των παραγγελιών που πραγματοποιούνται από πελάτες σε μια συγκεκριμένη χώρα και παραδίδονται από μια συγκεκριμένη εταιρεία;
  • Ποια είναι η συνολική αξία των παραγγελιών που πραγματοποιούνται από πελάτες σε μια συγκεκριμένη χώρα σε ένα δεδομένο έτος και παραδίδονται από μια συγκεκριμένη εταιρεία;
Όλα αυτά τα δεδομένα μπορούν να ληφθούν από αυτόν τον πίνακα χρησιμοποιώντας αρκετά προφανή ερωτήματα SQL με ομαδοποίηση.

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

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

Αν θέλουμε να πάρουμε τα ίδια δεδομένα, αλλά και ανά έτος, τότε θα εμφανιστεί μια άλλη αλλαγή, δηλ. το σύνολο δεδομένων θα γίνει τρισδιάστατο (ένας υπό όρους τανυστής 3ης τάξης ή ένας τρισδιάστατος «κύβος»).

Προφανώς, ο μέγιστος αριθμός ιδιοτήτων είναι ο αριθμός όλων των χαρακτηριστικών (Ημερομηνία, Χώρα, Πελάτης κ.λπ.) που περιγράφουν τα συγκεντρωτικά δεδομένα μας (ποσότητα παραγγελιών, αριθμός προϊόντων κ.λπ.).

Έτσι φτάνουμε στην έννοια της πολυδιάστασης και στην ενσάρκωσή της - πολυδιάστατος κύβος. Θα ονομάσουμε ένα τέτοιο τραπέζι " πίνακας γεγονότων" Διαστάσεις ή άξονες κύβου ( διαστάσεις) είναι χαρακτηριστικά των οποίων οι συντεταγμένες εκφράζονται από τις μεμονωμένες τιμές αυτών των χαρακτηριστικών που υπάρχουν στον πίνακα γεγονότων. Εκείνοι. Για παράδειγμα, εάν οι πληροφορίες για παραγγελίες διατηρήθηκαν στο σύστημα από το 2003 έως το 2010, τότε φέτος ο άξονας θα αποτελείται από 8 αντίστοιχα σημεία. Εάν οι παραγγελίες προέρχονται από τρεις χώρες, τότε ο άξονας της χώρας θα περιέχει 3 σημεία κ.λπ. Ανεξάρτητα από το πόσες χώρες περιλαμβάνονται στον κατάλογο Χώρα. Τα σημεία σε έναν άξονα ονομάζονται «μέλη» του ( Μέλη).

Σε αυτήν την περίπτωση, τα ίδια τα συγκεντρωτικά δεδομένα θα ονομάζονται "μέτρα" ( Μετρήσει). Για να αποφευχθεί η σύγχυση με τις «διαστάσεις», οι τελευταίες ονομάζονται κατά προτίμηση «άξονες». Το σύνολο των μέτρων σχηματίζει έναν άλλο άξονα "Μέτρα" ( Μέτρα). Έχει τόσα μέλη (πόντους) όσα μέτρα (συγκεντρωτικές στήλες) στον πίνακα γεγονότων.

Τα μέλη διαστάσεων ή αξόνων μπορούν να συνδυαστούν με μία ή περισσότερες ιεραρχίες ( ιεραρχία). Ας εξηγήσουμε τι είναι η ιεραρχία με ένα παράδειγμα: οι πόλεις από τάξεις μπορούν να ενωθούν σε περιφέρειες, περιφέρειες σε περιφέρειες, περιοχές μιας χώρας, χώρες σε ηπείρους ή άλλες οντότητες. Εκείνοι. υπάρχει μια ιεραρχική δομή - ήπειρος- χώρα-περιοχή-περιοχή-πόλη– 5 επίπεδα ( Επίπεδο). Για μια περιοχή, τα δεδομένα συγκεντρώνονται για όλες τις πόλεις που περιλαμβάνονται σε αυτήν. Για μια περιοχή σε όλες τις περιφέρειες που περιέχουν όλες τις πόλεις κ.λπ. Γιατί χρειαζόμαστε πολλαπλές ιεραρχίες; Για παράδειγμα, στον άξονα ημερομηνίας παραγγελίας μπορεί να θέλουμε να ομαδοποιήσουμε σημεία (δηλαδή ημέρες) σε μια ιεραρχία Ετος μήνας ημέραή από Έτος-Εβδομάδα-Ημέρα: και στις δύο περιπτώσεις υπάρχουν τρία επίπεδα. Προφανώς, η εβδομάδα και ο μήνας ομαδοποιούν τις ημέρες διαφορετικά. Υπάρχουν επίσης ιεραρχίες, ο αριθμός των επιπέδων στις οποίες δεν είναι ντετερμινιστικός και εξαρτάται από τα δεδομένα. Για παράδειγμα, φάκελοι σε δίσκο υπολογιστή.

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

MDX

Ας προχωρήσουμε στη γλώσσα ερωτημάτων στα πολυδιάστατα δεδομένα.
Η γλώσσα SQL σχεδιάστηκε αρχικά όχι για προγραμματιστές, αλλά για αναλυτές (και επομένως έχει μια σύνταξη που μοιάζει με φυσική γλώσσα). Αλλά με την πάροδο του χρόνου έγινε όλο και πιο περίπλοκο και τώρα λίγοι αναλυτές γνωρίζουν πώς να το χρησιμοποιούν καλά, αν όχι καθόλου. Έχει γίνει εργαλείο για προγραμματιστές. Η γλώσσα ερωτημάτων MDX, που φημολογείται ότι αναπτύχθηκε από τον πρώην συμπατριώτη μας Mosha (ή Mosha) Posumansky στην άγρια ​​φύση της Microsoft, προοριζόταν επίσης αρχικά να απευθύνεται σε αναλυτές, αλλά οι έννοιες και η σύνταξή της (που θυμίζει αόριστα SQL και εντελώς μάταια, δηλαδή γιατί μόνο μπερδεύει), ακόμα πιο περίπλοκο από την SQL. Ωστόσο, τα βασικά του είναι ακόμα εύκολα κατανοητά.

Θα το εξετάσουμε λεπτομερώς γιατί είναι η μόνη γλώσσα που έχει λάβει τυπική κατάσταση στο πλαίσιο του γενικού προτύπου πρωτοκόλλου XMLA και δεύτερον επειδή υπάρχει μια εφαρμογή ανοιχτού κώδικα με τη μορφή του έργου Mondrian από την εταιρεία Πεντάχο. Άλλα συστήματα ανάλυσης OLAP (για παράδειγμα, Oracle OLAP Option) συνήθως χρησιμοποιούν τις δικές τους επεκτάσεις της σύνταξης SQL, ωστόσο, δηλώνουν επίσης υποστήριξη για MDX.

Η εργασία με σύνολα αναλυτικών δεδομένων σημαίνει μόνο την ανάγνωσή τους και δεν σημαίνει τη σύνταξη τους. Οτι. Το MDX δεν έχει ρήτρες για την αλλαγή δεδομένων, αλλά μόνο μία ρήτρα επιλογής - επιλογή.

Στο OLAP μπορείτε να φτιάξετε πολυδιάστατους κύβους φέτες– δηλ. όταν τα δεδομένα φιλτράρονται κατά μήκος ενός ή περισσότερων αξόνων ή προβολές– όταν ο κύβος «καταρρέει» κατά μήκος ενός ή περισσότερων αξόνων, συγκεντρώνοντας δεδομένα. Για παράδειγμα, το πρώτο μας παράδειγμα με τον αριθμό των παραγγελιών από χώρες είναι μια προβολή του κύβου στον άξονα Χώρα. Το ερώτημα MDX για αυτήν την περίπτωση θα μοιάζει με αυτό:

Επιλέξτε ...Παιδιά σε σειρές από
Τι είναι εδώ;

Επιλέγω– η λέξη κλειδί περιλαμβάνεται στη σύνταξη αποκλειστικά για ομορφιά.
είναι το όνομα του άξονα. Όλα τα σωστά ονόματα στο MDX είναι γραμμένα σε αγκύλες.
είναι το όνομα της ιεραρχίας. Στην περίπτωσή μας, αυτή είναι η ιεραρχία Χώρα-Πόλη
– αυτό είναι το όνομα του μέλους του άξονα στο πρώτο επίπεδο της ιεραρχίας (δηλαδή χώρα) Όλα – αυτό είναι ένα μετα-μέλος που ενώνει όλα τα μέλη του άξονα. Υπάρχει ένας τέτοιος μετα-όρος σε κάθε άξονα. Για παράδειγμα, στον άξονα του έτους υπάρχει "Όλα τα έτη" κ.λπ.
Παιδιάείναι λειτουργία μέλους. Κάθε μέλος έχει πολλές διαθέσιμες λειτουργίες. Όπως Γονέας. Επίπεδο, Ιεραρχία, επιστρέφοντας αντίστοιχα τον πρόγονο, το επίπεδο στην ιεραρχία και την ίδια την ιεραρχία στην οποία ανήκει το μέλος σε αυτή την περίπτωση. Παιδιά - Επιστρέφει ένα σύνολο θυγατρικών μελών αυτού του μέλους. Εκείνοι. στην περίπτωσή μας – χώρες.
σε σειρές– Υποδεικνύει πώς να τακτοποιήσετε αυτά τα δεδομένα στον πίνακα που προκύπτει. Σε αυτή την περίπτωση - στην κεφαλίδα των γραμμών. Πιθανές τιμές εδώ: σε στήλες, σε σελίδες, σε παραγράφους κ.λπ. Είναι επίσης δυνατό να υποδεικνύεται απλώς με ευρετήριο, ξεκινώντας από το 0.
από– είναι ένδειξη του κύβου από τον οποίο γίνεται η επιλογή.

Τι γίνεται αν δεν χρειαζόμαστε όλες τις χώρες, αλλά μόνο μερικές συγκεκριμένες; Για να γίνει αυτό, μπορούμε να προσδιορίσουμε ρητά στο αίτημα τις χώρες που χρειαζόμαστε, αντί να επιλέγουμε τα πάντα χρησιμοποιώντας τη λειτουργία Παιδιά.

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

Τώρα ας γράψουμε ένα ερώτημα για το δεύτερο παράδειγμά μας - έξοδο στο πλαίσιο ενός ατόμου παράδοσης:

Επιλέξτε ...Παιδιά σε σειρές .Μέλη σε στήλες από
Προστέθηκε εδώ:
– άξονας
.Μέλη– μια συνάρτηση άξονα που επιστρέφει όλους τους όρους σε αυτήν. Η ιεραρχία και το επίπεδο έχουν την ίδια λειτουργία. Επειδή Υπάρχει μόνο μία ιεραρχία σε αυτόν τον άξονα, τότε η ένδειξη της μπορεί να παραλειφθεί, γιατί το επίπεδο και η ιεραρχία είναι επίσης τα ίδια, τότε μπορείτε να εμφανίσετε όλα τα μέλη σε μία λίστα.

Νομίζω ότι είναι ήδη προφανές πώς μπορούμε να συνεχίσουμε αυτό με το τρίτο μας παράδειγμα με λεπτομέρειες ανά έτος. Αλλά ας μην ξετρυπώνουμε με το χρόνο, αλλά φιλτράρουμε – δηλ. φτιάξτε μια φέτα Για να γίνει αυτό, θα γράψουμε το ακόλουθο ερώτημα:

Επιλέξτε ..Παιδιά σε σειρές .Μέλη στις στήλες από όπου (.)
Πού είναι το φιλτράρισμα εδώ;

που- λέξη-κλειδί
είναι ένα μέλος της ιεραρχίας . Το πλήρες όνομα, συμπεριλαμβανομένων όλων των όρων, θα είναι: .. , αλλά επειδή Δεδομένου ότι το όνομα αυτού του μέλους είναι μοναδικό εντός του άξονα, όλες οι ενδιάμεσες διευκρινίσεις του ονόματος μπορούν να παραληφθούν.

Γιατί ο όρος ημερομηνίας είναι σε παρένθεση; Οι παρενθέσεις είναι πλειάδα ( πλειάδα). Μια πλειάδα είναι μία ή περισσότερες συντεταγμένες κατά μήκος διάφοροςτσεκούρια Για παράδειγμα, για να φιλτράρουμε κατά μήκος δύο αξόνων ταυτόχρονα, σε παρένθεση παραθέτουμε δύο όρους από διαφορετικόςμετρήσεις χωρισμένες με κόμμα. Δηλαδή, η πλειάδα ορίζει μια "φέτα" του κύβου (ή "φιλτράρισμα", αν αυτή η ορολογία είναι πιο κοντινή).

Η πλειάδα χρησιμοποιείται για περισσότερα από το φιλτράρισμα. Οι πλειάδες μπορούν επίσης να βρίσκονται σε κεφαλίδες γραμμής/στήλης/σελίδας κ.λπ.

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

Επιλέξτε crossjoin(...Children, ..Children) στις σειρές .Members on στήλες από όπου (.)
Διασταύρωσηείναι μια συνάρτηση. Επιστρέφει ένα σύνολο πλειάδων (ναι, ένα σύνολο μπορεί να περιέχει πλειάδες!) που προκύπτουν από το καρτεσιανό γινόμενο δύο συνόλων. Εκείνοι. το σύνολο που προκύπτει θα περιέχει όλους τους πιθανούς συνδυασμούς χωρών και ετών. Οι κεφαλίδες της γραμμής θα περιέχουν έτσι ένα ζεύγος τιμών: Χώρα-Έτος.

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

Ερώτηση: Ποια είναι η διαφορά μεταξύ του φιλτραρίσματος στο πού και του φιλτραρίσματος με τον καθορισμό μελών αξόνων σε σειρές. Απάντηση: πρακτικά τίποτα. Απλώς όπου υποδεικνύεται ένα slice για εκείνους τους άξονες που δεν συμμετέχουν στο σχηματισμό επικεφαλίδων. Εκείνοι. ίδιος άξονας δεν μπορώνα είναι παρών ταυτόχρονα σε σειρές, και στο που.

Υπολογιζόμενα Μέλη

Για περισσότερα σύνθετα ερωτήματαΜπορείτε να δηλώσετε υπολογισμένα μέλη. Μέλη και των δύο αξόνων χαρακτηριστικών και μετρήσεων. Εκείνοι. Μπορείτε να δηλώσετε, για παράδειγμα, ένα νέο μέτρο που θα εμφανίζει τη συνεισφορά κάθε χώρας στο συνολικό ποσό των παραγγελιών:

Με μέλος. ως '.CurrentMember / ..', FORMAT_STRING='0,00%' επιλέξτε ...Τα παιδιά στις σειρές από όπου .
Ο υπολογισμός γίνεται στο πλαίσιο ενός κελιού στο οποίο είναι γνωστά όλα τα χαρακτηριστικά συντεταγμένων του. Οι αντίστοιχες συντεταγμένες (μέλη) μπορούν να ληφθούν από τη συνάρτηση CurrentMember για κάθε έναν από τους άξονες του κύβου. Εδώ πρέπει να καταλάβουμε ότι η έκφραση .Τωρινό Μέλος/..’ δεν διαιρεί έναν όρο με έναν άλλο, αλλά διαιρεί σχετικά συγκεντρωτικά δεδομέναφέτες κύβου! Εκείνοι. το κομμάτι για την τρέχουσα επικράτεια θα χωριστεί σε ένα κομμάτι για όλες τις περιοχές, δηλ. τη συνολική αξία όλων των παραγγελιών. FORMAT_STRING – ορίζει τη μορφή για την εμφάνιση τιμών, π.χ. %.

Ένα άλλο παράδειγμα υπολογισμένου μέλους, αλλά στον άξονα των ετών:

Με μέλος. όπως και '. -.'
Προφανώς, η αναφορά δεν θα περιέχει ενότητα, αλλά τη διαφορά των αντίστοιχων ενοτήτων, δηλ. τη διαφορά στο ποσό των παραγγελιών σε αυτά τα δύο χρόνια.

Εμφάνιση στο ROLAP

Τα συστήματα OLAP βασίζονται με τον ένα ή τον άλλο τρόπο σε κάποιο είδος συστήματος αποθήκευσης και οργάνωσης δεδομένων. Οταν μιλάμε γιαγια το RDBMS, μετά μιλούν για το ROLAP (θα αφήσουμε το MOLAP και το HOLAP για αυτοδιδασκαλίας). ROLAP – OLAP σε μια σχεσιακή βάση δεδομένων, π.χ. περιγράφεται με τη μορφή συνηθισμένων δισδιάστατων πινάκων. Τα συστήματα ROLAP μετατρέπουν τα ερωτήματα MDX σε SQL. Το κύριο υπολογιστικό πρόβλημα για βάσεις δεδομένων είναι η γρήγορη συνάθροιση. Για γρηγορότερη συγκέντρωση, τα δεδομένα στη βάση δεδομένων είναι συνήθως σε μεγάλο βαθμό αποκανονικοποιημένα, δηλ. δεν αποθηκεύονται πολύ αποτελεσματικά όσον αφορά τον χώρο στο δίσκο και την παρακολούθηση της ακεραιότητας της βάσης δεδομένων. Επιπλέον περιέχουν βοηθητικούς πίνακες που αποθηκεύουν εν μέρει συγκεντρωτικά δεδομένα. Επομένως, για το OLAP, δημιουργείται συνήθως ένα ξεχωριστό σχήμα βάσης δεδομένων, το οποίο αναπαράγει μόνο εν μέρει τη δομή των αρχικών βάσεων δεδομένων συναλλαγών ως προς τους καταλόγους.

Πλοήγηση

Πολλά συστήματα OLAP προσφέρουν διαδραστικά εργαλεία πλοήγησης για ένα ήδη δημιουργημένο ερώτημα (και ανάλογα επιλεγμένα δεδομένα). Σε αυτή την περίπτωση, χρησιμοποιείται η λεγόμενη «γεώτρηση» ή «γεώτρηση». Μια πιο κατάλληλη μετάφραση στα ρωσικά θα ήταν η λέξη "εμβάθυνση". Αλλά αυτό είναι θέμα γούστου, σε ορισμένα περιβάλλοντα η λέξη «γεώτρηση» έχει κολλήσει.

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

  • τρύπησε κάτω– φιλτράρισμα κατά μήκος ενός από τους άξονες πηγής της αναφοράς με εμφάνιση λεπτομερών πληροφοριών για απογόνους εντός της ιεραρχίας του επιλεγμένου μέλους φιλτραρίσματος. Για παράδειγμα, εάν υπάρχει μια αναφορά για την κατανομή των παραγγελιών ανά Χώρες και Έτη, τότε κάνοντας κλικ στο έτος 2007 θα εμφανιστεί μια αναφορά κατανεμημένη ανά Χώρες και μήνες του 2007.
  • πλευρά τρυπανιού– φιλτράρισμα κάτω από έναν ή περισσότερους επιλεγμένους άξονες και αφαίρεση συσσωμάτωσης κατά μήκος ενός ή περισσότερων άλλων αξόνων. Για παράδειγμα, εάν υπάρχει μια αναφορά σχετικά με την κατανομή των παραγγελιών ανά Χώρες και Έτη, τότε κάνοντας κλικ στο έτος 2007 θα εμφανιστεί μια άλλη αναφορά με ανάλυση, για παράδειγμα, ανά Χώρες και Προμηθευτές με φιλτράρισμα έως το 2007.
  • τρυπάνι– κατάργηση συνάθροισης κατά μήκος όλων των αξόνων και ταυτόχρονο φιλτράρισμα κατά μήκος αυτών – σας επιτρέπει να βλέπετε τα δεδομένα πηγής από τον πίνακα γεγονότων από τον οποίο ελήφθη η τιμή στην αναφορά. Εκείνοι. Όταν κάνετε κλικ σε μια τιμή κελιού, εμφανίζεται μια αναφορά με όλες τις παραγγελίες που έδωσαν αυτό το ποσό. Ένα είδος στιγμιαίας διάτρησης στα ίδια τα «βάθη» του κύβου.
Αυτό είναι όλο. Τώρα, αν αποφασίσετε να αφοσιωθείτε στην Business Intelligence και στο OLAP, ήρθε η ώρα να αρχίσετε να διαβάζετε σοβαρή λογοτεχνία.

Ετικέτες: Προσθήκη ετικετών

Είμαι κάτοικος του Habr εδώ και αρκετό καιρό, αλλά δεν έχω διαβάσει ποτέ άρθρα σχετικά με το θέμα των πολυδιάστατων κύβων, OLAP και MDX, αν και το θέμα είναι πολύ ενδιαφέρον και γίνεται όλο και πιο επίκαιρο κάθε μέρα.
Δεν είναι μυστικό ότι κατά τη διάρκεια αυτής της σύντομης χρονικής περιόδου ανάπτυξης βάσεων δεδομένων, ηλεκτρονικών λογιστικών και διαδικτυακών συστημάτων, έχουν συσσωρευτεί πολλά δεδομένα. Τώρα, μια πλήρης ανάλυση των αρχείων, και ίσως μια προσπάθεια πρόβλεψης καταστάσεων για παρόμοια μοντέλα στο μέλλον, είναι επίσης ενδιαφέρουσα.
Από την άλλη πλευρά, οι μεγάλες εταιρείες, ακόμη και κατά τη διάρκεια πολλών ετών, μηνών ή και εβδομάδων, μπορούν να συγκεντρώσουν τόσο μεγάλο όγκο δεδομένων που ακόμη και η βασική τους ανάλυση απαιτεί εξαιρετικές προσεγγίσεις και αυστηρές απαιτήσεις υλικού. Αυτά θα μπορούσαν να είναι συστήματα επεξεργασίας τραπεζικών συναλλαγών, πράκτορες ανταλλαγής, τηλεφωνητέςκαι τα λοιπά.
Νομίζω ότι όλοι γνωρίζουν καλά 2 διαφορετικές προσεγγίσεις στο σχεδιασμό βάσεων δεδομένων: OLTP και OLAP. Η πρώτη προσέγγιση (Διαδικτυακή Επεξεργασία Συναλλαγών - Επεξεργασία Συναλλαγών σε πραγματικό χρόνο) έχει σχεδιαστεί για αποτελεσματική συλλογή δεδομένων σε πραγματικό χρόνο, ενώ η δεύτερη (Διαδικτυακή Αναλυτική Επεξεργασία - Αναλυτική Επεξεργασία σε πραγματικό χρόνο) στοχεύει συγκεκριμένα στη δειγματοληψία και επεξεργασία δεδομένων στην πιο αποτελεσματική τρόπος.

Ας δούμε τις κύριες δυνατότητες των σύγχρονων κύβων OLAP και ποια προβλήματα επιλύουν (λαμβάνονται ως βάση οι Υπηρεσίες Ανάλυσης 2005/2008):

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

Λίγα περισσότερα για τις δυνατότητες

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

Προσυγκέντρωση
Εκτός από τη γρήγορη ανάκτηση υπαρχόντων δεδομένων, παρέχει επίσης τη δυνατότητα προ-συγκεντρώσεως των τιμών "πιθανότατα να χρησιμοποιηθούν". Για παράδειγμα, εάν έχουμε καθημερινά αρχεία πωλήσεων ενός συγκεκριμένου προϊόντος, το σύστημα ΜπορείΜπορούμε επίσης να προαθροίσουμε μηνιαία και τριμηνιαία ποσά πωλήσεων, πράγμα που σημαίνει ότι εάν ζητάμε δεδομένα μηνιαία ή τριμηνιαία, το σύστημα θα μας δώσει αμέσως το αποτέλεσμα. Γιατί δεν συμβαίνει πάντα η προ-συγκέντρωση;Διότι θεωρητικά πιθανοί συνδυασμοί αγαθών/χρόνου/κ.λπ. μπορεί να υπάρχει ένας τεράστιος αριθμός, πράγμα που σημαίνει ότι πρέπει να έχετε σαφείς κανόνες για ποια στοιχεία θα κατασκευαστεί η συγκέντρωση και για ποια όχι. Γενικά, το θέμα του να ληφθούν υπόψη αυτοί οι κανόνες και ο πραγματικός σχεδιασμός των συναθροίσεων είναι αρκετά εκτενές και αξίζει ένα ξεχωριστό άρθρο από μόνο του.

Ιεραρχίες
Είναι φυσικό ότι κατά την ανάλυση δεδομένων και την κατασκευή τελικών εκθέσεων, πρέπει να λαμβάνεται υπόψη το γεγονός ότι οι μήνες αποτελούνται από ημέρες και οι ίδιοι αποτελούν τέταρτα και οι πόλεις περιλαμβάνονται σε περιοχές, οι οποίες με τη σειρά τους αποτελούν μέρος περιοχών ή χωρών. . Τα καλά νέα είναι ότι Κύβοι OLAPΑρχικά θεωρούν τα δεδομένα από την άποψη των ιεραρχιών και των σχέσεων με άλλες παραμέτρους της ίδιας οντότητας, επομένως η κατασκευή και η χρήση ιεραρχιών σε κύβους είναι ένα πολύ απλό θέμα.

Δουλεύοντας με τον χρόνο
Δεδομένου ότι η ανάλυση δεδομένων πραγματοποιείται κυρίως σε χρονικές περιοχές, δίνεται ιδιαίτερη σημασία στον χρόνο στα συστήματα OLAP, πράγμα που σημαίνει ότι ορίζοντας απλά για το σύστημα όπου έχουμε χρόνο εδώ, στο μέλλον μπορείτε εύκολα να χρησιμοποιήσετε συναρτήσεις όπως Έτος έως Ημερομηνία, Μήνας έως Ημερομηνία (η περίοδος από την αρχή του έτους/μήνα έως την τρέχουσα ημερομηνία), Παράλληλη περίοδος (την ίδια ημέρα ή μήνα, αλλά πέρυσι) κ.λπ.

Πολυδιάστατη γλώσσα πρόσβασης δεδομένων
MDX(Πολυδιάστατες εκφράσεις) - μια γλώσσα ερωτημάτων για απλή και αποτελεσματική πρόσβαση σε πολυδιάστατες δομές δεδομένων. Και αυτό τα λέει όλα – θα υπάρξουν μερικά παραδείγματα παρακάτω.

Βασικοί δείκτες απόδοσης (KPI)
Βασικοί Δείκτες Απόδοσηςείναι ένα σύστημα χρηματοοικονομικής και μη χρηματοοικονομικής μέτρησης που βοηθά έναν οργανισμό να καθορίσει την επίτευξη των στρατηγικών στόχων. Οι βασικοί δείκτες απόδοσης μπορούν πολύ απλά να οριστούν στα συστήματα OLAP και να χρησιμοποιηθούν σε αναφορές.

Ημερομηνία εξόρυξης
Εξόρυξη δεδομένων (Εξόρυξη δεδομένων) - ουσιαστικά, ο εντοπισμός κρυφών μοτίβων ή σχέσεων μεταξύ μεταβλητών σε μεγάλα σύνολα δεδομένων.
Ο αγγλικός όρος «Data Mining» δεν έχει σαφή μετάφραση στα ρωσικά (εξόρυξη δεδομένων, εξόρυξη δεδομένων, εξόρυξη πληροφοριών, εξόρυξη δεδομένων/πληροφοριών) επομένως στις περισσότερες περιπτώσεις χρησιμοποιείται στο πρωτότυπο. Η πιο επιτυχημένη έμμεση μετάφραση είναι ο όρος «εξόρυξη δεδομένων» (DMA). Ωστόσο, αυτό είναι ένα ξεχωριστό, όχι λιγότερο ενδιαφέρον θέμα προς εξέταση.

Προσωρινή αποθήκευση πολλαπλών επιπέδων
Στην πραγματικότητα, για να διασφαλιστεί η υψηλότερη ταχύτητα πρόσβασης στα δεδομένα, εκτός από τις δύσκολες δομές δεδομένων και τις προ-συγκεντρώσεις, τα συστήματα OLAP υποστηρίζουν την κρυφή μνήμη πολλαπλών επιπέδων. Εκτός από την προσωρινή αποθήκευση απλών ερωτημάτων, αποθηκεύονται επίσης στην προσωρινή μνήμη τμήματα δεδομένων που διαβάζονται από το κατάστημα, συγκεντρωτικές τιμές και υπολογισμένες τιμές. Έτσι, όσο περισσότερο εργάζεστε με έναν κύβο OLAP, τόσο πιο γρήγορα αρχίζει να λειτουργεί. Υπάρχει επίσης η έννοια της «θέρμανσης της κρυφής μνήμης» - μια λειτουργία που προετοιμάζει το σύστημα OLAP για εργασία με συγκεκριμένες αναφορές, ερωτήματα ή όλα μαζί.

Πολυγλωσσική υποστήριξη
Ναι ναι ναι. Τουλάχιστον, το Analysis Services 2005/2008 (αν και η Enterprise Edition) υποστηρίζει εγγενώς την πολυγλωσσία. Αρκεί να παράσχετε μια μετάφραση των παραμέτρων συμβολοσειράς των δεδομένων σας και ο πελάτης που καθόρισε τη γλώσσα του θα λάβει τοπικά δεδομένα.

Πολυδιάστατοι κύβοι

Τι ακριβώς είναι λοιπόν αυτοί οι πολυδιάστατοι κύβοι;
Ας φανταστούμε έναν τρισδιάστατο χώρο του οποίου οι άξονες είναι ο Χρόνος, τα Προϊόντα και οι Πελάτες.
Ένα σημείο σε ένα τέτοιο χώρο θα υποδηλώνει το γεγονός ότι ένας από τους αγοραστές αγόρασε ένα συγκεκριμένο προϊόν σε έναν συγκεκριμένο μήνα.

Στην πραγματικότητα, το επίπεδο (ή το σύνολο όλων αυτών των σημείων) θα είναι ο κύβος και, κατά συνέπεια, ο χρόνος, τα προϊόντα και οι πελάτες θα είναι οι διαστάσεις του.
Είναι λίγο πιο δύσκολο να φανταστείς (και να σχεδιάσεις) έναν τετραδιάστατο ή περισσότερο κύβο, αλλά η ουσία δεν αλλάζει, και το πιο σημαντικό, για τα συστήματα OLAP δεν έχει καμία σημασία σε πόσες διαστάσεις θα δουλέψεις (εντός λογικού όρια, φυσικά).

Λίγο MDX

Λοιπόν, ποια είναι η ομορφιά του MDX; Πιθανότατα, είναι ότι πρέπει να περιγράψουμε όχι πώς θέλουμε να επιλέξουμε δεδομένα, αλλά Τι ακριβώςθέλουμε.
Για παράδειγμα,
ΕΠΙΛΕΓΩ
( . ) ΣΤΙΣ ΣΤΗΛΕΣ,
( ., . ) ΣΤΙΣ ΣΕΙΡΕΣ
ΑΠΟ
ΟΠΟΥ (., .)

Που σημαίνει ότι θέλω τον αριθμό των iPhone που πουλήθηκαν τον Ιούνιο και τον Ιούλιο στη Μοζαμβίκη.
Ταυτόχρονα περιγράφω οι οποίεςαυτά είναι τα δεδομένα που θέλω και ΠωςΘέλω να τους δω στην έκθεση.
Όμορφο, έτσι δεν είναι;

Εδώ είναι λίγο πιο περίπλοκο:

ΜΕ ΜΕΛΟΣ AverageSpend AS
. / .
ΕΠΙΛΕΓΩ
( Μέση Δαπάνη ) ΣΕ ΣΤΗΛΕΣ,
( .., .. ) ΣΕ ΣΕΙΡΕΣ
ΑΠΟ
ΟΠΟΥ (.)

* Αυτός ο πηγαίος κώδικας επισημάνθηκε με το εργαλείο επισήμανσης πηγαίου κώδικα.

Στην πραγματικότητα, πρώτα καθορίζουμε τον τύπο για τον υπολογισμό του "μέσου μεγέθους αγοράς" και προσπαθούμε να συγκρίνουμε ποιος (ποιο φύλο) ξοδεύει περισσότερα χρήματα σε μία επίσκεψη στο κατάστημα της Apple.

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

συμπέρασμα

Στην πραγματικότητα, αυτό το άρθρο καλύπτει ελάχιστα ακόμη και βασικές έννοιες· θα το ονόμαζα «ορεκτικό» - μια ευκαιρία να ενδιαφερθεί η κοινότητα Habra για αυτό το θέμα και να το αναπτύξει περαιτέρω. Όσον αφορά την ανάπτυξη, εδώ υπάρχει ένα τεράστιο μη οργωμένο χωράφι και θα χαρώ να απαντήσω σε όλες τις ερωτήσεις σας.

ΥΣΤΕΡΟΓΡΑΦΟ.Αυτή είναι η πρώτη μου ανάρτηση για το OLAP και η πρώτη δημοσίευση στο Habré - θα ήμουν πολύ ευγνώμων για τα εποικοδομητικά σχόλια.
Εκσυγχρονίζω:Το μετέφερα σε SQL, θα το μεταφέρω στο OLAP μόλις μου επιτρέψουν να δημιουργήσω νέα blog.

Ετικέτες: Προσθήκη ετικετών

Ως μέρος αυτής της εργασίας, θα εξεταστούν τα ακόλουθα θέματα:

  • Τι είναι οι κύβοι OLAP;
  • Τι είναι τα μέτρα, οι διαστάσεις, οι ιεραρχίες;
  • Τι τύποι λειτουργιών μπορούν να εκτελεστούν σε κύβους OLAP;
Η έννοια ενός κύβου OLAP

Το κύριο αξίωμα του OLAP είναι η πολυδιάστατη παρουσίαση δεδομένων. Στην ορολογία OLAP, η έννοια του κύβου, ή του υπερκύβου, χρησιμοποιείται για να περιγράψει έναν πολυδιάστατο διακριτό χώρο δεδομένων.

Κύβοςείναι μια πολυδιάστατη δομή δεδομένων από την οποία ένας χρήστης-αναλυτής μπορεί να αναζητήσει πληροφορίες. Οι κύβοι δημιουργούνται από γεγονότα και διαστάσεις.

Δεδομένα- πρόκειται για δεδομένα σχετικά με αντικείμενα και γεγονότα στην εταιρεία που θα υπόκεινται σε ανάλυση. Γεγονότα του ίδιου τύπου αποτελούν μέτρα. Ένα μέτρο είναι ο τύπος της τιμής σε ένα κελί κύβου.

Μετρήσεις- αυτά είναι τα στοιχεία δεδομένων με τα οποία αναλύονται τα γεγονότα. Μια συλλογή τέτοιων στοιχείων σχηματίζει ένα χαρακτηριστικό διάστασης (για παράδειγμα, οι ημέρες της εβδομάδας μπορούν να σχηματίσουν ένα χαρακτηριστικό διάστασης χρόνου). Σε εργασίες επιχειρηματικής ανάλυσης για εμπορικές επιχειρήσεις, οι διαστάσεις συχνά περιλαμβάνουν κατηγορίες όπως "χρόνος", "πωλήσεις", "προϊόντα", "πελάτες", "εργαζόμενοι", "γεωγραφική τοποθεσία". Οι μετρήσεις είναι πιο συχνές ιεραρχικές δομές, οι οποίες είναι λογικές κατηγορίες με τις οποίες ο χρήστης μπορεί να αναλύσει πραγματικά δεδομένα. Κάθε ιεραρχία μπορεί να έχει ένα ή περισσότερα επίπεδα. Έτσι, η ιεραρχία της διάστασης «γεωγραφική θέση» μπορεί να περιλαμβάνει τα επίπεδα: «χώρα - περιοχή - πόλη». Στη χρονική ιεραρχία, μπορούμε να διακρίνουμε, για παράδειγμα, την ακόλουθη ακολουθία επιπέδων: Μια διάσταση μπορεί να έχει πολλές ιεραρχίες (κάθε ιεραρχία μιας διάστασης πρέπει να έχει το ίδιο χαρακτηριστικό κλειδί του πίνακα διαστάσεων).

Ένας κύβος μπορεί να περιέχει πραγματικά δεδομένα από έναν ή περισσότερους πίνακες δεδομένων και τις περισσότερες φορές περιέχει πολλαπλές διαστάσεις. Οποιοσδήποτε δεδομένος κύβος έχει συνήθως μια συγκεκριμένη εστίαση για ανάλυση.

Το σχήμα 1 δείχνει ένα παράδειγμα κύβου που έχει σχεδιαστεί για να αναλύει τις πωλήσεις προϊόντων πετρελαίου από μια συγκεκριμένη εταιρεία ανά περιοχή. Αυτός ο κύβος έχει τρεις διαστάσεις (χρόνος, προϊόν και περιοχή) και ένα μέτρο (όγκος πωλήσεων εκφρασμένο σε νομισματικούς όρους). Οι τιμές μέτρησης αποθηκεύονται στα αντίστοιχα κελιά του κύβου. Κάθε κελί προσδιορίζεται μοναδικά από ένα σύνολο μελών κάθε διάστασης, που ονομάζεται πλειάδα. Για παράδειγμα, το κελί που βρίσκεται στην κάτω αριστερή γωνία του κύβου (περιέχει την τιμή 98399 $) καθορίζεται από την πλειάδα [Ιούλιος 2005, Άπω Ανατολή, Ντίζελ]. Εδώ η αξία των 98.399 $ δείχνει τον όγκο πωλήσεων (σε νομισματικούς όρους) ντίζελ στην Άπω Ανατολή για τον Ιούλιο του 2005.

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

Ρύζι. 1.Κύβος με πληροφορίες για τις πωλήσεις προϊόντων πετρελαίου σε διάφορες περιοχές

Ο απώτερος στόχος της δημιουργίας τέτοιων κύβων είναι να ελαχιστοποιηθεί ο χρόνος επεξεργασίας των ερωτημάτων που εξάγουν τις απαιτούμενες πληροφορίες από τα πραγματικά δεδομένα. Για να ολοκληρωθεί αυτή η εργασία, οι κύβοι συνήθως περιέχουν προυπολογισμένα σύνολα που ονομάζονται συναθροίσεις(συγκεντρώσεις). Εκείνοι. ο κύβος καλύπτει ένα χώρο δεδομένων μεγαλύτερο από τον πραγματικό - υπάρχουν λογικά, υπολογισμένα σημεία σε αυτόν. Οι συναρτήσεις συνάθροισης σάς επιτρέπουν να υπολογίζετε τις τιμές των σημείων σε λογικό χώρο με βάση τις πραγματικές τιμές. Οι απλούστερες συναρτήσεις συγκέντρωσης είναι SUM, MAX, MIN, COUNT. Έτσι, για παράδειγμα, χρησιμοποιώντας τη συνάρτηση MAX, για τον κύβο που δίνεται στο παράδειγμα, μπορείτε να προσδιορίσετε πότε σημειώθηκε η κορύφωση των πωλήσεων ντίζελ στην Άπω Ανατολή κ.λπ.

Ένα άλλο ιδιαίτερο χαρακτηριστικό των πολυδιάστατων κύβων είναι η δυσκολία προσδιορισμού της προέλευσης. Για παράδειγμα, πώς ορίζετε το σημείο 0 για την ιδιότητα Προϊόν ή Περιοχές; Η λύση σε αυτό το πρόβλημα είναι η εισαγωγή ενός ειδικού χαρακτηριστικού που συνδυάζει όλα τα στοιχεία της διάστασης. Αυτό το χαρακτηριστικό (δημιουργείται αυτόματα) περιέχει μόνο ένα στοιχείο - Όλα. Για απλές συναρτήσεις συνάθροισης όπως το άθροισμα, το στοιχείο Όλα είναι ισοδύναμο με το άθροισμα των τιμών όλων των στοιχείων στον πραγματικό χώρο μιας δεδομένης διάστασης.

Μια σημαντική έννοια σε ένα πολυδιάστατο μοντέλο δεδομένων είναι ο υποχώρος ή ο υποκύβος. Ένας υποκύβος είναι ένα μέρος του πλήρους χώρου ενός κύβου με τη μορφή κάποιου πολυδιάστατου σχήματος μέσα στον κύβο. Δεδομένου ότι ο πολυδιάστατος χώρος ενός κύβου είναι διακριτός και περιορισμένος, ο υποκύβος είναι επίσης διακριτός και περιορισμένος.

Λειτουργίες σε κύβους OLAP

Οι ακόλουθες λειτουργίες μπορούν να εκτελεστούν σε έναν κύβο OLAP:

  • φέτα;
  • περιστροφή;
  • ενοποίηση;
  • λεπτομέρεια.
Φέτα(Εικόνα 2) είναι μια ειδική περίπτωση υποκύβου. Αυτή είναι μια διαδικασία για το σχηματισμό ενός υποσυνόλου ενός πολυδιάστατου πίνακα δεδομένων που αντιστοιχεί σε μια ενιαία τιμή ενός ή περισσότερων στοιχείων διάστασης που δεν περιλαμβάνονται σε αυτό το υποσύνολο. Για παράδειγμα, για να μάθετε πώς προχώρησαν οι πωλήσεις πετρελαιοειδών με την πάροδο του χρόνου μόνο σε μια συγκεκριμένη περιοχή, συγκεκριμένα στα Ουράλια, πρέπει να καθορίσετε την ιδιότητα "Προϊόντα" στο στοιχείο "Ουράλ" και να εξαγάγετε το αντίστοιχο υποσύνολο (υποκύβο) από το κύβος.
  • Ρύζι. 2.Φέτα κύβου OLAP

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

    Σε γενικές γραμμές, κάθε ειδικός γνωρίζει τι είναι το OLAP σήμερα. Τουλάχιστον, οι έννοιες «OLAP» και «πολυδιάστατα δεδομένα» είναι σταθερά συνδεδεμένες στο μυαλό μας. Ωστόσο, το γεγονός ότι αυτό το θέμα τίθεται ξανά, ελπίζω ότι θα εγκριθεί από την πλειοψηφία των αναγνωστών, γιατί για να μην ξεπεραστεί η ιδέα για κάτι με την πάροδο του χρόνου, πρέπει να επικοινωνείτε περιοδικά με έξυπνοι άνθρωποιή διαβάστε άρθρα σε μια καλή έκδοση...

    Αποθήκες δεδομένων (τόπος OLAP στο δομή πληροφοριώνεπιχειρήσεις)

    Ο όρος «OLAP» είναι άρρηκτα συνδεδεμένος με τον όρο «αποθήκη δεδομένων» (Data Warehouse).

    Ακολουθεί ο ορισμός που διατυπώθηκε από τον «ιδρυτή» της αποθήκευσης δεδομένων, Bill Inmon: «Η αποθήκη δεδομένων είναι μια συγκεκριμένη για τον τομέα, χρονικά δεσμευμένη, αμετάβλητη συλλογή δεδομένων για την υποστήριξη της λήψης αποφάσεων διαχείρισης».

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

    Γιατί να δημιουργήσετε αποθήκες δεδομένων - σε τελική ανάλυση, περιέχουν προφανώς περιττές πληροφορίες που ήδη «ζουν» σε βάσεις δεδομένων ή αρχεία λειτουργικού συστήματος; Η απάντηση μπορεί να είναι σύντομη: είναι αδύνατο ή πολύ δύσκολο να αναλυθούν άμεσα δεδομένα από λειτουργικά συστήματα. Αυτό οφείλεται σε διάφορους λόγους, όπως ο κατακερματισμός των δεδομένων, η αποθήκευσή τους σε διαφορετικές μορφές DBMS και σε διαφορετικές «γωνίες» του εταιρικού δικτύου. Αλλά ακόμα κι αν μια επιχείρηση αποθηκεύει όλα τα δεδομένα της σε έναν κεντρικό διακομιστή βάσης δεδομένων (πράγμα εξαιρετικά σπάνιο), ένας αναλυτής είναι σχεδόν βέβαιο ότι δεν θα κατανοήσει τις περίπλοκες, μερικές φορές συγκεχυμένες δομές τους. Ο συγγραφέας έχει μια πολύ θλιβερή εμπειρία να προσπαθεί να «ταΐσει» πεινασμένους αναλυτές με «ακατέργαστα» δεδομένα από λειτουργικά συστήματα - αποδείχθηκε ότι ήταν «πολύ για αυτούς».

    Έτσι, ο σκοπός του αποθετηρίου είναι να παρέχει τις «πρώτες ύλες» για ανάλυση σε ένα μέρος και σε μια απλή, κατανοητή δομή. Ο Ralph Kimball, στον πρόλογο του βιβλίου του "The Data Warehouse Toolkit", γράφει ότι εάν, μετά την ανάγνωση ολόκληρου του βιβλίου, ο αναγνώστης καταλάβει μόνο ένα πράγμα - δηλαδή ότι η δομή της αποθήκης πρέπει να είναι απλή - ο συγγραφέας θα εξετάσει τη δική του ολοκληρώθηκε η εργασία.

    Υπάρχει ένας άλλος λόγος που δικαιολογεί την εμφάνιση ενός ξεχωριστού αποθετηρίου - πολύπλοκα αναλυτικά ερωτήματα για να επιχειρησιακές πληροφορίεςΚόψτε ταχύτητα τρέχουσα εργασίαεταιρείες, μπλοκάροντας πίνακες για μεγάλο χρονικό διάστημα και κατάσχεση πόρων διακομιστή.

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

    OLAP - ένα βολικό εργαλείο ανάλυσης

    Η συγκέντρωση και η βολική διάρθρωση δεν είναι όλα όσα χρειάζεται ένας αναλυτής. Χρειάζεται ακόμα ένα εργαλείο για την προβολή και την οπτικοποίηση πληροφοριών. Οι παραδοσιακές αναφορές, ακόμη και εκείνες που έχουν δημιουργηθεί σε ένα μόνο αποθετήριο, δεν έχουν ένα πράγμα - την ευελιξία. Δεν μπορούν να «στραφούν», να «επεκταθούν» ή να «συμπεστούν» για να έχετε την επιθυμητή προβολή των δεδομένων. Φυσικά, μπορείτε να καλέσετε έναν προγραμματιστή (αν θέλει να έρθει) και αυτός (αν δεν είναι απασχολημένος) θα κάνει μια νέα αναφορά αρκετά γρήγορα - ας πούμε, μέσα σε μια ώρα (το γράφω αυτό και δεν το πιστεύω το ίδιο - δεν συμβαίνει τόσο γρήγορα στη ζωή· ας του δώσουμε τρεις ώρες) . Αποδεικνύεται ότι ένας αναλυτής μπορεί να δοκιμάσει όχι περισσότερες από δύο ιδέες την ημέρα. Και αυτός (αν είναι καλός αναλυτής) μπορεί να βάζει αρκετές τέτοιες ιδέες ανά ώρα. Και όσο περισσότερες «φέτες» και «τμήματα» δεδομένων βλέπει ο αναλυτής, τόσο περισσότερες ιδέες έχει, οι οποίες, με τη σειρά τους, απαιτούν όλο και περισσότερες «φέτες» για επαλήθευση. Μακάρι να είχε ένα εργαλείο που θα του επέτρεπε να επεκτείνει και να συμπτύξει δεδομένα απλά και άνετα! Το OLAP λειτουργεί ως τέτοιο εργαλείο.

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

    Τα στοιχεία που περιλαμβάνονται σε ένα τυπικό αποθετήριο φαίνονται στο Σχ. 1.

    Ρύζι. 1. Δομή αποθήκης δεδομένων

    Τα λειτουργικά δεδομένα συλλέγονται από διάφορες πηγές, καθαρίζονται, ενσωματώνονται και αποθηκεύονται σε ένα σχεσιακό κατάστημα. Επιπλέον, είναι ήδη διαθέσιμα για ανάλυση χρησιμοποιώντας διάφορα εργαλεία αναφοράς. Στη συνέχεια τα δεδομένα (ολικά ή εν μέρει) προετοιμάζονται για ανάλυση OLAP. Μπορούν να φορτωθούν σε μια ειδική βάση δεδομένων OLAP ή να αποθηκευτούν σε σχεσιακή αποθήκευση. Το πιο σημαντικό στοιχείο του είναι τα μεταδεδομένα, δηλαδή πληροφορίες σχετικά με τη δομή, την τοποθέτηση και τον μετασχηματισμό των δεδομένων. Χάρη σε αυτά, διασφαλίζεται η αποτελεσματική αλληλεπίδραση των διαφόρων στοιχείων αποθήκευσης.

    Συνοψίζοντας, μπορούμε να ορίσουμε το OLAP ως ένα σύνολο εργαλείων για πολυδιάστατη ανάλυση δεδομένων που συγκεντρώνονται σε μια αποθήκη. Θεωρητικά, τα εργαλεία OLAP μπορούν να εφαρμοστούν απευθείας σε επιχειρησιακά δεδομένα ή στα ακριβή αντίγραφά τους (ώστε να μην παρεμβαίνουν στους λειτουργικούς χρήστες). Ωστόσο, κινδυνεύουμε να πατήσουμε το γκανιότα που ήδη περιγράφηκε παραπάνω, δηλαδή να αρχίσουμε να αναλύουμε επιχειρησιακά δεδομένα που δεν είναι άμεσα κατάλληλα για ανάλυση.

    Ορισμός και βασικές έννοιες του OLAP

    Αρχικά, ας αποκρυπτογραφήσουμε: Το OLAP είναι Online Analytical Processing, δηλαδή ανάλυση επιχειρησιακών δεδομένων. Οι 12 καθοριστικές αρχές του OLAP διατυπώθηκαν το 1993 από τον E. F. Codd, τον «εφευρέτη» των σχεσιακών βάσεων δεδομένων. Αργότερα, ο ορισμός του μετατράπηκε στη λεγόμενη δοκιμή FASMI, η οποία απαιτεί η εφαρμογή OLAP να παρέχει τη δυνατότητα γρήγορης ανάλυσης κοινών πολυδιάστατων πληροφοριών ().

    Τεστ FASMI

    Γρήγορα(Γρήγορη) - η ανάλυση πρέπει να πραγματοποιείται εξίσου γρήγορα σε όλες τις πτυχές των πληροφοριών. Ο αποδεκτός χρόνος απόκρισης είναι 5 δευτερόλεπτα ή λιγότερο.

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

    Κοινή χρήση(Κοινόχρηστο) - πολλοί χρήστες πρέπει να έχουν πρόσβαση στα δεδομένα, ενώ είναι απαραίτητο να ελέγχεται η πρόσβαση σε εμπιστευτικές πληροφορίες.

    Πολυδιάστατο(Πολυδιάστατο) είναι το κύριο, πιο ουσιαστικό χαρακτηριστικό του OLAP.

    Πληροφορίες(Πληροφορίες) - η εφαρμογή πρέπει να έχει πρόσβαση σε όλες τις απαραίτητες πληροφορίες, ανεξάρτητα από τον όγκο και τη θέση αποθήκευσης.

    OLAP = Πολυδιάστατη προβολή = Κύβος

    Το OLAP παρέχει εύχρηστα, γρήγορα μέσα πρόσβασης, προβολής και ανάλυσης επιχειρηματικών πληροφοριών. Ο χρήστης λαμβάνει ένα φυσικό, διαισθητικό μοντέλο δεδομένων, οργανώνοντάς τα με τη μορφή πολυδιάστατων κύβων (Cubes). Οι άξονες του πολυδιάστατου συστήματος συντεταγμένων είναι τα κύρια χαρακτηριστικά της αναλυόμενης επιχειρηματικής διαδικασίας. Για παράδειγμα, για τις πωλήσεις θα μπορούσε να είναι προϊόν, περιοχή, τύπος αγοραστή. Ο χρόνος χρησιμοποιείται ως μία από τις διαστάσεις. Στις διασταυρώσεις των αξόνων - διαστάσεων (Διαστάσεις) - υπάρχουν δεδομένα που ποσοτικά χαρακτηρίζουν τη διαδικασία - μέτρα (Μέτρα). Αυτό μπορεί να είναι όγκοι πωλήσεων σε κομμάτια ή σε χρηματικούς όρους, υπόλοιπα αποθεμάτων, κόστος κ.λπ. Ο χρήστης που αναλύει τις πληροφορίες μπορεί να «κόψει» τον κύβο σε διαφορετικές κατευθύνσεις, λαμβάνει συνοπτικές (για παράδειγμα, ανά έτος) ή, αντίθετα, λεπτομερείς (ανά εβδομάδα) πληροφορίες και πραγματοποιεί άλλους χειρισμούς που του έρχονται στο μυαλό κατά τη διαδικασία ανάλυσης.

    Ως μέτρα στον τρισδιάστατο κύβο που φαίνεται στο Σχ. 2, τα ποσά πωλήσεων χρησιμοποιούνται και ο χρόνος, το προϊόν και το κατάστημα χρησιμοποιούνται ως διαστάσεις. Οι μετρήσεις παρουσιάζονται σε συγκεκριμένα επίπεδα ομαδοποίησης: τα προϊόντα ομαδοποιούνται ανά κατηγορία, καταστήματα ανά χώρα και δεδομένα χρονισμού συναλλαγών ανά μήνα. Λίγο αργότερα θα δούμε αναλυτικότερα τα επίπεδα ομαδοποίησης (ιεραρχίας).


    Ρύζι. 2. Παράδειγμα κύβου

    «Κοπή» κύβου

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

    Μια δισδιάστατη αναπαράσταση ενός κύβου μπορεί να ληφθεί «κόβοντάς» τον σε έναν ή περισσότερους άξονες (διαστάσεις): καθορίζουμε τις τιμές όλων των διαστάσεων εκτός από δύο και παίρνουμε έναν κανονικό δισδιάστατο πίνακα. Ο οριζόντιος άξονας του πίνακα (κεφαλίδες στηλών) αντιπροσωπεύει μια διάσταση, ο κατακόρυφος άξονας (κεφαλίδες σειρών) αντιπροσωπεύει μια άλλη και τα κελιά του πίνακα αντιπροσωπεύουν τις τιμές των μέτρων. Σε αυτήν την περίπτωση, ένα σύνολο μετρήσεων θεωρείται στην πραγματικότητα ως μία από τις διαστάσεις - είτε επιλέγουμε ένα μέτρο για εμφάνιση (και στη συνέχεια μπορούμε να τοποθετήσουμε δύο διαστάσεις στις επικεφαλίδες γραμμής και στήλης), είτε εμφανίζουμε πολλές μετρήσεις (και μετά ένα από τα οι άξονες του πίνακα θα καταλαμβάνονται από τα ονόματα των μέτρων, και τα άλλα - τιμές της μοναδικής "άκοπης" διάστασης).

    Ρίξτε μια ματιά στο σύκο. 3 - εδώ είναι μια δισδιάστατη φέτα του κύβου για ένα μέτρο - Πωλήσεις μονάδων (που πωλούνται τεμάχια) και δύο "άκοπες" διαστάσεις - Κατάστημα (Κατάστημα) και Χρόνος (Χρόνος).


    Ρύζι. 3. Δισδιάστατη φέτα κύβου για ένα μέτρο

    Στο Σχ. Το Σχήμα 4 δείχνει μόνο μία "μη κομμένη" ιδιότητα - Κατάστημα, αλλά εμφανίζει τις τιμές πολλών μετρήσεων - Πωλήσεις μονάδας (πωλήσεις μονάδων), Πωλήσεις καταστήματος (ποσό πώλησης) και Κόστος καταστήματος (έξοδα καταστήματος).


    Ρύζι. 4. Δισδιάστατη φέτα κύβου για πολλαπλά μέτρα

    Μια δισδιάστατη αναπαράσταση ενός κύβου είναι επίσης δυνατή όταν περισσότερες από δύο διαστάσεις παραμένουν «άκοπες». Σε αυτήν την περίπτωση, δύο ή περισσότερες διαστάσεις του «κομμένου» κύβου θα τοποθετηθούν στους άξονες τομής (γραμμές και στήλες) - βλ. 5.


    Ρύζι. 5. Δισδιάστατη φέτα κύβου με πολλαπλές διαστάσεις σε έναν άξονα

    Ετικέτες

    Οι τιμές "που τοποθετούνται" κατά μήκος των διαστάσεων ονομάζονται μέλη ή ετικέτες. Οι ετικέτες χρησιμοποιούνται τόσο για την «κοπή» του κύβου και για τον περιορισμό (φιλτράρισμα) των επιλεγμένων δεδομένων - όταν σε μια διάσταση που παραμένει «άκοπη» δεν μας ενδιαφέρουν όλες οι τιμές, αλλά ένα υποσύνολο αυτών, για παράδειγμα, τρεις πόλεις από πολλές δεκάδες. Οι τιμές των ετικετών εμφανίζονται στην προβολή 2D κύβου ως επικεφαλίδες σειρών και στηλών.

    Ιεραρχίες και επίπεδα

    Οι ετικέτες μπορούν να συνδυαστούν σε ιεραρχίες που αποτελούνται από ένα ή περισσότερα επίπεδα. Για παράδειγμα, οι ετικέτες της ιδιότητας Store ομαδοποιούνται φυσικά σε μια ιεραρχία με επίπεδα:

    Χώρα

    κατάσταση

    Πόλη

    Κατάστημα.

    Οι συγκεντρωτικές τιμές υπολογίζονται σύμφωνα με τα επίπεδα ιεραρχίας, για παράδειγμα όγκος πωλήσεων για τις ΗΠΑ (επίπεδο "Χώρα") ή για την Καλιφόρνια (επίπεδο "Πολιτεία"). Είναι δυνατό να εφαρμοστούν περισσότερες από μία ιεραρχία σε μία διάσταση - ας πούμε, για το χρόνο: (Έτος, Τρίμηνο, Μήνας, Ημέρα) και (Έτος, Εβδομάδα, Ημέρα).

    Αρχιτεκτονική εφαρμογών OLAP

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

    Η πολυδιάσταση στις εφαρμογές OLAP μπορεί να χωριστεί σε τρία επίπεδα:

    • Πολυδιάστατη αναπαράσταση δεδομένων - εργαλεία τελικού χρήστη που παρέχουν πολυδιάστατη απεικόνιση και χειρισμό δεδομένων. στρώμα πολυδιάστατη αναπαράστασηαφαιρεί από τη φυσική δομή των δεδομένων και αντιλαμβάνεται τα δεδομένα ως πολυδιάστατα.
    • Πολυδιάστατη επεξεργασία - ένα εργαλείο (γλώσσα) για τη διαμόρφωση πολυδιάστατων ερωτημάτων (παραδοσιακή σχεσιακή Γλώσσα SQLαποδεικνύεται ακατάλληλο εδώ) και ένας επεξεργαστής ικανός να επεξεργαστεί και να εκτελέσει ένα τέτοιο αίτημα.
    • Η πολυδιάστατη αποθήκευση είναι ένα μέσο φυσικής οργάνωσης δεδομένων που διασφαλίζει την αποτελεσματική εκτέλεση πολυδιάστατων ερωτημάτων.

    Τα δύο πρώτα επίπεδα είναι υποχρεωτικά σε όλα τα εργαλεία OLAP. Το τρίτο επίπεδο, αν και ευρέως διαδεδομένο, δεν είναι απαραίτητο, καθώς τα δεδομένα για μια πολυδιάστατη αναπαράσταση μπορούν να εξαχθούν από συνηθισμένες σχεσιακές δομές. Ο πολυδιάστατος επεξεργαστής ερωτημάτων σε αυτήν την περίπτωση μεταφράζει τα πολυδιάστατα ερωτήματα σε ερωτήματα SQL που εκτελούνται από το σχεσιακό DBMS.

    Τα συγκεκριμένα προϊόντα OLAP, κατά κανόνα, είναι είτε ένα πολυδιάστατο εργαλείο αναπαράστασης δεδομένων, ένας πελάτης OLAP (για παράδειγμα, Συγκεντρωτικοί πίνακες στο Excel 2000 από τη Microsoft ή ProClarity από την Knosys), είτε ένας πολυδιάστατος διακομιστής DBMS, ένας διακομιστής OLAP (για παράδειγμα, Oracle Express Server ή Microsoft OLAP Services).

    Το πολυδιάστατο επίπεδο επεξεργασίας είναι συνήθως ενσωματωμένο στον υπολογιστή-πελάτη OLAP και/ή στον διακομιστή OLAP, αλλά μπορεί να απομονωθεί στην καθαρή του μορφή, όπως το στοιχείο της Υπηρεσίας Συγκεντρωτικού Πίνακα της Microsoft.

    Τεχνικές πτυχές της πολυδιάστατης αποθήκευσης δεδομένων

    Όπως αναφέρθηκε παραπάνω, τα εργαλεία ανάλυσης OLAP μπορούν επίσης να εξάγουν δεδομένα απευθείας από σχεσιακά συστήματα. Αυτή η προσέγγιση ήταν πιο ελκυστική εκείνες τις μέρες που οι διακομιστές OLAP δεν περιλαμβάνονταν στους τιμοκαταλόγους των κορυφαίων κατασκευαστών DBMS. Σήμερα, όμως, η Oracle, η Informix και η Microsoft προσφέρουν πλήρεις διακομιστές OLAP, και ακόμη και εκείνοι οι διαχειριστές IT που δεν τους αρέσει να δημιουργούν ένα «ζωολογικό κήπο» λογισμικού από διαφορετικούς κατασκευαστές στα δίκτυά τους μπορούν να αγοράσουν (ή μάλλον, να υποβάλουν ένα αντίστοιχο αίτημα σε η διαχείριση της εταιρείας ) διακομιστής OLAP της ίδιας μάρκας με τον κύριο διακομιστή βάσης δεδομένων.

    Οι διακομιστές OLAP, ή οι διακομιστές πολυδιάστατων βάσεων δεδομένων, μπορούν να αποθηκεύσουν τα πολυδιάστατα δεδομένα τους με διαφορετικούς τρόπους. Πριν εξετάσουμε αυτές τις μεθόδους, πρέπει να μιλήσουμε για μια τόσο σημαντική πτυχή όπως η αποθήκευση μονάδων. Γεγονός είναι ότι σε κάθε αποθήκη δεδομένων - τόσο συνηθισμένη όσο και πολυδιάστατη - μαζί με λεπτομερή δεδομένα που εξάγονται από λειτουργικά συστήματα, αποθηκεύονται επίσης συνοπτικοί δείκτες (συγκεντρωτικοί δείκτες, συγκεντρώσεις), όπως το άθροισμα των όγκων πωλήσεων ανά μήνα, ανά κατηγορία αγαθών κ.λπ. Τα συγκεντρωτικά στοιχεία αποθηκεύονται ρητά με αποκλειστικό σκοπό την επιτάχυνση της εκτέλεσης των αιτημάτων. Εξάλλου, αφενός, κατά κανόνα, συσσωρεύεται πολύ μεγάλος όγκος δεδομένων στην αποθήκη και, αφετέρου, οι αναλυτές στις περισσότερες περιπτώσεις ενδιαφέρονται όχι για λεπτομερείς, αλλά για γενικευμένους δείκτες. Και αν έπρεπε να αθροίζονται εκατομμύρια μεμονωμένες πωλήσεις κάθε φορά για να υπολογιστούν οι συνολικές πωλήσεις για το έτος, η ταχύτητα θα ήταν πιθανότατα απαράδεκτη. Επομένως, κατά τη φόρτωση δεδομένων σε μια πολυδιάστατη βάση δεδομένων, υπολογίζονται και αποθηκεύονται όλοι οι συνολικοί δείκτες ή μέρος αυτών.

    Αλλά, όπως γνωρίζετε, πρέπει να πληρώσετε για τα πάντα. Και για την ταχύτητα επεξεργασίας αιτημάτων για συνοπτικά δεδομένα, πρέπει να πληρώσετε για αύξηση του όγκου δεδομένων και του χρόνου φόρτωσής τους. Επιπλέον, η αύξηση του όγκου μπορεί να γίνει κυριολεκτικά καταστροφική - σε ένα από τα δημοσιευμένα τυποποιημένες δοκιμέςένας πλήρης υπολογισμός συγκεντρωτικών στοιχείων για 10 MB αρχικών δεδομένων απαιτούσε 2,4 GB, δηλαδή τα δεδομένα αυξήθηκαν 240 φορές! Ο βαθμός «διογκώσεως» δεδομένων κατά τον υπολογισμό των αδρανών εξαρτάται από τον αριθμό των διαστάσεων του κύβου και τη δομή αυτών των διαστάσεων, δηλαδή από την αναλογία του αριθμού των «πατέρων» και των «παιδιών» σε διαφορετικά επίπεδα μέτρησης. Για την επίλυση του προβλήματος της αποθήκευσης συγκεντρωτικών στοιχείων, μερικές φορές χρησιμοποιούνται πολύπλοκα σχήματα, τα οποία καθιστούν δυνατή την επίτευξη σημαντικής αύξησης της απόδοσης ερωτήματος κατά τον υπολογισμό όχι όλων των πιθανών συγκεντρωτικών στοιχείων.

    Τώρα σχετικά με τις διάφορες επιλογές για την αποθήκευση πληροφοριών. Τόσο τα κοκκώδη δεδομένα όσο και τα συγκεντρωτικά στοιχεία μπορούν να αποθηκευτούν είτε σε σχεσιακές είτε σε πολυδιάστατες δομές. Η πολυδιάστατη αποθήκευση σάς επιτρέπει να αντιμετωπίζετε τα δεδομένα ως πολυδιάστατο πίνακα, ο οποίος εξασφαλίζει εξίσου γρήγορους υπολογισμούς των συνολικών δεικτών και διάφορους πολυδιάστατους μετασχηματισμούς κατά μήκος οποιασδήποτε από τις διαστάσεις. Πριν από λίγο καιρό, τα προϊόντα OLAP υποστήριζαν είτε σχεσιακή είτε πολυδιάστατη αποθήκευση. Σήμερα, κατά κανόνα, το ίδιο προϊόν παρέχει και τους δύο αυτούς τύπους αποθήκευσης, καθώς και έναν τρίτο τύπο - μικτό. Ισχύουν οι παρακάτω όροι:

    • MOLAP(Πολυδιάστατο OLAP) - τόσο τα λεπτομερή δεδομένα όσο και τα συγκεντρωτικά στοιχεία αποθηκεύονται σε μια πολυδιάστατη βάση δεδομένων. Σε αυτή την περίπτωση, προκύπτει ο μεγαλύτερος πλεονασμός, καθώς τα πολυδιάστατα δεδομένα περιέχουν πλήρως σχεσιακά δεδομένα.
    • ROLAP(Σχεσιακό OLAP) - τα λεπτομερή δεδομένα παραμένουν εκεί που "έζησε" αρχικά - στη σχεσιακή βάση δεδομένων. Τα συγκεντρωτικά στοιχεία αποθηκεύονται στην ίδια βάση δεδομένων σε ειδικά δημιουργημένους πίνακες υπηρεσιών.
    • HOLAP(Hybrid OLAP) - τα λεπτομερή δεδομένα παραμένουν σε ισχύ (σε μια σχεσιακή βάση δεδομένων) και τα συγκεντρωτικά στοιχεία αποθηκεύονται σε μια πολυδιάστατη βάση δεδομένων.

    Κάθε μία από αυτές τις μεθόδους έχει τα δικά της πλεονεκτήματα και μειονεκτήματα και θα πρέπει να χρησιμοποιείται ανάλογα με τις συνθήκες - τον όγκο των δεδομένων, την ισχύ του σχεσιακού DBMS κ.λπ.

    Κατά την αποθήκευση δεδομένων σε πολυδιάστατες δομές, υπάρχει πιθανό πρόβλημα «φουσκώματος» λόγω αποθήκευσης κενών τιμών. Σε τελική ανάλυση, εάν σε έναν πολυδιάστατο πίνακα υπάρχει χώρος για όλους τους πιθανούς συνδυασμούς ετικετών διαστάσεων, αλλά μόνο ένα μικρό μέρος είναι πραγματικά γεμάτο (για παράδειγμα, ορισμένα προϊόντα πωλούνται μόνο σε μικρό αριθμό περιοχών), τότε τα περισσότερα ο κύβος θα είναι κενός, αν και ο χώρος θα είναι κατειλημμένος. Τα σύγχρονα προϊόντα OLAP μπορούν να αντιμετωπίσουν αυτό το πρόβλημα.

    Συνεχίζεται. Στο μέλλον, θα μιλήσουμε για συγκεκριμένα προϊόντα OLAP που παράγονται από κορυφαίους κατασκευαστές.

    04/07/2011 Derek Comingore

    Εάν έχετε εργαστεί σε οποιονδήποτε τομέα που σχετίζεται με την τεχνολογία, πιθανότατα έχετε ακούσει τον όρο "κύβος". Ωστόσο, οι περισσότεροι συνηθισμένοι διαχειριστές και προγραμματιστές βάσεων δεδομένων δεν δούλευαν με αυτά τα αντικείμενα. Οι κύβοι παρέχουν μια ισχυρή αρχιτεκτονική δεδομένων για γρήγορη συγκέντρωση πολυδιάστατων πληροφοριών. Εάν ο οργανισμός σας χρειάζεται να αναλύσει μεγάλο όγκο δεδομένων, τότε ιδανική λύσηθα είναι ένας κύβος

    Τι είναι ο κύβος;

    Οι σχεσιακές βάσεις δεδομένων σχεδιάστηκαν για να χειρίζονται χιλιάδες ταυτόχρονες συναλλαγές διατηρώντας παράλληλα την απόδοση και την ακεραιότητα των δεδομένων. Από το σχεδιασμό, οι σχεσιακές βάσεις δεδομένων δεν είναι αποτελεσματικές στη συγκέντρωση και την αναζήτηση μεγάλου όγκου δεδομένων. Για να συγκεντρώσει και να επιστρέψει μεγάλους όγκους δεδομένων, μια σχεσιακή βάση δεδομένων πρέπει να λάβει ένα ερώτημα που βασίζεται σε σύνολο, οι πληροφορίες για το οποίο θα συλλέγονται και θα συγκεντρώνονται αμέσως. Τέτοια σχεσιακά ερωτήματα είναι πολύ ακριβά επειδή βασίζονται σε πολλαπλές συνδέσεις και αθροιστικές συναρτήσεις; Τα συγκεντρωτικά σχεσιακά ερωτήματα είναι ιδιαίτερα αναποτελεσματικά όταν εργάζεστε με μεγάλες ποσότητες δεδομένων.

    Οι κύβοι είναι πολυδιάστατες οντότητες που έχουν σχεδιαστεί για να αντιμετωπίζουν αυτήν την έλλειψη σε σχεσιακές βάσεις δεδομένων. Χρησιμοποιώντας έναν κύβο, μπορείτε να παρέχετε στους χρήστες μια δομή δεδομένων που παρέχει γρήγορη απάντηση σε ερωτήματα με μεγάλους όγκους συγκέντρωσης. Οι κύβοι εκτελούν αυτή τη «μαγεία συγκέντρωσης» συγκεντρώνοντας πρώτα δεδομένα (διαστάσεις) σε πολλαπλές διαστάσεις. Η προ-συσσωμάτωση του κύβου πραγματοποιείται συνήθως κατά την επεξεργασία. Όταν επεξεργάζεστε έναν κύβο, παράγετε προυπολογισμένες συναθροίσεις δεδομένων που αποθηκεύονται σε δυαδική μορφή στο δίσκο.

    Ο κύβος είναι η κεντρική δομή δεδομένων στο λειτουργικό σύστημαΑνάλυση δεδομένων OLAP των SQL Server Analytical Services (SSAS). Οι κύβοι συνήθως κατασκευάζονται από μια υποκείμενη σχεσιακή βάση δεδομένων που ονομάζεται μοντέλο διαστάσεων, αλλά είναι ξεχωριστές τεχνικές οντότητες. Λογικά, ένας κύβος είναι μια αποθήκη δεδομένων που αποτελείται από διαστάσεις (διαστάσεις) και μετρήσεις (μέτρα). Οι διαστάσεις περιέχουν περιγραφικά χαρακτηριστικά και ιεραρχίες, ενώ οι διαστάσεις είναι τα γεγονότα που περιγράφετε σε διαστάσεις. Οι διαστάσεις ομαδοποιούνται σε λογικούς συνδυασμούς που ονομάζονται ομάδες διαστάσεων. Συνδέετε διαστάσεις με ομάδες μέτρησης με βάση ένα χαρακτηριστικό - τον βαθμό λεπτομέρειας.

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

    Ανέφερα ότι οι κύβοι κατασκευάζονται από μια υποκείμενη σχεσιακή βάση δεδομένων που ονομάζεται μοντέλο διαστάσεων. Το μοντέλο διαστάσεων περιέχει σχεσιακούς πίνακες (γεγονός και διάσταση) που το συνδέουν με τις οντότητες του κύβου. Οι πίνακες πληροφοριών περιέχουν διαστάσεις όπως η ποσότητα ενός προϊόντος που πωλήθηκε. Οι πίνακες διαστάσεων αποθηκεύουν περιγραφικά χαρακτηριστικά, όπως ονόματα προϊόντων, ημερομηνίες και ονόματα εργαζομένων. Συνήθως, οι πίνακες γεγονότων και οι πίνακες διαστάσεων συσχετίζονται μέσω περιορισμών πρωτεύοντος ξένου κλειδιού, με τα ξένα κλειδιά να βρίσκονται στον πίνακα γεγονότων (αυτή η σχεσιακή σχέση σχετίζεται με το χαρακτηριστικό cube granularity που συζητήθηκε παραπάνω). Όταν οι πίνακες διαστάσεων συνδέονται απευθείας με έναν πίνακα γεγονότων, σχηματίζεται ένα σχήμα αστεριού. Όταν οι πίνακες διαστάσεων δεν συνδέονται απευθείας με έναν πίνακα γεγονότων, το αποτέλεσμα είναι ένα σχήμα νιφάδας χιονιού.

    Λάβετε υπόψη ότι τα μοντέλα διαστάσεων ταξινομούνται ανάλογα με την εφαρμογή. Το data mart είναι ένα μοντέλο διαστάσεων που έχει σχεδιαστεί για μια μεμονωμένη επιχειρηματική διαδικασία, όπως η διαχείριση πωλήσεων ή αποθεμάτων. Η αποθήκη δεδομένων είναι ένα μοντέλο διαστάσεων που έχει σχεδιαστεί για να συλλαμβάνει τις επιχειρησιακές διαδικασίες συστατικών, έτσι ώστε να διευκολύνει την ανάλυση διεργασιών μεταξύ επιχειρήσεων.

    Απαιτήσεις λογισμικού

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

    Το παράδειγμά μου κύβος πωλήσεων στο Διαδίκτυο θα κατασκευαστεί από τη δοκιμαστική βάση δεδομένων AdventureWorksDW 2005. Θα δημιουργήσω τον κύβο δοκιμής από ένα υποσύνολο των πινάκων που βρίσκονται στη δοκιμαστική βάση δεδομένων που θα είναι χρήσιμο για την ανάλυση δεδομένων πωλήσεων στο Διαδίκτυο. Το σχήμα 1 δείχνει τη βασική διάταξη των πινάκων της βάσης δεδομένων. Εφόσον χρησιμοποιώ την έκδοση 2005, μπορείτε να ακολουθήσετε τις οδηγίες μου χρησιμοποιώντας είτε SQL Server 2005 είτε SQL Server 2008.

    Εικόνα 1. Υποσύνολο του Adventure Works Internet Sales mart

    Μπορείτε να βρείτε τη βάση δεδομένων εκπαίδευσης Adventure WorksDW 2005 στον ιστότοπο του CodePlex: msftdbprodsamples.codeplex.com. Βρείτε τον σύνδεσμο «Οι βάσεις δεδομένων δειγμάτων προϊόντων SQL Server 2005 εξακολουθούν να είναι διαθέσιμες» (http://codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=4004). Η βάση δεδομένων εκπαίδευσης περιέχεται στο αρχείο AdventureWorksBI.msi (http://msftdbprodsamples.codeplex.com/releases/view/4004#DownloadId=11755).

    Όπως αναφέρθηκε, πρέπει να έχετε πρόσβαση σε μια παρουσία του SQL Server 2008 ή 2005, συμπεριλαμβανομένων των στοιχείων SSAS και Business Intelligence Development Studio (BIDS). Θα χρησιμοποιώ τον SQL Server 2008, οπότε ενδέχεται να δείτε κάποιες ανεπαίσθητες διαφορές εάν χρησιμοποιείτε SQL Server 2005.

    Δημιουργία έργου SSAS

    Το πρώτο πράγμα που πρέπει να κάνετε είναι να δημιουργήσετε ένα έργο SSAS χρησιμοποιώντας BIDS. Βρείτε BIDS στο μενού Έναρξη και, στη συνέχεια, στο μενού Microsoft SQL Server 2008/2005, υποστοιχείο SQL Server Business Intelligence Development Studio. Κάνοντας κλικ σε αυτό το κουμπί θα εκκινήσει το BIDS με την προεπιλεγμένη οθόνη εκκίνησης. Δημιουργώ νέο έργο SSAS επιλέγοντας Αρχείο, Νέο, Έργο. Θα δείτε το παράθυρο διαλόγου Νέο Έργο, το οποίο δείχνει το Σχήμα 1. Επιλέξτε το φάκελο Έργο Υπηρεσιών ανάλυσης και ορίστε την περιγραφή του έργου σε SQLMAG_MyFirstCube. Κάντε κλικ στο OK.

    Μόλις δημιουργηθεί το έργο, κάντε δεξί κλικ πάνω του στην Εξερεύνηση λύσεων και επιλέξτε κατάλογος συμφραζόμενωνΣτοιχείο Ιδιότητες. Τώρα επιλέξτε την ενότητα Deployment στην αριστερή πλευρά του πλαισίου διαλόγου SQLMAG_MyFirstCube: Property Pages και ελέγξτε τις ρυθμίσεις ρυθμίσεων διακομιστή προορισμού και βάσης δεδομένων, όπως δείχνει το σχήμα 2. Εάν εργάζεστε σε περιβάλλον κατανεμημένο SQL Server, θα πρέπει να πληροίτε τις προϋποθέσεις την ιδιότητα Target Server με το όνομα του διακομιστή στον οποίο πρόκειται να αναπτύξετε. Κάντε κλικ στο OK όταν είστε ικανοποιημένοι με τις ρυθμίσεις ανάπτυξης για αυτό το έργο SSAS.

    Καθορισμός της πηγής δεδομένων

    Το πρώτο αντικείμενο που πρέπει να δημιουργήσετε είναι η πηγή δεδομένων. Ένα αντικείμενο προέλευσης δεδομένων παρέχει το σχήμα και τα δεδομένα που χρησιμοποιούνται για την κατασκευή των αντικειμένων που σχετίζονται με και στη βάση του κύβου. Για να δημιουργήσετε ένα αντικείμενο προέλευσης δεδομένων στο BIDS, χρησιμοποιήστε τον Οδηγό προέλευσης δεδομένων.

    Ξεκινήστε τον Οδηγό προέλευσης δεδομένων κάνοντας δεξί κλικ στο φάκελο Προέλευση δεδομένων στον πίνακα Εξερεύνηση λύσεων και επιλέγοντας Νέα προέλευση δεδομένων. Θα διαπιστώσετε ότι η δημιουργία αντικειμένων SSAS στο BIDS έχει αναπτυξιακό χαρακτήρα. Ο οδηγός σας καθοδηγεί πρώτα στη διαδικασία δημιουργίας αντικειμένων και στις γενικές ρυθμίσεις. Στη συνέχεια, ανοίγετε το αντικείμενο SSAS που προκύπτει στον σχεδιαστή και το προσαρμόζετε λεπτομερώς εάν χρειάζεται. Μόλις ξεπεράσετε την οθόνη προτροπής, ορίστε μια νέα σύνδεση δεδομένων κάνοντας κλικ στο κουμπί Νέο. Επιλέξτε και δημιουργήστε μια νέα σύνδεση με βάση τον Native OLEDB\SQL Server Native Client 10 που δείχνει σε αυτόν που θέλετε Διακομιστής SQLΔιακομιστής που κατέχει την επιθυμητή παρουσία βάσης δεδομένων. Μπορείτε να χρησιμοποιήσετε έλεγχο ταυτότητας Windows ή SQL Server, ανάλογα με τις ρυθμίσεις περιβάλλοντος του SQL Server. Κάντε κλικ στο κουμπί Test Connection για να βεβαιωθείτε ότι έχετε αναγνωρίσει σωστά τη σύνδεση της βάσης δεδομένων και, στη συνέχεια, κάντε κλικ στο OK.

    Έπειτα έρχονται οι Πληροφορίες πλαστοπροσωπίας, οι οποίες, όπως και η συσχέτιση δεδομένων, εξαρτώνται από το πώς είναι δομημένο το περιβάλλον του SQL Server. Ο δανεισμός προνομίων είναι το πλαίσιο ασφαλείας στο οποίο βασίζεται η SSAS κατά την επεξεργασία των αντικειμένων της. Εάν διαχειρίζεστε την ανάπτυξή σας σε έναν κύριο, μεμονωμένο διακομιστή (ή φορητό υπολογιστή), όπως υποθέτω ότι είναι οι περισσότεροι αναγνώστες, μπορείτε απλώς να επιλέξετε την επιλογή Χρήση του λογαριασμού υπηρεσίας. Κάντε κλικ στο Επόμενο για να ολοκληρώσετε τον Οδηγό προέλευσης δεδομένων και να ορίσετε το AWDW2005 ως Όνομα προέλευσης δεδομένων. Είναι πολύ βολικό να μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο για σκοπούς δοκιμών, αλλά σε ένα πραγματικό περιβάλλον παραγωγής δεν είναι το πιο η καλύτερη εξάσκηση- χρησιμοποιήστε έναν λογαριασμό υπηρεσίας. Είναι καλύτερα να προσδιορίσετε τον τομέα Λογαριασμοίγια να δανειστείτε δικαιώματα σύνδεσης SSAS στην πηγή δεδομένων.

    Προβολή πηγής δεδομένων

    Για την προέλευση δεδομένων που έχετε ορίσει, το επόμενο βήμα στη διαδικασία δημιουργίας κύβου SSAS είναι να δημιουργήσετε μια προβολή προέλευσης δεδομένων (DSV). Το DSV παρέχει τη δυνατότητα διαχωρισμού του σχήματος που περιμένει ο κύβος σας από αυτό της υποκείμενης βάσης δεδομένων. Ως αποτέλεσμα, το DSV μπορεί να χρησιμοποιηθεί για την επέκταση του υποκείμενου σχεσιακού σχήματος κατά την κατασκευή ενός κύβου. Μερικά από τα βασικά χαρακτηριστικά του DSV για την επέκταση των σχημάτων προέλευσης δεδομένων περιλαμβάνουν ερωτήματα με όνομα, λογικές σχέσεις μεταξύ πινάκων και ονομασμένες υπολογιζόμενες στήλες.

    Ας προχωρήσουμε και κάντε δεξί κλικ στο φάκελο DSV και επιλέξτε Νέα Προβολή προέλευσης δεδομένων για να εκκινήσετε τον οδηγό Δημιουργία νέας προβολής DSV. Στο παράθυρο διαλόγου, στο βήμα Επιλογή προέλευσης δεδομένων, επιλέξτε μια σύνδεση σχεσιακής βάσης δεδομένων και κάντε κλικ στο Επόμενο. Επιλέξτε τους πίνακες FactInternetSales, DimProduct, DimTime, DimCustomer και κάντε κλικ στο κουμπί με ένα δεξί βέλος για να μετακινήσετε αυτούς τους πίνακες στη στήλη Συμπεριλαμβανόμενα. Τέλος, κάντε κλικ στο Επόμενο και ολοκληρώστε τον οδηγό αποδεχόμενοι το προεπιλεγμένο όνομα και κάνοντας κλικ στο Τέλος.

    Σε αυτό το σημείο, θα πρέπει να έχετε μια προβολή DSV που βρίσκεται κάτω από το φάκελο Προβολές προέλευσης δεδομένων στην Εξερεύνηση λύσεων. Κάντε διπλό κλικ στο νέο DSV για να εκκινήσετε τον σχεδιαστή DSV. Θα πρέπει να δείτε και τους τέσσερις πίνακες για ένα δεδομένο DSV, όπως φαίνεται στην Εικόνα 2.

    Δημιουργία διαστάσεων βάσης δεδομένων

    Όπως εξήγησα παραπάνω, οι ιδιότητες παρέχουν περιγραφικά χαρακτηριστικά ιδιοτήτων και ιεραρχιών που χρησιμοποιούνται για να επιτρέψουν τη συγκέντρωση πάνω από το επίπεδο λεπτομέρειας. Είναι σημαντικό να κατανοήσουμε τη διαφορά μεταξύ μιας διάστασης βάσης δεδομένων και μιας διάστασης κύβου: οι διαστάσεις από τη βάση δεδομένων παρέχουν τα υποκείμενα αντικείμενα διάστασης για τις διάφορες διαστάσεις του κύβου που θα χρησιμοποιηθούν για την κατασκευή του κύβου.

    Οι διαστάσεις της βάσης δεδομένων και του κύβου παρέχουν μια κομψή λύση σε μια έννοια που είναι γνωστή ως "διαστάσεις ρόλου". Οι διαστάσεις που βασίζονται σε ρόλους χρησιμοποιούνται όταν χρειάζεται να χρησιμοποιήσετε μια μεμονωμένη διάσταση σε έναν κύβο πολλές φορές. Η ημερομηνία είναι ένα τέλειο παράδειγμα σε αυτήν την περίπτωση κύβου: θα δημιουργήσετε μια ενιαία διάσταση ημερομηνίας και θα την αναφέρετε μία φορά για κάθε ημερομηνία για την οποία θέλετε να αναλύσετε τις διαδικτυακές πωλήσεις. Η ημερολογιακή ημερομηνία θα είναι η πρώτη διάσταση που δημιουργείτε. Κάντε δεξί κλικ στο φάκελο Dimensions στην Εξερεύνηση λύσεων και επιλέξτε New Dimension για να εκκινήσετε τον Dimension Wizard. Επιλέξτε Χρήση υπάρχοντος πίνακα και κάντε κλικ στο Επόμενο στο βήμα Επιλογή μεθόδου δημιουργίας. Στο βήμα Specify Source Information, καθορίστε τον πίνακα DimTime στην αναπτυσσόμενη λίστα Main table και κάντε κλικ στο Next. Τώρα, στο βήμα Select Dimension Attributes, πρέπει να επιλέξετε τα χαρακτηριστικά της διάστασης χρόνου. Επιλέξτε κάθε χαρακτηριστικό, όπως δείχνει το σχήμα 3.

    Κάντε κλικ στο Επόμενο. Ως τελευταίο βήμα, εισαγάγετε την Ημερομηνία Dim στο πεδίο Όνομα και κάντε κλικ στο Finish για να ολοκληρώσετε τον Οδηγό ιδιοτήτων. Θα πρέπει τώρα να δείτε τη νέα ιδιότητα Dim Date που βρίσκεται κάτω από το φάκελο Dimensions στην Εξερεύνηση λύσεων.

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

    Δημιουργία κύβου πωλήσεων στο Διαδίκτυο

    Τώρα που έχετε προετοιμάσει τις διαστάσεις της βάσης δεδομένων, μπορείτε να ξεκινήσετε την κατασκευή του κύβου. Στην Εξερεύνηση λύσεων, κάντε δεξί κλικ στο φάκελο Cubes και επιλέξτε New Cube για να εκκινήσετε τον Οδηγό Cube. Στο παράθυρο Επιλογή μεθόδου δημιουργίας, επιλέξτε την επιλογή Χρήση υπαρχόντων πινάκων. Επιλέξτε τον πίνακα FactInternetSales για Ομάδα μέτρησης στο βήμα Επιλογή πινάκων ομάδας μέτρησης. Καταργήστε την επιλογή των πλαισίων δίπλα στις διαστάσεις Κλειδί προώθησης, Κλειδί νομίσματος, Κλειδί περιοχής πωλήσεων και αριθμός αναθεώρησης στο βήμα Επιλογή μέτρων και κάντε κλικ στο Επόμενο.

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

    Κάντε κλικ στο Επόμενο για να μεταβείτε στο βήμα Ολοκλήρωση του Οδηγού και πληκτρολογήστε "Ο πρώτος μου κύβος" στο πεδίο Όνομα κύβου. Κάντε κλικ στο κουμπί Finish για να ολοκληρώσετε τη διαδικασία Create Cube Wizard.

    Διεύρυνση και Επεξεργασία ενός κύβου

    Τώρα είστε έτοιμοι να αναπτύξετε και να επεξεργαστείτε τον πρώτο κύβο. Κάντε δεξί κλικ στο νέο εικονίδιο κύβου στην Εξερεύνηση λύσεων και επιλέξτε Διαδικασία. Θα δείτε ένα πλαίσιο μηνύματος που θα δηλώνει ότι το περιεχόμενο φαίνεται να είναι ξεπερασμένο. Κάντε κλικ στο Ναι για να αναπτύξετε τον νέο κύβο στον διακομιστή προορισμού SSAS. Όταν αναπτύσσετε έναν κύβο στέλνετε αρχείο XMLγια Ανάλυση (XMLA) στον διακομιστή προορισμού SSAS, ο οποίος δημιουργεί έναν κύβο στον ίδιο τον διακομιστή. Όπως αναφέρθηκε, η επεξεργασία ενός κύβου συμπληρώνει τα δυαδικά αρχεία του στο δίσκο με δεδομένα από την κύρια πηγή, καθώς και με πρόσθετα μεταδεδομένα που έχετε προσθέσει (διαστάσεις κύβου, διαστάσεις και ρυθμίσεις).

    Μόλις ολοκληρωθεί η διαδικασία ανάπτυξης, εμφανίζεται ένα νέο πλαίσιο διαλόγου Process Cube. Κάντε κλικ στο κουμπί Εκτέλεση για να ξεκινήσει η επεξεργασία του κύβου, ο οποίος ανοίγει με το παράθυρο Process Progress. Όταν ολοκληρωθεί η επεξεργασία, κάντε κλικ στο Κλείσιμο (δύο φορές για να κλείσετε και τα δύο παράθυρα διαλόγου) για να ολοκληρώσετε τις διαδικασίες ανάπτυξης και επεξεργασίας κύβου.

    Έχετε πλέον δημιουργήσει, αναπτύξει και επεξεργαστεί τον πρώτο σας κύβο. Μπορείτε να δείτε αυτόν τον νέο κύβο κάνοντας δεξί κλικ πάνω του στο παράθυρο Εξερεύνηση λύσεων και επιλέγοντας Αναζήτηση. Σύρετε διαστάσεις στο κέντρο του συγκεντρωτικού πίνακα και χαρακτηριστικά ιδιοτήτων σε σειρές και στήλες για να εξερευνήσετε τον νέο σας κύβο. Παρατηρήστε πόσο γρήγορα επεξεργάζεται ο κύβος διάφορα ερωτήματα συνάθροισης. Τώρα μπορείτε να εκτιμήσετε την απεριόριστη ισχύ και συνεπώς την επιχειρηματική αξία του κύβου OLAP.

    Derek Comingore ( [email προστατευμένο]) είναι ανώτερος αρχιτέκτονας στο B. I. Voyage, το οποίο έχει την ιδιότητα του Microsoft Partner στον τομέα των επιχειρηματικών αναλυτικών στοιχείων. Διαθέτει τον τίτλο του SQL Server MVP και αρκετές πιστοποιήσεις της Microsoft





  • 
    Μπλουζα