Οδηγίες για τις σχέσεις ένα προς ένα
Αυτό το άρθρο απευθύνεται σε εσάς ως δημιουργός μοντέλων δεδομένων που συνεργάζεται με το Power BI Desktop. Σας παρέχει οδηγίες για την εργασία με σχέσεις μοντέλων ένα προς ένα. Μια σχέση ένα προς ένα μπορεί να δημιουργηθεί όταν και οι δύο πίνακες περιέχουν μια στήλη κοινών και μοναδικών τιμών.
Σημείωμα
Η εισαγωγή στις σχέσεις μοντέλου δεν καλύπτεται σε αυτό το άρθρο. Εάν δεν είστε πλήρως εξοικειωμένοι με τις σχέσεις, τις ιδιότητές τους ή τον τρόπο ρύθμισης των παραμέτρων τους, συνιστούμε να διαβάσετε πρώτα το άρθρο Σχέσεις μοντέλων στο Power BI Desktop .
Είναι επίσης σημαντικό να κατανοήσετε τη σχεδίαση αστεροειδούς σχήματος. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Κατανόηση του αστεροειδούς σχήματος και της σημασίας του για το Power BI.
Υπάρχουν δύο σενάρια που περιλαμβάνουν σχέσεις ένα προς ένα:
εκφυλισμένες διαστάσεις: Μπορείτε να αντλήσετε ένα εκφυλισμένες διαστάσεις από έναν πίνακα δεδομένων .
τμήματα δεδομένων γραμμής σε πίνακες: Μία επιχειρηματική οντότητα ή ένα θέμα φορτώνεται ως δύο (ή περισσότεροι) πίνακες μοντέλου, πιθανώς επειδή τα δεδομένα τους προέρχονται από διαφορετικούς χώρους αποθήκευσης δεδομένων. Αυτό το σενάριο μπορεί να είναι σύνηθες για πίνακες διαστάσεων . Για παράδειγμα, οι κύριες λεπτομέρειες του προϊόντος αποθηκεύονται σε ένα επιχειρησιακό σύστημα πωλήσεων και οι συμπληρωματικές λεπτομέρειες προϊόντος αποθηκεύονται σε διαφορετική προέλευση.
Είναι ασυνήθιστο, ωστόσο, να συσχετίζετε δύο πίνακες δεδομένων με μια σχέση ένα προς ένα. Αυτό συμβαίνει επειδή και οι δύο πίνακες δεδομένων θα πρέπει να έχουν την ίδια διαστατικότητα και υποδιαίρεση. Επίσης, κάθε πίνακας δεδομένων θα χρειαστεί μοναδικές στήλες για να επιτρέψει τη δημιουργία της σχέσης μοντέλου.
Εκφυλισμένες διαστάσεις
Όταν οι στήλες από έναν πίνακα δεδομένων χρησιμοποιούνται για φιλτράρισμα ή ομαδοποίηση, μπορείτε να εξετάσετε το ενδεχόμενο να τις καταστήσετε διαθέσιμες σε έναν ξεχωριστό πίνακα. Με αυτόν τον τρόπο, διαχωρίζεις τις στήλες που χρησιμοποιούνται για φιλτράρισμα ή ομαδοποίηση από εκείνες τις στήλες που χρησιμοποιούνται για τη σύνοψη των γραμμών στοιχείων. Αυτός ο διαχωρισμός μπορεί:
- Μειώστε τον χώρο αποθήκευσης.
- Να απλοποιήσετε τους υπολογισμούς μοντέλου.
- Συμβάλετε στη βελτίωση των επιδόσεων ερωτημάτων.
- Παρέχετε μια πιο εύχρηστη εμπειρία παραθύρου δεδομένων στους συντάκτες αναφορών σας.
Εξετάστε έναν πίνακα προέλευσης με το όνομα Sales
που αποθηκεύει λεπτομέρειες αναφοράς γραμμής παραγγελίας πωλήσεων σε δύο στήλες.
Η OrderNumber
στήλη αποθηκεύει τον αριθμό της παραγγελίας και η στήλη OrderLineNumber
αποθηκεύει μια ακολουθία γραμμών εντός της παραγγελίας.
Στην παρακάτω εικόνα, παρατηρήστε ότι οι στήλες αριθμού παραγγελίας και αριθμού γραμμής παραγγελίας δεν έχουν φορτωθεί στον πίνακα Sales
. Αντίθετα, οι τιμές τους χρησιμοποιήθηκαν για τη δημιουργία ενός υποκατάστατου κλειδιού στήλη με το όνομα OrderLineNumberID
. (Η τιμή του κλειδιού υπολογίζεται πολλαπλασιάζοντας τον αριθμό της παραγγελίας με το 1000 και, στη συνέχεια, προσθέτοντας τον αριθμό γραμμής παραγγελίας.)
Ο πίνακας διαστάσεων Sales Order
παρέχει μια πλούσια εμπειρία για συντάκτες αναφορών με δύο στήλες: Sales Order
και Sales Order Line
. Αυτές οι συγκεκριμένες στήλες υποστηρίζουν σχέδια αναφορών που πρέπει να φιλτράρουν, ομαδοποιούν ή κάνουν λεπτομερή έρευνα παραγγελιών και γραμμών παραγγελιών.
Επειδή ο Sales Order
πίνακας προέρχεται από τα δεδομένα πωλήσεων, θα πρέπει να υπάρχει ακριβώς ο ίδιος αριθμός γραμμών σε κάθε πίνακα. Επιπλέον, θα πρέπει να υπάρχουν αντιστοιχίες τιμών μεταξύ κάθε OrderLineNumberID
στήλης.
Τμήματα δεδομένων γραμμών σε πολλαπλούς πίνακες
Εξετάστε ένα παράδειγμα που περιλαμβάνει δύο πίνακες διαστάσεων που σχετίζονται με ένα προς ένα: Product
και Product Category
. Κάθε πίνακας αντιπροσωπεύει δεδομένα που έχουν εισαχθεί και διαθέτει μια στήλη SKU
(μονάδα διατήρησης αποθεμάτων) που περιέχει μοναδικές τιμές.
Ακολουθεί ένα μερικό διάγραμμα του μοντέλου των δύο πινάκων.
Ο πρώτος πίνακας ονομάζεται Product
και περιέχει τρεις στήλες: Color
, Product
και SKU
. Ο δεύτερος πίνακας ονομάζεται Product Category
και περιέχει δύο στήλες: Category
και SKU
. Μια σχέση ένα προς ένα συσχετίζει τις δύο SKU
στήλες. Η σχέση φιλτράρει και προς τις δύο κατευθύνσεις, κάτι που ισχύει πάντα για τις σχέσεις ένα προς ένα.
Για να σας βοηθήσει να περιγράψετε πώς λειτουργεί η μετάδοση του φίλτρου σχέσεων, η παρακάτω εικόνα αποκαλύπτει ορισμένες γραμμές πίνακα. Όλα τα παραδείγματα σε αυτό το άρθρο βασίζονται σε αυτά τα δεδομένα.
Οι λεπτομέρειες γραμμής για τους δύο πίνακες περιγράφονται στην παρακάτω λίστα με κουκκίδες:
- Ο
Product
πίνακας έχει τρεις γραμμές:-
SKU
CL-01,Product
μπλουζάκια,Color
Green -
SKU
CL-02,Product
τζιν,Color
Blue -
SKU
AC-01,Product
Hat,Color
Blue
-
- Ο
Product Category
πίνακας έχει δύο γραμμές:-
SKU
CL-01,Category
ρούχων AC-01 , αξεσουάρ
-
Παρατηρήστε ότι ο πίνακας Product Category
δεν περιλαμβάνει μια γραμμή για το SKU προϊόντος CL-02. Θα συζητήσουμε τις συνέπειες αυτής της σειράς που λείπει παρακάτω σε αυτό το άρθρο.
Στο τμήμα παραθύρου Δεδομένων, οι συντάκτες αναφορών εντοπίζουν πεδία που σχετίζονται με προϊόντα σε δύο πίνακες: Product
και Product Category
. Ας δούμε τι συμβαίνει όταν προστίθενται τα πεδία και από τους δύο πίνακες σε μια απεικόνιση πίνακα. Σε αυτό το παράδειγμα, η στήλη SKU
προέρχεται από τον πίνακα Product
.
Παρατηρήστε ότι η Category
τιμή για το προϊόν SKU CL-02 είναι ΚΕΝΉ. Αυτό συμβαίνει επειδή δεν υπάρχει αντίστοιχη γραμμή στον πίνακα Product Category
για αυτό το προϊόν.
Προτάσεις
Όποτε είναι εφικτό, συνιστούμε να αποφύγετε τη δημιουργία σχέσεων μοντέλου ένα προς ένα όταν τα δεδομένα γραμμής εκτείνονται μεταξύ πινάκων μοντέλων. Αυτό συμβαίνει επειδή αυτή η σχεδίαση μπορεί να:
- Να συμβάλει στην ακαταστασία του τμήματος παραθύρου Δεδομένων , αναφέροντας περισσότερους πίνακες από ό,τι απαιτείται.
- Να δυσκολεύσετε τους συντάκτες αναφορών να εντοπίσουν σχετικά πεδία, επειδή κατανέμονται σε πολλούς πίνακες.
- Περιορίστε τη δυνατότητα δημιουργίας ιεραρχιών, καθώς τα επίπεδά τους πρέπει να βασίζονται σε στήλες του ίδιου πίνακα.
- Να παράγετε μη αναμενόμενα αποτελέσματα όταν δεν υπάρχει πλήρης αντιστοιχία των γραμμών μεταξύ των πινάκων.
Οι συγκεκριμένες προτάσεις διαφέρουν ανάλογα με το αν η σχέση ένα προς ένα είναι εντός ομάδας προέλευσης δεδομένων ή μεταξύ ομάδων προέλευσης δεδομένων. Για περισσότερες πληροφορίες σχετικά με την αξιολόγηση των σχέσεων, ανατρέξτε στο θέμα σχέσεις μοντέλου στο Power BI Desktop.
Σχέση ένα προς ένα εντός ομάδας προέλευσης δεδομένων
Όταν υπάρχει σχέση ένα προς ένα εντός ομάδας προέλευσης δεδομένων μεταξύ των πινάκων, συνιστούμε να ενοποιείτε τα δεδομένα σε έναν πίνακα μοντέλου. Αυτό μπορείτε να το κάνετε συγχωνεύοντας τα ερωτήματα Power Query.
Τα παρακάτω βήματα παρουσιάζουν μια μεθοδολογία για την ενοποίηση και τη μοντελοποίηση των δεδομένων που σχετίζονται με ένα προς ένα.
Συγχώνευση ερωτημάτων: Κατά τον συνδυασμό των δύο ερωτημάτων, εξετάστε την πληρότητα των δεδομένων σε κάθε ερώτημα. Εάν ένα ερώτημα περιέχει ένα πλήρες σύνολο γραμμών (όπως μια κύρια λίστα), συγχωνεύστε το άλλο ερώτημα με αυτό. Ορίστε τον μετασχηματισμό συγχώνευσης ώστε να χρησιμοποιεί έναν αριστερό εξωτερικό σύνδεσμο, ο οποίος είναι ο προεπιλεγμένος τύπος συνδέσμου. Αυτός ο τύπος συνδέσμου εξασφαλίζει ότι θα διατηρήσετε όλες τις γραμμές του πρώτου ερωτήματος και θα τις συμπληρώσετε με τυχόν αντίστοιχες γραμμές του δεύτερου ερωτήματος. Αναπτύξτε όλες τις απαιτούμενες στήλες του δεύτερου ερωτήματος στο πρώτο ερώτημα.
Απενεργοποίηση φόρτωσης ερωτημάτων: Φροντίστε να απενεργοποιήσετε τη φόρτωση του δεύτερου ερωτήματος. Με αυτόν τον τρόπο, δεν θα φορτωθεί το αποτέλεσσή του ως πίνακας μοντέλου. Αυτή η ρύθμιση παραμέτρων μειώνει το μέγεθος του μοντέλου δεδομένων και σας βοηθά να τακτοποιήσετε το τμήμα παραθύρου Δεδομένα .
Στο παράδειγμά μας, οι συντάκτες αναφορών βρίσκουν τώρα έναν πίνακα με το όνομα
στο τμήμα παραθύρου δεδομένων . Περιέχει όλα τα πεδία που σχετίζονται με προϊόντα. Αντικατάσταση τιμών που λείπουν: Εάν το δεύτερο ερώτημα έχει γραμμές χωρίς αντιστοιχία, εμφανίζονται τιμές null στις στήλες που εισάγονται από αυτό. Ανάλογα με την περίπτωση, εξετάστε το ενδεχόμενο να αντικαταστήσετε τις τιμές null με μια τιμή διακριτικού. Η αντικατάσταση των τιμών που λείπουν είναι ιδιαίτερα σημαντική όταν οι συντάκτες αναφορών φιλτράρουν ή ομαδοποιούν με βάση τις τιμές των στηλών, καθώς μπορεί να εμφανίζονται κενά στις απεικονίσεις αναφορών.
Στην παρακάτω εικόνα, παρατηρήστε ότι η κατηγορία για το προϊόν SKU CL-02 διαβάζει τώρα [Μη καθορισμένο]. Στο ερώτημα, οι κατηγορίες null αντικαταστάθηκαν με αυτή την τιμή κειμένου διακριτικού.
Δημιουργία ιεραρχιών: Εάν υπάρχουν σχέσεις μεταξύ των στηλών του ενοποιημένου πλέον πίνακα, εξετάστε το ενδεχόμενο να δημιουργήσετε ιεραρχίες. Με αυτόν τον τρόπο, οι συντάκτες αναφορών θα εντοπίζουν γρήγορα ευκαιρίες για διερεύνηση απεικόνισης αναφοράς.
Στο παράδειγμά μας, οι συντάκτες αναφορών μπορούν τώρα να χρησιμοποιήσουν μια ιεραρχία που έχει δύο επίπεδα:
Category
καιProduct
.
Εάν σας αρέσει ο τρόπος με τον οποίο συμβάλλουν οι διαφορετικοί πίνακες στην οργάνωση των πεδίων σας, συνιστούμε να τους ενοποιείτε σε έναν πίνακα. Εξακολουθείτε να μπορείτε να οργανώσετε τα πεδία σας, χρησιμοποιώντας φακέλους προβολής .
Στο παράδειγμά μας, οι συντάκτες αναφορών μπορούν να βρουν το πεδίο Category
στον Marketing
φάκελο προβολής.
Εάν αποφασίσετε παρόλα αυτά να ορίσετε σχέσεις ένα προς ένα εντός ομάδας προέλευσης δεδομένων στο μοντέλο σας, όποτε είναι εφικτό, βεβαιωθείτε ότι υπάρχουν αντιστοιχίες γραμμών στους σχετικούς πίνακες. Καθώς μια σχέση ένα προς ένα εντός ομάδας προέλευσης δεδομένων αξιολογείται ως κανονική σχέση, τα προβλήματα ακεραιότητας δεδομένων μπορεί να εμφανίζονται στις απεικονίσεις των αναφορών σας ως κενά. (Μπορείτε να δείτε ένα παράδειγμα κενής ομαδοποίησης στην πρώτη απεικόνιση πίνακα που παρουσιάζεται σε αυτό το άρθρο.)
Σχέση ένα προς ένα μεταξύ ομάδων προέλευσης δεδομένων
Όταν υπάρχει μια μεταξύ ομάδων προέλευσης δεδομένων σχέση μεταξύ των πινάκων, δεν υπάρχει εναλλακτική σχεδίαση μοντέλου, εκτός εάν συγχωνεύσετε εκ των προτέρων τα δεδομένα στην προέλευση δεδομένων σας. Το Power BI θα αξιολογήσει τη σχέση μοντέλου ένα προς ένα ως περιορισμένη σχέση. Επομένως, φροντίστε να βεβαιωθείτε ότι υπάρχουν αντιστοιχίες γραμμών στους σχετιζόμενους πίνακες, καθώς οι μη αντιστοιχισμένες γραμμές καταργούνται από τα αποτελέσματα του ερωτήματος.
Ας δούμε τι συμβαίνει όταν προστίθενται τα πεδία και από τους δύο πίνακες σε μια απεικόνιση πίνακα και υπάρχει περιορισμένη σχέση μεταξύ των πινάκων.
Η πρώτη απεικόνιση πίνακα, η οποία χρησιμοποιεί μια σχέση μεταξύ ομάδων προέλευσης δεδομένων, εμφανίζει μόνο δύο γραμμές. Λείπει SKU προϊόντος
Σχετικό περιεχόμενο
Για περισσότερες πληροφορίες σχετικά με αυτό το άρθρο, ανατρέξτε στους παρακάτω πόρους: