Καθοδήγηση για τα σύνθετα μοντέλα στο Power BI Desktop

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

Σημείωμα

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

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

Περιπτώσεις χρήσης σύνθετου μοντέλου

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

Σημείωμα

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

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

Μπορείτε να εξετάσετε την ανάπτυξη ενός σύνθετου μοντέλου στις ακόλουθες περιπτώσεις.

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

Σημείωμα

Τα σύνθετα μοντέλα δεν μπορούν να περιλαμβάνουν συνδέσεις σε ορισμένες εξωτερικές βάσεις δεδομένων ανάλυσης. Αυτές οι βάσεις δεδομένων περιλαμβάνουν το SAP Business Warehouse και το SAP HANA κατά τον χειρισμό του SAP HANA ως πολυδιάστατης προέλευσης.

Αξιολόγηση άλλων επιλογών σχεδίασης μοντέλου

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

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

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

Φιλοδώρημα

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

Λειτουργία αποθήκευσης πινάκων

Σε ένα σύνθετο μοντέλο, μπορείτε να ορίσετε τη λειτουργία αποθήκευσης για κάθε πίνακα (εκτός από τους υπολογιζόμενους πίνακες).

  • DirectQuery: Συνιστούμε να ορίσετε αυτήν τη λειτουργία για πίνακες που αντιπροσωπεύουν μεγάλους όγκους δεδομένων ή που χρειάζεται να παραδώσουν αποτελέσματα σχεδόν σε πραγματικό χρόνο. Τα δεδομένα δεν θα εισάγονται ποτέ σε αυτούς τους πίνακες. Συνήθως, αυτοί οι πίνακες θα είναι πίνακες στοιχείων, οι οποίοι είναι πίνακες που συνοψίζονται.
  • Εισαγωγή: Συνιστούμε να ορίσετε αυτήν τη λειτουργία για πίνακες που δεν χρησιμοποιούνται για φιλτράρισμα και ομαδοποίηση πινάκων δεδομένων σε λειτουργία DirectQuery ή υβριδική. Είναι επίσης η μόνη επιλογή για πίνακες που βασίζονται σε προελεύσεις που δεν υποστηρίζονται από τη λειτουργία DirectQuery. Οι υπολογιζόμενοι πίνακες είναι πάντα πίνακες εισαγωγής.
  • Διπλή: Συνιστούμε να ορίσετε αυτήν τη λειτουργία για πίνακες τύπου διαστάσεων, όταν υπάρχει πιθανότητα υποβολής ερωτημάτων μαζί με πίνακες τύπου γεγονότος DirectQuery από την ίδια προέλευση.
  • Υβριδικό: Συνιστούμε να ορίζετε αυτήν τη λειτουργία προσθέτοντας διαμερίσματα εισαγωγής και ένα διαμέρισμα DirectQuery σε έναν πίνακα δεδομένων όταν θέλετε να συμπεριλάβετε τις πιο πρόσφατες αλλαγές δεδομένων σε πραγματικό χρόνο ή όταν θέλετε να παρέχετε γρήγορη πρόσβαση στα δεδομένα που χρησιμοποιούνται συχνότερα μέσω διαμερισμάτων εισαγωγής, αφήνοντας παράλληλα το μεγαλύτερο μέρος των πιο σπάνια χρησιμοποιημένων δεδομένων στην αποθήκη δεδομένων.

Υπάρχουν πολλά πιθανά σενάρια όταν το Power BI υποβάλλει ερώτημα σε ένα σύνθετο μοντέλο.

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

Συνοπτικά, συνιστούμε να κάνετε τα εξής:

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

Συναθροίσεις που ορίζονται από τον χρήστη

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

Όταν οι συναθροίσεις αποθηκεύονται στο cache στο μοντέλο, συμπεριφέρονται ως πίνακες εισαγωγής (αν και δεν μπορούν να χρησιμοποιηθούν όπως ένας πίνακας μοντέλου). Η προσθήκη συναθροίσεων εισαγωγής σε ένα μοντέλο DirectQuery θα έχει ως αποτέλεσμα ένα σύνθετο μοντέλο.

Σημείωμα

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

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

Σχέσεις μεταξύ ομάδων προέλευσης δεδομένων

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

Σημείωμα

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

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

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

Προειδοποίηση

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

Σενάριο σχέσης μεταξύ ομάδων προέλευσης δεδομένων 1

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

Σε αυτό το σενάριο, ο πίνακας Περιοχή στην ομάδα προέλευσης Α έχει μια σχέση με τον πίνακα Ημερομηνία και τον πίνακα Πωλήσεις στην ομάδα προέλευσης Β. Η σχέση μεταξύ του πίνακα Περιοχή και του πίνακα Ημερομηνία είναι ενεργή, ενώ η σχέση μεταξύ του πίνακα Περιοχή και του πίνακα Πωλήσεις είναι ανενεργή. Επίσης, υπάρχει μια ενεργή σχέση μεταξύ του πίνακα Region και του πίνακα Sales , οι οποίοι βρίσκονται και οι δύο στην ομάδα προέλευσης B. Ο πίνακας Πωλήσεις περιλαμβάνει μια μέτρηση με την ονομασία TotalSales και ο πίνακας Region περιλαμβάνει δύο μετρήσεις με την ονομασία RegionalSales και RegionalSalesDirect.

Diagram shows the scenario 1 model design as described in the previous paragraph.

Ακολουθούν οι ορισμοί μετρήσεων.

TotalSales = SUM(Sales[Sales])
RegionalSales = CALCULATE([TotalSales], USERELATIONSHIP(Region[RegionID], Sales[RegionID]))
RegionalSalesDirect = CALCULATE(SUM(Sales[Sales]), USERELATIONSHIP(Region[RegionID], Sales[RegionID]))

Παρατηρήστε πώς η μέτρηση RegionalSales αναφέρεται στη μέτρηση TotalSales , ενώ η μέτρηση RegionalSalesDirect όχι. Αντίθετα, η μέτρηση RegionalSalesDirect χρησιμοποιεί την παράσταση SUM(Sales[Sales]), η οποία είναι η παράσταση της μέτρησης TotalSales .

Η διαφορά στο αποτέλεσμα είναι λεπτή. Όταν το Power BI αξιολογεί τη μέτρηση RegionalSales , εφαρμόζει το φίλτρο από τον πίνακα Region τόσο στον πίνακα Sales όσο και στον πίνακα Date . Επομένως, το φίλτρο μεταδίδεται επίσης από τον πίνακα Ημερομηνία στον πίνακα Πωλήσεις . Αντίθετα, όταν το Power BI αξιολογεί τη μέτρηση RegionalSalesDirect , μεταδίδει μόνο το φίλτρο από τον πίνακα Region στον πίνακα Sales . Τα αποτελέσματα που επιστρέφονται από τη μέτρηση RegionalSales και τη μέτρηση RegionalSalesDirect μπορεί να διαφέρουν, παρόλο που οι παραστάσεις είναι σημασιολογικά ισοδύναμες.

Σημαντικό

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

Σενάριο σχέσης μεταξύ ομάδων προέλευσης δεδομένων 2

Εξετάστε ένα σενάριο όταν μια σχέση μεταξύ ομάδων προέλευσης δεδομένων έχει στήλες σχέσης υψηλής πληθικότητας.

Σε αυτό το σενάριο, ο πίνακας Ημερομηνία σχετίζεται με τον πίνακα Πωλήσεις στις στήλες DateKey . Ο τύπος δεδομένων των στηλών DateKey είναι ακέραιος, αποθηκεύοντας ακέραιους αριθμούς που χρησιμοποιούν τη μορφή yyyymmdd . Οι πίνακες ανήκουν σε διαφορετικές ομάδες προέλευσης. Επιπλέον, πρόκειται για μια σχέση υψηλής πληθικότητας, επειδή η παλαιότερη ημερομηνία στον πίνακα Ημερομηνία είναι η 1η Ιανουαρίου 1900 και η τελευταία ημερομηνία είναι η 31η Δεκεμβρίου 2100, επομένως υπάρχουν συνολικά 73.414 γραμμές στον πίνακα (μία γραμμή για κάθε ημερομηνία στο χρονικό διάστημα 1900-2100).

Diagram shows the scenario 2 model design as described in the previous paragraph.

Υπάρχουν δύο περιπτώσεις ανησυχίας.

Πρώτα, όταν χρησιμοποιείτε τις στήλες του πίνακα Ημερομηνία ως φίλτρα, η μετάδοση φίλτρου θα φιλτράρει τη στήλη DateKey του πίνακα Πωλήσεις για να αξιολογήσει τις μετρήσεις. Κατά το φιλτράρισμα κατά ένα μεμονωμένο έτος, όπως το 2022, το ερώτημα DAX θα περιλαμβάνει μια παράσταση φίλτρου όπως Sales[DateKey] IN { 20220101, 20220102, …20221231 }. Το μέγεθος κειμένου του ερωτήματος μπορεί να αυξηθεί ώστε να γίνεται εξαιρετικά μεγάλο όταν ο αριθμός των τιμών στην παράσταση φίλτρου είναι μεγάλος ή όταν οι τιμές φίλτρου είναι μεγάλες συμβολοσειρές. Το Power BI είναι δαπανηρό για τη δημιουργία του μεγάλου ερωτήματος και για την εκτέλεση του ερωτήματος από την προέλευση δεδομένων.

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

Για να αντιμετωπίσετε τυχόν προβλήματα επιδόσεων, μπορείτε να κάνετε τα εξής:

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

Σενάριο σχέσης μεταξύ ομάδων προέλευσης δεδομένων 3

Εξετάστε ένα σενάριο όταν δεν υπάρχουν αντιστοιχισμένες τιμές μεταξύ πινάκων σε μια σχέση μεταξύ ομάδων προέλευσης δεδομένων.

Σε αυτό το σενάριο, ο πίνακας Ημερομηνία στην ομάδα προέλευσης Β έχει μια σχέση με τον πίνακα Πωλήσεις σε αυτή την ομάδα προέλευσης δεδομένων καθώς και με τον πίνακα Στόχος στην ομάδα προέλευσης Α. Όλες οι σχέσεις είναι "ένα-προς-πολλά" από τον πίνακα Ημερομηνία που συσχετίζει τις στήλες "Έτος". Ο πίνακας Πωλήσεις περιλαμβάνει μια στήλη SalesAmount που αποθηκεύει ποσά πωλήσεων, ενώ ο πίνακας Στόχος περιλαμβάνει μια στήλη TargetAmount που αποθηκεύει τα ποσά-στόχους.

Diagram shows the scenario 3 model design as described in the previous paragraph.

Ο πίνακας Ημερομηνία αποθηκεύει τα έτη 2021 και 2022. Ο πίνακας Πωλήσεις αποθηκεύει ποσά πωλήσεων για τα έτη 2021 (100) και 2022 (200), ενώ ο πίνακας Στόχος αποθηκεύει τα ποσά-στόχους για το 2021 (100), το 2022 (200 ) και το 2023 (300)— ένα μελλοντικό έτος.

Diagram shows the scenario 3 table data as described in the previous paragraph.

Όταν μια απεικόνιση πίνακα Power BI υποβάλει ερώτημα στο σύνθετο μοντέλο ομαδοποιώντας στη στήλη Year από τον πίνακα Date και αθροίζοντας τις στήλες SalesAmount και TargetAmount , δεν θα εμφανίζει ένα ποσό-στόχο για το 2023. Αυτό συμβαίνει επειδή η σχέση μεταξύ ομάδων προέλευσης δεδομένων είναι μια περιορισμένη σχέση και, επομένως, χρησιμοποιεί INNER JOIN σημασιολογία, η οποία εξαλείφει τις γραμμές όπου δεν υπάρχει αντίστοιχη τιμή και στις δύο πλευρές. Ωστόσο, θα παράγει ένα σωστό σύνολο ποσού-στόχου (600), επειδή ένα φίλτρο πίνακα ημερομηνιών δεν εφαρμόζεται στην αξιολόγησή του.

Diagram shows a table visual that doesn't show the 2023 target amount. Also, the target amount total of 600 doesn't equal the two shown values for 2021 and 2022 (100 and 200).

Εάν η σχέση μεταξύ του πίνακα Ημερομηνία και του πίνακα Στόχος είναι μια σχέση εντός ομάδας προέλευσης δεδομένων (υποθέτοντας ότι ο πίνακας Στόχος ανήκε στην ομάδα προέλευσης δεδομένων Β), η απεικόνιση θα περιλαμβάνει ένα (Κενό) έτος για να εμφανίσει το ποσό-στόχο του 2023 (και οποιαδήποτε άλλα ασύγκριτα έτη).

Σημαντικό

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

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

Υπολογισμοί

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

Υπολογιζόμενες στήλες

Οι υπολογιζόμενες στήλες που προστίθενται σε έναν πίνακα DirectQuery που αντλούν τα δεδομένα τους από μια σχεσιακή βάση δεδομένων, όπως ο Microsoft SQL Server, περιορίζονται σε παραστάσεις που λειτουργούν σε μία μόνο γραμμή κάθε φορά. Αυτές οι παραστάσεις δεν μπορούν να χρησιμοποιήσουν συναρτήσεις επαναλήπτη DAX, όπως SUMXή συναρτήσεις τροποποίησης περιβάλλοντος φίλτρου, όπως CALCULATE.

Σημείωμα

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

Μια παράσταση υπολογιζόμενης στήλης σε έναν απομακρυσμένο πίνακα DirectQuery περιορίζεται μόνο στην αξιολόγηση εντός γραμμής. Ωστόσο, μπορείτε να συντάξετε μια τέτοια παράσταση, αλλά αυτό θα έχει ως αποτέλεσμα ένα σφάλμα όταν χρησιμοποιείται σε μια απεικόνιση. Για παράδειγμα, εάν προσθέσετε μια υπολογιζόμενη στήλη σε έναν απομακρυσμένο πίνακα DirectQuery με το όνομα DimProduct χρησιμοποιώντας την παράσταση [Product Sales] / SUM (DimProduct[ProductSales]), θα μπορείτε να αποθηκεύσετε με επιτυχία την παράσταση στο μοντέλο. Ωστόσο, θα έχει ως αποτέλεσμα ένα σφάλμα όταν χρησιμοποιείται σε μια απεικόνιση καθώς παραβιάζει τον περιορισμό αξιολόγησης εντός γραμμής.

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

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

Σημείωμα

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

Ομάδες υπολογισμού

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

Σχεδίαση μοντέλου

Θα πρέπει πάντα να βελτιστοποιείτε ένα μοντέλο Power BI υιοθετώντας μια σχεδίαση αστεροειδούς σχήματος.

Φιλοδώρημα

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

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

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

Ασφάλεια σε επίπεδο γραμμών

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

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

Σχεδίαση αναφοράς

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

Απεικονίσεις μίας ομάδας προέλευσης δεδομένων

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

Χρήση συγχρονισμού αναλυτών

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

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

Σε αυτό το σενάριο, η ομάδα προέλευσης A περιέχει τον πίνακα Product που σχετίζεται με τον πίνακα ResellerSales. Η ομάδα προέλευσης B περιέχει τον πίνακα Product2 που σχετίζεται με τον πίνακα InternetSales . Δεν υπάρχουν σχέσεις μεταξύ ομάδων προέλευσης δεδομένων.

Diagram shows the model design as described in the previous paragraph.

Στην αναφορά, προσθέτετε έναν αναλυτή που φιλτράρει τη σελίδα χρησιμοποιώντας τη στήλη Χρώμα του πίνακα Προϊόν . Από προεπιλογή, ο αναλυτής φιλτράρει τον πίνακα ResellerSales , αλλά όχι τον πίνακα InternetSales . Στη συνέχεια, προσθέτετε έναν κρυφό αναλυτή χρησιμοποιώντας τη στήλη Χρώμα του πίνακα Product2 . Ορίζοντας ένα πανομοιότυπο όνομα ομάδας (βρίσκονται στις επιλογές συγχρονισμού για προχωρημένους), τα φίλτρα που εφαρμόζονται στον ορατό αναλυτή μεταδίδονται αυτόματα στον κρυφό αναλυτή.

Σημείωμα

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

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

