Ανάγνωση στα Αγγλικά

Κοινή χρήση μέσω


Κατανοήστε το αστεροειδές σχήμα και τη σημασία του για το Power BI

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

Σημαντικό

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

Όταν αντιμετωπίσετε αυτές τις προκλήσεις, συνιστούμε να αναπτύξετε πρώτα μια αποθήκη δεδομένων και τις διαδικασίες Εξαγωγή, Μετασχηματισμός και Φόρτωση (ETL) για την περιοδική φόρτωση της αποθήκης δεδομένων. Το σημασιολογικό μοντέλο σας μπορεί τότε να συνδεθεί στην αποθήκη δεδομένων. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Μοντελοποίηση διαστάσεων στο Microsoft Fabric Warehouse.

Φιλοδώρημα

Αυτό το άρθρο δεν προορίζεται για να παρέχει μια ολοκληρωμένη συζήτηση σχετικά με τη σχεδίαση αστεροειδούς σχήματος. Για περισσότερες πληροφορίες, ανατρέξτε απευθείας σε ευρέως δημοσιευμένο περιεχόμενο, όπως το Κιτ εργαλείων αποθήκης δεδομένων: Ο απόλυτος οδηγός για τη μοντελοποίηση διαστάσεων (3η έκδοση, 2013) του Ralph Kimball και άλλους.

Επισκόπηση αστεροειδούς σχήματος

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

  • Οι πίνακες διαστάσεων περιγράφουν επιχειρηματικές οντότητες, τα πράγματα που μοντελοποιείτε. Οι οντότητες μπορεί να περιλαμβάνουν προϊόντα, άτομα, τοποθεσίες και έννοιες, συμπεριλαμβανομένου του ίδιου του χρόνου. Ο πιο συνεπής πίνακας που θα βρείτε σε ένα αστεροειδές σχήμα είναι ένας πίνακας διαστάσεων ημερομηνιών. Ένας πίνακας διαστάσεων περιέχει μια στήλη κλειδιού (ή στήλες) που λειτουργεί ως μοναδικό αναγνωριστικό και άλλες στήλες. Άλλες στήλες υποστηρίζουν φιλτράρισμα και ομαδοποίηση των δεδομένων σας.
  • Οι πίνακες δεδομένων αποθηκεύουν παρατηρήσεις ή παραγγελίες και μπορεί να είναι παραγγελίες πωλήσεων, υπόλοιπα αποθέματος, συναλλαγματικές ισοτιμίες, θερμοκρασίες και πολλά άλλα. Ένας πίνακας δεδομένων περιέχει στήλες κλειδιών διαστάσεων που σχετίζονται με πίνακες διαστάσεων και στήλες αριθμητικών μετρήσεων. Οι στήλες κλειδιών διαστάσεων προσδιορίζουν τη διαστατικότητα ενός πίνακα δεδομένων, ενώ οι τιμές κλειδιών διαστάσεων προσδιορίζουν τις λεπτομέρειες ενός πίνακα δεδομένων. Για παράδειγμα, εξετάστε έναν πίνακα δεδομένων που έχει σχεδιαστεί για την αποθήκευση στόχων πωλήσεων με δύο στήλες κλειδιών διαστάσεων Date και ProductKey. Είναι εύκολο να κατανοήσετε ότι ο πίνακας έχει δύο διαστάσεις. Οι λεπτομέρειες, ωστόσο, δεν μπορούν να προσδιοριστούν χωρίς να λάβετε υπόψη τις τιμές κλειδιών διαστάσεων. Σε αυτό το παράδειγμα, εξετάστε ότι οι τιμές που είναι αποθηκευμένες στη Date στήλη είναι η πρώτη ημέρα κάθε μήνα. Σε αυτή την περίπτωση, οι λεπτομέρειες είναι σε επίπεδο μήνα-προϊόντος.

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

Διάγραμμα που εμφανίζει μια απεικόνιση ενός αστεροειδούς σχήματος.

Κανονικοποίηση έναντι κατάργησης κανονικοποίησης

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

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

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

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

Διάγραμμα που εμφανίζει έναν πίνακα δεδομένων που περιλαμβάνει έναν αριθμό-κλειδί προϊόντος και άλλες στήλες που σχετίζονται με το προϊόν, συμπεριλαμβανομένων των Category, Color και Size.

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

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

Συνάφεια αστεροειδούς σχήματος με σημασιολογικά μοντέλα Power BI

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

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

  • Οι πίνακες διαστάσεων επιτρέπουν το φιλτράρισμα και την ομαδοποίηση.
  • Οι πίνακες δεδομένων επιτρέπουν τη σύνοψη.

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

Διάγραμμα που εμφανίζει μια εννοιολογική απεικόνιση ενός αστεροειδούς σχήματος.

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

Τέλος, είναι σημαντικό να κατανοήσετε ότι η βέλτιστη σχεδίαση μοντέλου είναι μέρος της επιστήμης και του τμήματος τέχνης. Ορισμένες φορές μπορεί να διακόψετε τη χρήση καλών οδηγιών όταν έχει νόημα.

Υπάρχουν πολλές έννοιες που σχετίζονται με τη σχεδίαση αστεροειδούς σχήματος που μπορούν να εφαρμοστούν σε ένα σημασιολογικό μοντέλο Power BI. Αυτές οι έννοιες περιλαμβάνουν:

Μετρήσεις

Στη σχεδίαση αστεροειδούς σχήματος, μια μέτρηση είναι μια στήλη πίνακα δεδομένων που αποθηκεύει τιμές για σύνοψη. Σε ένα σημασιολογικό μοντέλο Power BI, μια μέτρηση έχει έναν διαφορετικό, αλλά παρόμοιο ορισμό. Ένα μοντέλο υποστηρίζει ρητές και έμμεσες μετρήσεις.

  • Οι ρητές μετρήσεις δημιουργούνται ρητά και βασίζονται σε έναν τύπο που συντάσσεται στο Data Analysis Expressions (DAX) και επιτυγχάνει σύνοψη. Οι παραστάσεις μέτρησης χρησιμοποιούν συχνά συναρτήσεις συνάθροισης DAX όπως SUM, , MINMAX, AVERAGEκαι άλλες για την παραγωγή ενός αποτελέσματος ανυσματικής τιμής κατά τον χρόνο ερωτήματος (οι τιμές δεν αποθηκεύονται ποτέ στο μοντέλο). Η παράσταση μέτρησης μπορεί να κυμαίνεται από απλές συναθροίσεις στηλών έως πιο εξελιγμένους τύπους που παρακάμπτουν το περιβάλλον φίλτρου ή/και τη μετάδοση σχέσεων. Για περισσότερες πληροφορίες, διαβάστε σχετικά με τα Βασικά στοιχεία DAX στο Power BI Desktop.
  • Οι έμμεσες μετρήσεις είναι στήλες που μπορούν να συνοψιστούν από μια απεικόνιση αναφοράς ή ερωτήσεις και απαντήσεις. Προσφέρουν μια διευκόλυνση για εσάς ως δημιουργός μοντέλων, καθώς σε πολλές παρουσίες δεν χρειάζεται να δημιουργήσετε (ρητές) μετρήσεις. Για παράδειγμα, η στήλη πωλήσεων Sales Amount μεταπωλητή του Adventure Works μπορεί να συνοψιστεί με πολλούς τρόπους (sum, count, average, median, min, max και άλλα), χωρίς να χρειάζεται να δημιουργήσετε μια μέτρηση για κάθε πιθανό τύπο συνάθροισης.

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

Διάγραμμα που εμφανίζει τα εικονίδια που βρέθηκαν στο τμήμα παραθύρου Δεδομένα.

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

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

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

  • Όταν θέλετε να ελέγχετε τον τρόπο με τον οποίο οι συντάκτες αναφορών σας συνοψίζουν στήλες με συγκεκριμένους τρόπους. Για παράδειγμα, η στήλη πωλήσεων Unit Price μεταπωλητή (η οποία αντιπροσωπεύει μια τιμή ανά μονάδα) μπορεί να συνοψιστεί, αλλά μόνο χρησιμοποιώντας συγκεκριμένες συναρτήσεις συνάθροισης. Δεν θα πρέπει να αθροίζεται ποτέ, αλλά είναι κατάλληλο να συνοψιστεί χρησιμοποιώντας άλλες συναρτήσεις συνάθροισης, όπως ελάχιστο, μέγιστο ή μέσο όρο. Σε αυτήν την περίπτωση, ο μοντέλο μπορεί να κρύψει τη Unit Price στήλη και να δημιουργήσει μετρήσεις για όλες τις κατάλληλες συναρτήσεις συνάθροισης.

    Αυτή η προσέγγιση σχεδίασης λειτουργεί καλά για τις αναφορές που έχουν συνταθεί στην υπηρεσία Power BI και για τις Ερωτήσεις και απαντήσεις. Ωστόσο, οι δυναμικές συνδέσεις του Power BI Desktop επιτρέπουν στους συντάκτες αναφορών να εμφανίζουν κρυφά πεδία στο τμήμα παραθύρου Δεδομένα, το οποίο μπορεί να οδηγήσει στην παράκαμψη αυτής της προσέγγισης σχεδίασης.

Υποκατάστατα κλειδιά

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

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

Διάγραμμα που εμφανίζει την εντολή

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

Διαστάσεις snowflake

Μια διάσταση snowflake είναι ένα σύνολο κανονικοποιημένων πινάκων για μια μοναδική επιχειρηματική οντότητα. Για παράδειγμα, το Adventure Works ταξινομεί προϊόντα κατά κατηγορία και υποκατηγορία. Τα προϊόντα εκχωρούνται σε υποκατηγορίες και οι υποκατηγορίες εκχωρούνται με τη σειρά τους σε κατηγορίες. Στην αποθήκη σχεσιακών δεδομένων του Adventure Works, η διάσταση προϊόντος κανονικοποιείται και αποθηκεύεται σε τρεις σχετικούς πίνακες: DimProductCategory, DimProductSubcategoryκαι DimProduct.

Διάγραμμα που εμφανίζει ένα παράδειγμα ενός διαγράμματος snowflake που αποτελείται από τρεις σχετικούς πίνακες.

Εάν χρησιμοποιήσετε τη φαντασία σας, μπορείτε να φανταστείτε τους κανονικοποιημένους πίνακες τοποθετημένους προς τα έξω από τον πίνακα δεδομένων, σχηματίζοντας μια σχεδίαση snowflake.

Διάγραμμα που εμφανίζει ένα εννοιολογικό παράδειγμα ενός διαγράμματος snowflake που αποτελείται από τρεις σχετικούς πίνακες.

Στο Power BI Desktop, μπορείτε να επιλέξετε να μιμηθείτε μια σχεδίαση διάστασης snowflake (ίσως επειδή το κάνουν τα δεδομένα προέλευσης) ή να συνδυάσετε τους πίνακες προέλευσης για να δημιουργήσετε έναν μοναδικό, αποκανονικοποιημένο πίνακα μοντέλου. Γενικά, τα οφέλη ενός μοναδικού πίνακα μοντέλου υπερτερούν των οφελών πολλών πινάκων μοντέλων. Η βέλτιστη απόφαση μπορεί να εξαρτάται από τους όγκους δεδομένων και τις απαιτήσεις χρηστικότητας για το μοντέλο.

Όταν επιλέγετε να μιμηθείτε μια σχεδίαση διάστασης snowflake:

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

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

Διάγραμμα που εμφανίζει ένα παράδειγμα μιας ιεραρχίας μέσα σε έναν πίνακα διαστάσεων που έχει στήλες όπως Κατηγορία, Υποκατηγορία και Προϊόν.

Διαστάσεις αργής αλλαγής

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

Η θεωρία σχεδίασης αστεροειδούς σχήματος αναφέρεται σε δύο συνήθεις τύπους SCD: Τύπος 1 και Τύπος 2. Ένας πίνακας διαστάσεων μπορεί να είναι Τύπου 1 ή Τύπου 2 ή να υποστηρίζει και τους δύο τύπους ταυτόχρονα για διαφορετικές στήλες.

SCD τύπου 1

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

Διάγραμμα που εμφανίζει ένα παράδειγμα ενός τύπου διάστασης αργής αλλαγής 1 όπου ενημερώνεται ένας αριθμός τηλεφώνου ενός υπαλλήλου.

Μια μη επαυξητική ανανέωση ενός πίνακα διαστάσεων μοντέλου Power BI επιτυγχάνει το αποτέλεσμα ενός SCD τύπου 1. Ανανεώνει τα δεδομένα πίνακα για να εξασφαλίσει ότι φορτώνονται οι πιο πρόσφατες τιμές.

SCD τύπου 2

Ένα SCD τύπου 2 υποστηρίζει διαχείριση εκδόσεων μελών διαστάσεων. Εάν το σύστημα προέλευσης δεν αποθηκεύει εκδόσεις, συνήθως είναι η διαδικασία φόρτωσης αποθήκης δεδομένων που εντοπίζει τις αλλαγές και διαχειρίζεται κατάλληλα την αλλαγή σε έναν πίνακα διαστάσεων. Σε αυτή την περίπτωση, ο πίνακας διαστάσεων πρέπει να χρησιμοποιεί ένα υποκατάστατο κλειδί για την παροχή μιας μοναδικής αναφοράς σε μια έκδοση του μέλους διάστασης. Περιλαμβάνει επίσης στήλες που ορίζουν την εγκυρότητα του εύρους ημερομηνιών (για παράδειγμα, StartDate και EndDate) και πιθανώς μια στήλη σημαίας (για παράδειγμα, IsCurrent) για το εύκολο φιλτράρισμα κατά τρέχοντα μέλη διάστασης.

Για παράδειγμα, το Adventure Works αντιστοιχίζει κάθε πωλητή σε μια περιοχή πωλήσεων. Όταν ένας πωλητής μετακινεί την περιοχή, πρέπει να δημιουργηθεί μια νέα έκδοση του πωλητή για να εξασφαλιστεί ότι ιστορικά δεδομένα παραμένουν σχετικά με την προηγούμενη περιοχή. Για την υποστήριξη ακριβούς ιστορικής ανάλυσης των πωλήσεων κατά πωλητή, ο πίνακας διαστάσεων πρέπει να αποθηκεύει εκδόσεις πωλητών και τις σχετικές περιοχές τους. Ο πίνακας θα πρέπει επίσης να περιλαμβάνει τιμές ημερομηνίας έναρξης και λήξης για τον ορισμό της εγκυρότητας χρόνου. Οι τρέχουσες εκδόσεις μπορεί να ορίζουν μια κενή ημερομηνία λήξης (ή 31/12/9999), το οποίο υποδεικνύει ότι η γραμμή είναι η τρέχουσα έκδοση. Ο πίνακας πρέπει επίσης να έχει ένα υποκατάστατο κλειδί καθώς το επιχειρηματικό κλειδί (σε αυτή την περίπτωση, το αναγνωριστικό υπαλλήλου) δεν θα είναι μοναδικό.

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

Είναι σημαντικό να κατανοήσετε ότι όταν τα δεδομένα προέλευσης δεν αποθηκεύουν εκδόσεις, πρέπει να χρησιμοποιήσετε ένα ενδιάμεσο σύστημα (όπως μια αποθήκη δεδομένων) για τον εντοπισμό και την αποθήκευση αλλαγών. Η διαδικασία φόρτωσης πίνακα πρέπει να διατηρεί υπάρχοντα δεδομένα και να εντοπίζει αλλαγές. Όταν ανιχνεύεται μια αλλαγή, η διαδικασία φόρτωσης πίνακα πρέπει να λήγει στην τρέχουσα έκδοση. Καταγράφει αυτές τις αλλαγές ενημερώνοντας την EndDate τιμή και εισάγοντας μια νέα έκδοση με την StartDate τιμή να ξεκινά από την προηγούμενη EndDate τιμή. Επίσης, σχετικά δεδομένα πρέπει να χρησιμοποιούν μια αναζήτηση βάσει χρόνου για την ανάκτηση της τιμής κλειδιού διαστάσεων που σχετίζεται με την ημερομηνία δεδομένων. Ένα σημασιολογικό μοντέλο Power BI χρησιμοποιεί το Power Query και, επομένως, δεν μπορεί να παράγει αυτό το αποτέλεσμα. Μπορεί, ωστόσο, να φορτώσει δεδομένα από έναν προφορτωμένο πίνακα διαστάσεων SCD τύπου 2.

Φιλοδώρημα

Για να μάθετε πώς μπορείτε να υλοποιήσετε έναν πίνακα διαστάσεων SCD τύπου 2 σε μια αποθήκη Fabric, ανατρέξτε στο θέμα Διαχείριση αλλαγών ιστορικού.

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

