Μοντελοποίηση διαστάσεων στην Αποθήκη Microsoft Fabric: Πίνακες δεδομένων
Ισχύει για:✅ Τελικό σημείο ανάλυσης SQL και Αποθήκη στο Microsoft Fabric
Σημείωμα
Αυτό το άρθρο αποτελεί μέρος της σειράς άρθρων Μοντελοποίηση διαστάσεων . Αυτή η σειρά εστιάζει σε οδηγίες και βέλτιστες πρακτικές σχεδίασης που σχετίζονται με τη μοντελοποίηση διαστάσεων στο Microsoft Fabric Warehouse.
Αυτό το άρθρο σάς παρέχει οδηγίες και βέλτιστες πρακτικές για τη σχεδίαση πινάκων δεδομένων σε ένα διαστατικό μοντέλο. Παρέχει πρακτικές οδηγίες για την Warehouse στο Microsoft Fabric, η οποία είναι μια εμπειρία που υποστηρίζει πολλές δυνατότητες T-SQL, όπως η δημιουργία πινάκων και η διαχείριση δεδομένων σε πίνακες. Επομένως, έχετε τον πλήρη έλεγχο της δημιουργίας πινάκων μοντέλων διαστάσεων και της φόρτωσής τους με δεδομένα.
Σημείωμα
Σε αυτό το άρθρο, ο όρος αποθήκη δεδομένων αναφέρεται σε μια εταιρική αποθήκη δεδομένων, η οποία παρέχει ολοκληρωμένη ενοποίηση κρίσιμων δεδομένων σε ολόκληρο τον οργανισμό. Αντίθετα, η μεμονωμένη αποθήκη όρων αναφέρεται σε μια Αποθήκη Fabric, η οποία είναι μια προσφορά σχεσιακής βάσης δεδομένων λογισμικού ως υπηρεσίας (SaaS), την οποία μπορείτε να χρησιμοποιήσετε για να υλοποιήσετε μια αποθήκη δεδομένων. Για λόγους σαφήνειας, σε αυτό το άρθρο το τελευταίο αναφέρεται ως Fabric Warehouse.
Φιλοδώρημα
Εάν δεν είστε ικανοποιημένοι με τη μοντελοποίηση διαστάσεων, εξετάστε αυτή τη σειρά άρθρων το πρώτο σας βήμα. Δεν προορίζεται για να παρέχει μια πλήρη συζήτηση σχετικά με τη σχεδίαση μοντελοποίησης διαστάσεων. Για περισσότερες πληροφορίες, ανατρέξτε απευθείας σε ευρέως δημοσιευμένο περιεχόμενο, όπως το Κιτ εργαλείων αποθήκης δεδομένων: Ο απόλυτος οδηγός για τη μοντελοποίηση διαστάσεων (3η έκδοση, 2013) του Ralph Kimball και άλλους.
Σε ένα διαστατικό μοντέλο, ένας πίνακας δεδομένων αποθηκεύει μετρήσεις που σχετίζονται με παρατηρήσεις ή συμβάντα. Θα μπορούσε να αποθηκεύει παραγγελίες πωλήσεων, υπόλοιπα αποθέματος, συναλλαγματικές ισοτιμίες, ενδείξεις θερμοκρασίας και πολλά άλλα.
Οι πίνακες δεδομένων περιλαμβάνουν μετρήσεις, οι οποίες είναι συνήθως αριθμητικές στήλες, όπως ποσότητα παραγγελίας πωλήσεων. Τα ερωτήματα ανάλυσης συνοψίζουν μετρήσεις (χρησιμοποιώντας το άθροισμα, το πλήθος, τον μέσο όρο και άλλες συναρτήσεις) στο περιβάλλον φίλτρων διαστάσεων και ομαδοποιήσεων.
Οι πίνακες δεδομένων περιλαμβάνουν επίσης κλειδιά διαστάσεων, τα οποία καθορίζουν τη διαστατικότητα των δεδομένων. Οι τιμές κλειδιών διαστάσεων προσδιορίζουν την υποδιαίρεση των δεδομένων, το οποίο είναι το ατομικό επίπεδο από το οποίο ορίζονται τα δεδομένα. Για παράδειγμα, ένα κλειδί διάστασης ημερομηνίας παραγγελίας σε έναν πίνακα δεδομένων πωλήσεων ορίζει τις λεπτομέρειες των στοιχείων στο επίπεδο ημερομηνίας, ενώ ένα κλειδί διάστασης ημερομηνίας-στόχου σε έναν πίνακα δεδομένων προορισμού πωλήσεων θα μπορούσε να ορίσει την υποδιαίρεση σε επίπεδο τριμήνου.
Σημείωμα
Ενώ είναι δυνατή η αποθήκευση στοιχείων σε υψηλότερο επίπεδο υποδιαίρεσης, δεν είναι εύκολο να διαιρέσετε τις τιμές μέτρησης σε χαμηλότερα επίπεδα υποδιαίρεσης (εάν απαιτείται). Οι μεγαλύτεροι όγκοι δεδομένων, σε συνδυασμό με τις απαιτήσεις ανάλυσης, μπορεί να παρέχουν έγκυρους λόγους για την αποθήκευση στοιχείων με μεγαλύτερη λεπτομέρεια, αλλά εις βάρος της λεπτομερούς ανάλυσης.
Για να προσδιορίσετε εύκολα πίνακες δεδομένων, συνήθως προσθέτετε ένα πρόθεμα στα ονόματά f_
τους ή Fact_
.
Δομή πίνακα δεδομένων
Για να περιγράψετε τη δομή ενός πίνακα δεδομένων, εξετάστε το παρακάτω παράδειγμα ενός πίνακα δεδομένων πωλήσεων με την ονομασία f_Sales
. Αυτό το παράδειγμα εφαρμόζει ορθές πρακτικές σχεδίασης. Καθεμία από τις ομάδες στηλών περιγράφεται στις παρακάτω ενότητες.
CREATE TABLE f_Sales
(
--Dimension keys
OrderDate_Date_FK INT NOT NULL,
ShipDate_Date_FK INT NOT NULL,
Product_FK INT NOT NULL,
Salesperson_FK INT NOT NULL,
<…>
--Attributes
SalesOrderNo INT NOT NULL,
SalesOrderLineNo SMALLINT NOT NULL,
--Measures
Quantity INT NOT NULL,
<…>
--Audit attributes
AuditMissing BIT NOT NULL,
AuditCreatedDate DATE NOT NULL,
AuditCreatedBy VARCHAR(15) NOT NULL,
AuditLastModifiedDate DATE NOT NULL,
AuditLastModifiedBy VARCHAR(15) NOT NULL
);
Πρωτεύον κλειδί
Όπως συμβαίνει στο παράδειγμα, το δείγμα πίνακα δεδομένων δεν διαθέτει πρωτεύον κλειδί. Αυτό συμβαίνει επειδή συνήθως δεν εξυπηρετεί έναν χρήσιμο σκοπό και θα αύξανε άσκοπα το μέγεθος του χώρου αποθήκευσης πινάκων. Ένα πρωτεύον κλειδί συχνά υπονοείται από το σύνολο των κλειδιών διαστάσεων και χαρακτηριστικών.
Κλειδιά διαστάσεων
Το δείγμα πίνακα δεδομένων έχει διάφορα κλειδιά διαστάσεων , τα οποία καθορίζουν τη διαστατικότητα του πίνακα δεδομένων. Τα κλειδιά διαστάσεων είναι αναφορές στα υποκατάστατα κλειδιά (ή χαρακτηριστικά υψηλότερου επιπέδου) στις σχετικές διαστάσεις.
Σημείωμα
Είναι ένας ασυνήθιστος πίνακας δεδομένων που δεν περιλαμβάνει τουλάχιστον ένα κλειδί διάστασης ημερομηνίας.
Ένας πίνακας δεδομένων μπορεί να αναφέρει μια διάσταση πολλές φορές. Σε αυτήν την περίπτωση, είναι γνωστή ως διάσταση αναπαραγωγής ρόλων. Σε αυτό το παράδειγμα, ο πίνακας δεδομένων έχει τα OrderDate_Date_FK
κλειδιά διαστάσεων και .ShipDate_Date_FK
Κάθε κλειδί διάστασης αντιπροσωπεύει έναν διακριτό ρόλο, όμως υπάρχει μόνο μία φυσική διάσταση ημερομηνίας.
Είναι καλή πρακτική να ορίζετε κάθε κλειδί διάστασης ως NOT NULL
. Κατά τη φόρτωση του πίνακα δεδομένων, μπορείτε να χρησιμοποιήσετε ειδικά μέλη διάστασης για να αντιπροσωπεύσετε καταστάσεις που απουσιάζουν, είναι άγνωστο, Δ/Υ ή καταστάσεις σφάλματος (εάν είναι απαραίτητο).
Χαρακτηριστικά
Το δείγμα πίνακα δεδομένων έχει δύο χαρακτηριστικά. Τα χαρακτηριστικά παρέχουν πρόσθετες πληροφορίες και ορίζουν τις λεπτομέρειες των δεδομένων δεδομένων, αλλά δεν είναι ούτε κλειδιά διαστάσεων ούτε χαρακτηριστικά διάστασης, ούτε μετρήσεις. Σε αυτό το παράδειγμα, οι στήλες χαρακτηριστικών αποθηκεύουν πληροφορίες παραγγελιών πωλήσεων. Άλλα παραδείγματα μπορεί να περιλαμβάνουν την παρακολούθηση αριθμών ή αριθμών δελτίων. Για σκοπούς ανάλυσης, ένα χαρακτηριστικό μπορεί να σχηματίσει μια εκφυλιστή διάσταση.
Μετρήσεις
Το δείγμα πίνακα δεδομένων διαθέτει επίσης μετρήσεις, όπως η Quantity
στήλη. Οι στήλες μέτρησης είναι συνήθως αριθμητικές και συνήθως προσθετικές (δηλαδή μπορούν να συνοψιστούν και να συνοψιστούν χρησιμοποιώντας άλλες συναθροίσεις). Για περισσότερες πληροφορίες, ανατρέξτε στην ενότητα Τύποι μετρήσεων παρακάτω σε αυτό το άρθρο.
Χαρακτηριστικά ελέγχου
Το δείγμα πίνακα δεδομένων διαθέτει επίσης διάφορα χαρακτηριστικά ελέγχου. Τα χαρακτηριστικά ελέγχου είναι προαιρετικά. Σας επιτρέπουν να παρακολουθείτε πότε και πώς δημιουργήθηκαν ή τροποποιήθηκαν οι εγγραφές δεδομένων και μπορούν να περιλαμβάνουν πληροφορίες διαγνωστικών ή αντιμετώπισης προβλημάτων που προκύπτουν κατά τις διαδικασίες εξαγωγής, μετασχηματισμού και φόρτωσης (ETL). Για παράδειγμα, θα θέλετε να παρακολουθείτε ποιος (ή ποια διαδικασία) ενημέρωσε μια γραμμή και πότε. Τα χαρακτηριστικά ελέγχου μπορούν επίσης να βοηθήσουν στη διάγνωση ενός δύσκολου προβλήματος, όπως όταν μια διαδικασία ETL σταματά απροσδόκητα.
Μέγεθος πίνακα δεδομένων
Οι πίνακες δεδομένων διαφέρουν σε μέγεθος. Το μέγεθός τους αντιστοιχεί στην διαστατικότητα, την υποδιαίρεση, τον αριθμό των μετρήσεων και το μέγεθος του ιστορικού. Σε σύγκριση με τους πίνακες διαστάσεων, οι πίνακες δεδομένων είναι πιο στενοί (λιγότερες στήλες), αλλά μεγάλοι ή ακόμα και τεράστιοι όσον αφορά τις γραμμές (πάνω από δισεκατομμύρια).
Έννοιες σχεδίασης δεδομένων
Αυτή η ενότητα περιγράφει διάφορες έννοιες σχεδίασης δεδομένων.
Τύποι πινάκων δεδομένων
Υπάρχουν τρεις τύποι πινάκων δεδομένων:
- Πίνακες δεδομένων συναλλαγών
- Πίνακες δεδομένων περιοδικών στιγμιοτύπων
- Συσσώρευση πινάκων δεδομένων στιγμιότυπου αναφοράς
Πίνακες δεδομένων συναλλαγών
Ένας πίνακας δεδομένων συναλλαγών αποθηκεύει επιχειρηματικά συμβάντα ή συναλλαγές. Κάθε γραμμή αποθηκεύει δεδομένα όσον αφορά τα κλειδιά διαστάσεων και τις μετρήσεις και, προαιρετικά, άλλα χαρακτηριστικά. Όλα τα δεδομένα είναι πλήρως γνωστά όταν εισάγονται και δεν αλλάζουν ποτέ (εκτός από την επίλυση σφαλμάτων).
Συνήθως, οι πίνακες δεδομένων συναλλαγών αποθηκεύουν δεδομένα στο χαμηλότερο δυνατό επίπεδο υποδιαίρεσης και περιέχουν μετρήσεις που είναι προσθετικές σε όλες τις διαστάσεις. Ένας πίνακας δεδομένων πωλήσεων που αποθηκεύει κάθε γραμμή παραγγελίας πωλήσεων είναι ένα καλό παράδειγμα ενός πίνακα δεδομένων συναλλαγών.
Πίνακες δεδομένων περιοδικών στιγμιοτύπων
Ένας περιοδικός πίνακας δεδομένων στιγμιότυπου αναφοράς αποθηκεύει μετρήσεις σε ένα προκαθορισμένο χρονικό διάστημα ή συγκεκριμένα διαστήματα. Παρέχει μια σύνοψη βασικών μετρικών ή δεικτών απόδοσης με την πάροδο του χρόνου και, επομένως, είναι χρήσιμη για την ανάλυση τάσεων και την παρακολούθηση αλλαγών με την πάροδο του χρόνου. Οι μετρήσεις είναι πάντα ημιπροσθετικά (περιγράφονται αργότερα).
Ένας πίνακας δεδομένων απογραφής είναι ένα καλό παράδειγμα ενός πίνακα περιοδικών στιγμιοτύπων. Φορτώνεται καθημερινά με το υπόλοιπο αποθέματος κάθε προϊόντος στο τέλος της ημέρας.
Οι πίνακες στιγμιοτύπων αναφοράς μπορούν να χρησιμοποιηθούν αντί για έναν πίνακα δεδομένων συναλλαγών κατά την εγγραφή μεγάλων όγκων συναλλαγών είναι δαπανηροί και δεν υποστηρίζουν χρήσιμες απαιτήσεις ανάλυσης. Για παράδειγμα, μπορεί να υπάρχουν εκατομμύρια κινήσεις μετοχών σε μια ημέρα (οι οποίες θα μπορούσαν να αποθηκευτούν σε έναν πίνακα δεδομένων συναλλαγών), αλλά η ανάλυσή σας αφορά μόνο τις τάσεις των επιπέδων αποθέματος στο τέλος της ημέρας.
Συσσώρευση πινάκων δεδομένων στιγμιότυπου αναφοράς
Ένας πίνακας δεδομένων στιγμιότυπου αναφοράς αποθηκεύει μετρήσεις που συσσωρεύονται σε μια σαφώς καθορισμένη περίοδο ή ροή εργασιών. Συχνά καταγράφει την κατάσταση μιας επιχειρηματικής διαδικασίας σε διακριτά στάδια ή ορόσημα, τα οποία μπορεί να χρειαστούν ημέρες, εβδομάδες ή ακόμα και μήνες για να ολοκληρωθούν.
Μια γραμμή δεδομένων φορτώνεται λίγο μετά το πρώτο συμβάν σε μια διαδικασία και, στη συνέχεια, η γραμμή ενημερώνεται με μια προβλέψιμη ακολουθία κάθε φορά που παρουσιάζεται ένα συμβάν ορόσημου. Οι ενημερώσεις συνεχίζονται μέχρι να ολοκληρωθεί η διαδικασία.
Η συσσώρευση πίνακα δεδομένων στιγμιότυπου έχει πολλαπλά κλειδιά διαστάσεων ημερομηνίας, κάθε ένα από τα οποία αντιπροσωπεύει ένα συμβάν ορόσημου. Ορισμένα κλειδιά διαστάσεων μπορεί να καταγράψουν μια κατάσταση Δ/Υ μέχρι η διαδικασία να φτάσει σε ένα συγκεκριμένο ορόσημο. Οι μετρήσεις συνήθως καταγράφουν διάρκειες. Οι διάρκειες μεταξύ των ορόσημων μπορούν να παρέχουν πολύτιμες πληροφορίες για μια επιχειρηματική ροή εργασιών ή διαδικασία συγκρότησης.
Τύποι μετρήσεων
Οι μετρήσεις είναι συνήθως αριθμητικές και συνήθως προσθετικές. Ωστόσο, ορισμένες μετρήσεις δεν μπορούν να προστεθούν πάντα. Αυτές οι μετρήσεις ταξινομούνται είτε ως ημιπροσθετικά είτε ως μη προσθετικά.
Προσθετικές μετρήσεις
Μια προσθετική μέτρηση μπορεί να αθροιστεί σε οποιαδήποτε διάσταση. Για παράδειγμα, η ποσότητα παραγγελίας και τα έσοδα πωλήσεων είναι προσθετικές μετρήσεις (με την προϋπόθεση ότι τα έσοδα καταγράφονται για ένα ενιαίο νόμισμα).
Ημιπροσθετικά μέτρα
Μια ημιπροσθετρική μέτρηση μπορεί να αθροιστεί μόνο σε ορισμένες διαστάσεις.
Ακολουθούν ορισμένα παραδείγματα ημιπροσθετικών μετρήσεων.
- Οποιαδήποτε μέτρηση σε έναν πίνακα δεδομένων περιοδικού στιγμιότυπου δεν μπορεί να αθροιστεί σε άλλες χρονικές περιόδους. Για παράδειγμα, δεν θα πρέπει να αθροίζετε την ηλικία ενός στοιχείου αποθέματος στην οποία γίνεται δειγματοληψία κάθε βράδυ, αλλά θα μπορούσατε να συνοψίσετε την ηλικία όλων των στοιχείων αποθέματος σε ένα ράφι, κάθε βράδυ.
- Μια μέτρηση υπολοίπου αποθέματος σε έναν πίνακα δεδομένων απογραφής δεν μπορεί να αθροιστεί σε άλλα προϊόντα.
- Τα έσοδα πωλήσεων σε έναν πίνακα δεδομένων πωλήσεων που διαθέτει ένα κλειδί διάστασης νομίσματος δεν μπορούν να συνοψιστούν σε νομίσματα.
Μη προσθετικές μετρήσεις
Μια μη προσθετική μέτρηση δεν μπορεί να αθροιστεί σε καμία διάσταση. Ένα παράδειγμα είναι μια ένδειξη θερμοκρασίας, η οποία από τη φύση της δεν έχει νόημα να προστεθεί σε άλλες ενδείξεις.
Άλλα παραδείγματα περιλαμβάνουν τιμές, όπως τιμές μονάδας και αναλογίες. Ωστόσο, θεωρείται καλύτερη πρακτική αποθήκευσης των τιμών που χρησιμοποιούνται για τον υπολογισμό της αναλογίας, πράγμα που επιτρέπει τον υπολογισμό της αναλογίας εάν είναι απαραίτητο. Για παράδειγμα, ένα ποσοστό έκπτωσης ενός γεγονότος πωλήσεων μπορεί να αποθηκευτεί ως μέτρηση ποσού έκπτωσης (προς διαίρεση με τη μέτρηση εσόδων πωλήσεων). Ή, η ηλικία ενός στοιχείου αποθέματος στο ράφι δεν πρέπει να αθροίζεται με την πάροδο του χρόνου, αλλά μπορεί να παρατηρήσετε μια τάση στη μέση ηλικία των στοιχείων αποθέματος.
Παρόλο που ορισμένες μετρήσεις δεν μπορούν να συνοψιστούν, εξακολουθούν να είναι έγκυρες μετρήσεις. Μπορούν να συναθροιστούν χρησιμοποιώντας το πλήθος, το διακριτό πλήθος, το ελάχιστο, το μέγιστο, τον μέσο όρο και άλλα. Επίσης, οι μη προσθετικές μετρήσεις μπορούν να γίνουν προσθετικές όταν χρησιμοποιούνται σε υπολογισμούς. Για παράδειγμα, η τιμή μονάδας πολλαπλασιασμένη με την ποσότητα παραγγελίας παράγει έσοδα πωλήσεων, το οποίο είναι προσθετικό.
Πίνακες δεδομένων χωρίς δεδομένα
Όταν ένας πίνακας δεδομένων δεν περιέχει στήλες μέτρησης, ονομάζεται πίνακας δεδομένων χωρίς στοιχεία. Ένας πίνακας δεδομένων χωρίς στοιχεία καταγράφει συνήθως συμβάντα ή εμφανίσεις, όπως μαθητές που παρακολουθούν την τάξη. Από την άποψη της ανάλυσης, μια μέτρηση μπορεί να επιτευχθεί μετρώντας γραμμές δεδομένων.
Συγκεντρωτικοί πίνακες δεδομένων
Ένας πίνακας συγκεντρωτικών δεδομένων αντιπροσωπεύει μια συνάθροιση ενός πίνακα βασικών δεδομένων σε χαμηλότερη διαστατικότητα ή/και υψηλότερη υποδιαίρεση. Σκοπός του είναι να επιταχύνει την απόδοση των ερωτημάτων για διαστάσεις που υποβάλλονται συχνά σε ερωτήματα.
Σημείωμα
Ένα σημασιολογικό μοντέλο Power BI μπορεί να δημιουργήσει συναθροίσεις που ορίζονται από τον χρήστη για την επίτευξη του ίδιου αποτελέσματος ή να χρησιμοποιήσει τον πίνακα συγκεντρωτικών δεδομένων αποθήκης δεδομένων χρησιμοποιώντας τη λειτουργία αποθήκευσης DirectQuery.
Σχετικό περιεχόμενο
Στο επόμενο άρθρο αυτής της σειράς, μάθετε σχετικά με τις οδηγίες και τις βέλτιστες πρακτικές σχεδίασης για τη φόρτωση πινάκων μοντέλων διαστάσεων.