Άλλες οδηγίες

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

  • Επιδόσεις και κλίμακα: Εάν οι αναφορές σας ήταν προηγουμένως συνδεδεμένες στο παρελθόν με ένα σημασιολογικό μοντέλο Power BI ή μοντέλο Υπηρεσιών ανάλυσης, η Υπηρεσία Power BI θα μπορούσε να επαναχρησιμοποιήσει cache απεικονίσεων σε όλες τις αναφορές. Μετά τη μετατροπή της δυναμικής σύνδεσης για τη δημιουργία ενός τοπικού μοντέλου DirectQuery, οι αναφορές δεν θα επωφελούνται πλέον από αυτά τα cache. Κατά συνέπεια, ενδέχεται να αντιμετωπίσετε πιο αργές επιδόσεις ή ακόμα και αποτυχίες ανανέωσης. Επίσης, ο φόρτος εργασίας για την Υπηρεσία Power BI θα αυξηθεί, κάτι που μπορεί να απαιτεί να αυξήσετε τους εκχωρημένους πόρους σας ή να κατανείμετε τον φόρτο εργασίας σε άλλους εκχωρημένους πόρους. Για περισσότερες πληροφορίες σχετικά με την ανανέωση και την προσωρινή αποθήκευση δεδομένων, ανατρέξτε στο θέμα Ανανέωση δεδομένων στο Power BI.
  • Μετονομασία: Δεν συνιστούμε να μετονομάσετε σημασιολογικά μοντέλα που χρησιμοποιούνται από σύνθετα μοντέλα ή να μετονομάσετε τους χώρους εργασίας τους. Αυτό συμβαίνει επειδή τα σύνθετα μοντέλα συνδέονται σε σημασιολογικά μοντέλα Power BI χρησιμοποιώντας τα ονόματα χώρων εργασίας και σημασιολογικών μοντέλων (και όχι τα εσωτερικά μοναδικά αναγνωριστικά τους). Η μετονομασία ενός μοντέλου σημασιολογίας ή χώρου εργασίας μπορεί να διακόψει τις συνδέσεις που χρησιμοποιούνται από το σύνθετο μοντέλο σας.
  • Διαχείριση: Δεν συνιστούμε η μοναδική έκδοσή σας του μοντέλου αλήθειας να είναι ένα σύνθετο μοντέλο. Αυτό συμβαίνει επειδή θα εξαρτάται από άλλες προελεύσεις δεδομένων ή μοντέλα, τα οποία, εάν ενημερωθούν, θα μπορούσαν να έχουν ως αποτέλεσμα τη διακοπή του σύνθετου μοντέλου. Αντίθετα, συνιστούμε να δημοσιεύσετε ένα εταιρικό μοντέλο σημασιολογίας ως μοναδική έκδοση της αλήθειας. Θεωρήστε αυτό το μοντέλο ως μια αξιόπιστη βάση. Άλλοι δημιουργοί μοντέλων δεδομένων μπορούν τότε να δημιουργήσουν σύνθετα μοντέλα που επεκτείνουν το μοντέλο υποδομής για τη δημιουργία εξειδικευμένων μοντέλων.
  • Καταγωγή δεδομένων: Χρησιμοποιήστε τις δυνατότητες ανάλυσης επιπτώσεων διαχρονικής καταγραφής δεδομένων και σημασιολογικού μοντέλου πριν από τη δημοσίευση αλλαγών σύνθετου μοντέλου. Αυτές οι δυνατότητες είναι διαθέσιμες στον Υπηρεσία Power BI και μπορούν να σας βοηθήσουν να κατανοήσετε πώς σχετίζονται και χρησιμοποιούνται τα σημασιολογικά μοντέλα. Είναι σημαντικό να κατανοήσετε ότι δεν μπορείτε να εκτελέσετε ανάλυση επιπτώσεων σε εξωτερικά σημασιολογικά μοντέλα που εμφανίζονται στην προβολή διαχρονικής καταγραφής, αλλά βρίσκονται στην πραγματικότητα σε έναν άλλο χώρο εργασίας. Για να εκτελέσετε ανάλυση επιπτώσεων σε ένα εξωτερικό μοντέλο σημασιολογίας, πρέπει να μεταβείτε στον χώρο εργασίας προέλευσης.
  • Ενημερώσεις σχήματος: Θα πρέπει να ανανεώσετε το σύνθετο μοντέλο σας στο Power BI Desktop όταν πραγματοποιούνται αλλαγές σχήματος σε προελεύσεις δεδομένων upstream. Στη συνέχεια, θα πρέπει να δημοσιεύσετε ξανά το μοντέλο στην Υπηρεσία Power BI. Φροντίστε να ελέγξετε διεξοδικά τους υπολογισμούς και τις εξαρτώμενες αναφορές.

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