Για να επιτευχθεί αυτή η απαίτηση, ο πίνακας διαστάσεων σημασιολογικού μοντέλου Power BI πρέπει να περιλαμβάνει μια στήλη για φιλτράρισμα του πωλητή και μια διαφορετική στήλη για φιλτράρισμα μιας συγκεκριμένης έκδοσης του πωλητή. Είναι σημαντικό η στήλη έκδοσης να παρέχει μια ξεκάθαρη περιγραφή, όπως David Campbell (12/15/2008-06/26/2019) ή David Campbell (06/27/2019-Current). Είναι επίσης σημαντικό να εκπαιδεύσετε τους συντάκτες αναφορών και τους καταναλωτές σχετικά με τα βασικά στοιχεία SCD τύπου 2 και τον τρόπο επίτευξης κατάλληλων σχεδίων αναφοράς εφαρμόζοντας σωστά φίλτρα.

Είναι καλή πρακτική σχεδίασης να συμπεριλαμβάνετε μια ιεραρχία που επιτρέπει στις απεικονίσεις να κάνουν λεπτομερή έρευνα στο επίπεδο έκδοσης.

Διάγραμμα που εμφανίζει το τμήμα παραθύρου

Διαστάσεις αναπαραγωγής ρόλων

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

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

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

Σε ένα σημασιολογικό μοντέλο Power BI, είναι δυνατή η απομίμηση αυτής της σχεδίασης δημιουργώντας πολλές σχέσεις μεταξύ δύο πινάκων. Στο παράδειγμα Adventure Works, οι πίνακες πωλήσεων μεταπωλητή και ημερομηνίας θα έχουν τρεις σχέσεις.

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

Παρόλο που αυτή η σχεδίαση είναι δυνατή, μπορεί να υπάρχει μόνο μία ενεργή σχέση μεταξύ δύο πινάκων σημασιολογικών μοντέλων Power BI. Όλες οι υπόλοιπες σχέσεις πρέπει να οριστούν σε ανενεργές. Η ύπαρξη μιας μοναδικής ενεργής σχέσης σημαίνει ότι υπάρχει μια προεπιλεγμένη μετάδοση φίλτρου από την ημερομηνία έως τις πωλήσεις μεταπωλητή. Σε αυτήν την περίπτωση, η ενεργή σχέση ορίζεται στο πιο σύνηθες φίλτρο που χρησιμοποιείται από τις αναφορές, το οποίο στο Adventure Works είναι η σχέση ημερομηνίας παραγγελίας.

Ο μόνος τρόπος να χρησιμοποιήσετε μια ανενεργή σχέση είναι να ορίσετε μια παράσταση DAX που χρησιμοποιεί τη συνάρτηση USERELATIONSHIP . Στο παράδειγμά μας, ο δημιουργός μοντέλου πρέπει να δημιουργήσει μετρήσεις για να ενεργοποιηθεί η ανάλυση των πωλήσεων μεταπωλητή κατά ημερομηνία αποστολής και ημερομηνία παράδοσης. Αυτή η εργασία μπορεί να είναι κουραστική, ιδιαίτερα όταν ο πίνακας μεταπωλητή ορίζει πολλές μετρήσεις. Δημιουργεί επίσης ένα ακατάστατο τμήμα παραθύρου Δεδομένα , το οποίο διαθέτει υπερβολική χρήση μετρήσεων. Υπάρχουν και άλλοι περιορισμοί:

  • Όταν οι συντάκτες αναφορών βασίζονται σε συνοπτικές στήλες αντί να ορίζουν μετρήσεις, δεν μπορούν να επιτύχουν σύνοψη για τις ανενεργές σχέσεις χωρίς τη σύνταξη μιας μέτρησης σε επίπεδο αναφοράς. Οι μετρήσεις σε επίπεδο αναφοράς μπορούν να οριστούν μόνο κατά τη σύνταξη αναφορών στο Power BI Desktop.
  • Με μόνο μία διαδρομή ενεργούς σχέσης μεταξύ πωλήσεων μεταπωλητή και ημερομηνίας, δεν είναι δυνατό να φιλτράρετε ταυτόχρονα τις πωλήσεις μεταπωλητή κατά διαφορετικούς τύπους ημερομηνιών. Για παράδειγμα, δεν μπορείτε να παράγετε μια απεικόνιση που σχεδιάζει πωλήσεις ημερομηνίας παραγγελίας κατά απεσταλμένες πωλήσεις.

Για να ξεπεραστούν αυτοί οι περιορισμοί, μια συνήθης τεχνική μοντελοποίησης του Power BI είναι η δημιουργία ενός πίνακα διαστάσεων για κάθε παρουσία αναπαραγωγής ρόλων. Μπορείτε να δημιουργήσετε κάθε πίνακα διαστάσεων ως ερώτημα αναφοράς χρησιμοποιώντας το Power Query ή έναν υπολογιζόμενο πίνακα χρησιμοποιώντας το DAX. Το μοντέλο μπορεί να περιέχει έναν Date πίνακα, έναν Ship Date πίνακα και έναν Delivery Date πίνακα, καθένα με μια μοναδική και ενεργή σχέση με τις αντίστοιχες στήλες του πίνακα πωλήσεων μεταπωλητή.

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

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

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

  • Βεβαιωθείτε ότι τα ονόματα στηλών είναι αυτονόητα. Ενώ είναι δυνατό να έχετε μια Year στήλη σε όλους τους πίνακες ημερομηνιών (τα ονόματα στηλών είναι μοναδικά στον πίνακά τους), δεν είναι αυτονόητα από προεπιλεγμένους τίτλους απεικονίσεων. Εξετάστε το ενδεχόμενο να μετονομάσετε στήλες σε κάθε πίνακα ρόλων διάστασης, έτσι ώστε ο Ship Date πίνακας να έχει μια στήλη έτους με την ονομασία Ship Yearκαι ούτω καθεξής.
  • Όταν είναι σχετικό, εξασφαλίστε ότι οι περιγραφές πινάκων παρέχουν σχόλια στους συντάκτες αναφορών (μέσω συμβουλών εργαλείων στο παράθυρο δεδομένων ) σχετικά με τον τρόπο ρύθμισης της μετάδοσης φίλτρου. Αυτή η σαφήνεια είναι σημαντική όταν το μοντέλο περιέχει έναν πίνακα με γενικό όνομα, όπως Date, ο οποίος χρησιμοποιείται για το φιλτράρισμα πολλών πινάκων δεδομένων. Στην περίπτωση που αυτός ο πίνακας έχει, για παράδειγμα, μια ενεργή σχέση με τη στήλη ημερομηνίας παραγγελίας πωλήσεων μεταπωλητή, εξετάστε το ενδεχόμενο να παρέχετε μια περιγραφή πίνακα όπως Filters reseller sales by order date.

Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Οδηγίες για τις ενεργές και ανενεργές σχέσεις.

Ανεπιθύμητες διαστάσεις

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

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

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

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

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

Εκφυλισμένες διαστάσεις

Μια εκφυλισμένη διάσταση αναφέρεται σε ένα χαρακτηριστικό του πίνακα δεδομένων που απαιτείται για φιλτράρισμα. Στην Adventure Works, ο αριθμός παραγγελίας πωλήσεων μεταπωλητή είναι ένα καλό παράδειγμα. Σε αυτήν την περίπτωση, δεν έχει νόημα να δημιουργήσετε έναν ανεξάρτητο πίνακα που αποτελείται μόνο από αυτήν τη στήλη, επειδή θα αυξήσει το μέγεθος αποθήκευσης μοντέλου και θα έχει ως αποτέλεσμα την ακαταστασία του τμήματος παραθύρου δεδομένων .

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

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

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

Πίνακες δεδομένων χωρίς δεδομένα

Ένας πίνακας δεδομένων χωρίς στοιχεία δεν περιλαμβάνει στήλες μέτρησης. Περιέχει μόνο κλειδιά διαστάσεων.

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

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

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

Διάγραμμα που εμφανίζει έναν πίνακα δεδομένων χωρίς δεδομένα που γεφύρωνε διαστάσεις Salesperson και Region. Ο πίνακας δεδομένων χωρίς στοιχεία αποτελείται από δύο στήλες, οι οποίες είναι τα κλειδιά διαστάσεων.

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

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