Share via


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

Οι συναθροίσεις στο Power BI μπορούν να βελτιώσουν την απόδοση των ερωτημάτων σε μεγάλα σημασιολογικά μοντέλα DirectQuery. Χρησιμοποιώντας συναθροίσεις, αποθηκεύετε δεδομένα στο cache στο επίπεδο συνάθροισης στη μνήμη. Οι συναθροίσεις στο Power BI μπορούν να ρυθμιστούν με μη αυτόματο τρόπο στο μοντέλο δεδομένων, όπως περιγράφεται σε αυτό το άρθρο. Για συνδρομές Premium, αυτόματα ενεργοποιώντας τη δυνατότητα Αυτόματες συναθροίσεις στο μοντέλο Ρυθμίσεις.

Δημιουργία πινάκων συνάθροισης

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

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

Διαχείριση συναθροίσεων

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

Στιγμιότυπο οθόνης επιλογής διαχείρισης συναθροίσεων.

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

Στιγμιότυπο οθόνης που εμφανίζει το παράθυρο διαλόγου

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

Επικυρώσεις

Το παράθυρο διαλόγου Διαχείριση συναθροίσεων επιβάλλει επικυρώσεις:

  • Η Στήλη λεπτομερειών πρέπει να έχει τον ίδιο τύπο δεδομένων με τη Στήλη συνάθροισης, εκτός από τις συναρτήσεις Σύνοψης του πίνακα Πλήθος και Πλήθος γραμμών πίνακα. Οι συναρτήσεις Πλήθος και Πλήθος γραμμών πίνακα είναι διαθέσιμες μόνο για στήλες συνάθροισης ακεραίων και δεν απαιτούν έναν αντίστοιχο τύπο δεδομένων.
  • Δεν επιτρέπονται αλυσιδωτές συναθροίσεις που καλύπτουν τρεις ή περισσότερους πίνακες. Για παράδειγμα, οι συναθροίσεις στον Πίνακα Α δεν μπορούν να αναφέρονται σε έναν Πίνακα B που έχει συναθροίσεις που αναφέρονται σε έναν Πίνακα C.
  • Δεν επιτρέπονται διπλότυπες συναθροίσεις όπου δύο καταχωρήσεις χρησιμοποιούν την ίδια συνάρτηση σύνοψης και αναφέρονται στον ίδιο Πίνακα λεπτομερειών και Στήλη λεπτομερειών.
  • Ο Πίνακας λεπτομερειών πρέπει να χρησιμοποιεί τη λειτουργία αποθήκευσης DirectQuery, όχι την Εισαγωγή.
  • Η ομαδοποίηση με βάση μια στήλη εξωτερικού κλειδιού που χρησιμοποιείται από μια ανενεργή σχέση και βασίζεται στη συνάρτηση USERELATIONSHIP για επιτυχίες συνάθροισης δεν υποστηρίζεται.
  • Οι συναθροίσεις που βασίζονται σε στήλες Ομαδοποίηση_κατά μπορούν να χρησιμοποιήσουν σχέσεις μεταξύ πινάκων συνάθροισης, αλλά η σύνταξη σχέσεων μεταξύ πινάκων συνάθροισης δεν υποστηρίζεται στο Power BI Desktop. Εάν είναι απαραίτητο, μπορείτε να δημιουργήσετε σχέσεις μεταξύ πινάκων συνάθροισης χρησιμοποιώντας ένα εργαλείο τρίτου ή μια λύση δέσμης ενεργειών μέσω XML για τελικά σημεία ανάλυσης (XMLA).

Οι περισσότερες επικυρώσεις επιβάλλονται με την απενεργοποίηση τιμών αναπτυσσόμενης λίστας και την εμφάνιση επεξηγηματικού κειμένου στη συμβουλή εργαλείου.

Επικυρώσεις που εμφανίζονται σε συμβουλή εργαλείου

Οι πίνακες συνάθροισης είναι κρυφοί

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

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

λειτουργίες Υπηρεσία αποθήκευσης

Η δυνατότητα συνάθροισης αλληλεπιδρά με τις λειτουργίες αποθήκευσης σε επίπεδο πίνακα. Οι πίνακες Power BI μπορούν να χρησιμοποιούν τις λειτουργίες αποθήκευσης DirectQuery, Εισαγωγή ή Διπλή . Το DirectQuery υποβάλλει απευθείας ερώτημα στο παρασκήνιο, ενώ η επιλογή Εισαγωγή αποθηκεύει δεδομένα στη μνήμη και αποστέλλει ερωτήματα στα δεδομένα στο cache. Όλες οι προελεύσεις δεδομένων Εισαγωγής Power BI και μη πολυδιάστατες DirectQuery μπορούν να λειτουργήσουν με συναθροίσεις.

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

Στιγμιότυπο οθόνης επιλογής της λειτουργίας αποθήκευσης.

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

RLS για συναθροίσεις

Για να λειτουργήσουν σωστά για συναθροίσεις, οι παραστάσεις RLS πρέπει να φιλτράρουν τον πίνακα συνάθροισης και τον πίνακα λεπτομερειών.

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

Επιτυχής RLS για συναθροίσεις

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

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

Δεν επιτρέπεται RLS μόνο σε πίνακα συνάθροισης

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

Συνάθροιση που βασίζεται σε σχέσεις

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

Στο παρακάτω παράδειγμα, το μοντέλο λαμβάνει δεδομένα από μία μόνο προέλευση δεδομένων. Οι πίνακες χρησιμοποιούν τη λειτουργία αποθήκευσης DirectQuery. Ο πίνακας δεδομένων Πωλήσεις περιέχει δισεκατομμύρια γραμμές. Ο ορισμός της λειτουργίας αποθήκευσης του Sales σε Import για προσωρινή αποθήκευση θα καταναλώσει σημαντική επιβάρυνση μνήμης και πόρων.

Πίνακες λεπτομερειών σε ένα μοντέλο

Αντί για αυτό, δημιουργήστε τον πίνακα συνάθροισης Sales Agg . Στον πίνακα Συνάθροισμα πωλήσεων, ο αριθμός των γραμμών ισούται με το άθροισμα των SalesAmount ομαδοποιημένων κατά CustomerKey, DateKey και ProductSubcategoryKey. Ο πίνακας Συνάθροισμα πωλήσεων είναι σε υψηλότερο επίπεδο λεπτομέρειας από τον πίνακα Πωλήσεις, επομένως, αντί για δισεκατομμύρια, μπορεί να περιέχει εκατομμύρια γραμμές, το οποίο είναι πιο εύκολο να το διαχειριστείτε.

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

  • Γεωγραφική θέση
  • Πελάτη
  • Ημερομηνία
  • Υποκατηγορία προϊόντων
  • Κατηγορία προϊόντος

Η παρακάτω εικόνα εμφανίζει αυτό το μοντέλο.

Πίνακας συνάθροισης σε ένα μοντέλο

Ο παρακάτω πίνακας εμφανίζει τις συναθροίσεις για τον πίνακα Sales Agg .

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

Σημείωμα

Ο πίνακας Sales Agg , όπως και κάθε άλλος πίνακας, έχει την ευελιξία να φορτωθεί με διάφορους τρόπους. Η συνάθροιση μπορεί να εκτελεστεί στη βάση δεδομένων προέλευσης, χρησιμοποιώντας τις διαδικασίες ETL/ELT ή από την παράσταση M για τον πίνακα. Ο πίνακας συνάθροισης μπορεί να χρησιμοποιήσει τη λειτουργία αποθήκευσης "Εισαγωγή", με ή χωρίς επαυξητική ανανέωση για σημασιολογικά μοντέλα, ή μπορεί να χρησιμοποιήσει DirectQuery και να βελτιστοποιηθεί για γρήγορα ερωτήματα με ευρετήρια columnstore. Αυτή η ευελιξία επιτρέπει ισορροπημένες αρχιτεκτονικές που μπορούν να εξαπλώσουν το φόρτο ερωτημάτων για την αποφυγή συμφορήσεων.

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

Παράθυρο διαλόγου λειτουργίας Υπηρεσία αποθήκευσης

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

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

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

Κανονικές έναντι περιορισμένων σχέσεων

Οι επισκέψεις συνάθροισης που βασίζεται στις σχέσεις προϋποθέτουν κανονικές σχέσεις.

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

Πίνακας στην πλευρά πολλά Πίνακας στην πλευρά 1
Διπλή Διπλή
Εισαγωγή Εισαγωγή ή Διπλή
DirectQuery DirectQuery ή Διπλή

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

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

Παραδείγματα ερωτήματος συνάθροισης που βασίζεται σε σχέσεις

Το παρακάτω ερώτημα χρησιμοποιεί τη συνάθροιση, επειδή οι στήλες στον πίνακα Date είναι σε υποδιαίρεση που μπορεί να χρησιμοποιήσει τη συνάθροιση. Η στήλη SalesAmount χρησιμοποιεί τη συνάθροιση Sum .

Επιτυχημένο ερώτημα συνάθροισης που βασίζεται σε σχέσεις

Το παρακάτω ερώτημα δεν χρησιμοποιεί τη συνάθροιση. Παρόλο που ζητά το άθροισμα του SalesAmount, το ερώτημα εκτελεί μια λειτουργία GroupBy σε μια στήλη στον πίνακα Product , η οποία δεν είναι σε επίπεδο υποδιαίρεσης που μπορεί να χρησιμοποιήσει τη συνάθροιση. Εάν παρακολουθήσετε τις σχέσεις στο μοντέλο, μια υποκατηγορία προϊόντος μπορεί να έχει πολλές γραμμές Product . Το ερώτημα δεν θα μπορεί να καθορίσει με βάση ποιο προϊόν πρέπει να συναθροιστεί. Σε αυτή την περίπτωση, το ερώτημα επαναφέρεται σε DirectQuery και υποβάλλει ένα ερώτημα SQL στην προέλευση δεδομένων.

Ερώτημα που δεν μπορεί να χρησιμοποιήσει τη συνάθροιση

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

Σύνθετο ερώτημα συνάθροισης

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

Ερώτημα συνάθροισης COUNTROWS

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

Ερώτημα συνάθροισης AVERAGE

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

Ερώτημα συνάθροισης DISTINCTCOUNT

Οι συναρτήσεις χρονικής ευφυΐας των παραστάσεων ανάλυσης δεδομένων (DAX) έχουν επίγνωση συνάθροισης. Το παρακάτω ερώτημα χρησιμοποιεί τη συνάθροιση, επειδή η συνάρτηση DATESYTD δημιουργεί έναν πίνακα τιμών Ημερολογιακή_ημέρα και ο πίνακας συνάθροισης είναι σε επίπεδο υποδιαίρεσης που καλύπτεται για στήλες ομαδοποίησης στον πίνακα Ημερομηνία . Αυτό είναι ένα παράδειγμα ενός φίλτρου με τιμή πίνακα στη συνάρτηση CALCULATE, το οποίο μπορεί να λειτουργήσει με συναθροίσεις.

Ερώτημα συνάθροισης SUMMARIZECOLUMNS

Συνάθροιση που βασίζεται σε στήλες Ομαδοποίηση_κατά

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

Ο παρακάτω πίνακας περιέχει την αριθμητική στήλη Movement προς συνάθροιση. Όλες οι άλλες στήλες είναι χαρακτηριστικά για ομαδοποίηση κατά. Ο πίνακας περιέχει δεδομένα IoT και τεράστιο αριθμό γραμμών. Η λειτουργία αποθήκευσης είναι DirectQuery. Τα ερωτήματα στην προέλευση δεδομένων που συναθροίζονται σε ολόκληρο το μοντέλο είναι αργά λόγω του μεγάλου όγκου.

Ένας πίνακας IoT

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

Πίνακας Driver Activity Agg

Ορίζετε τις αντιστοιχίσεις συνάθροισης για τον πίνακα Driver Activity Agg στο παράθυρο διαλόγου Διαχείριση συναθροίσεων .

Παράθυρο διαλόγου

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

Ο παρακάτω πίνακας εμφανίζει τις συναθροίσεις για τον πίνακα Driver Activity Agg .

Πίνακας συναθροίσεων δραστηριοτήτων οδηγού

Μπορείτε να ορίσετε τη λειτουργία αποθήκευσης του πίνακα συνάθροισης Συνάθροιση δραστηριοτήτων οδηγού σε Εισαγωγή.

Παράδειγμα ερωτήματος συνάθροισης GroupBy

Το παρακάτω ερώτημα χρησιμοποιεί τη συνάθροιση, επειδή η στήλη Activity Date καλύπτεται από τον πίνακα συνάθροισης. Η συνάρτηση COUNTROWS χρησιμοποιεί τη συνάθροιση Πλήθος γραμμών πίνακα.

Επιτυχημένο ερώτημα συνάθροισης GroupBy

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

Παράθυρο διαλόγου

Συνδυασμός τεχνικών συνάθροισης

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

Για παράδειγμα, το ακόλουθο μοντέλο αναπαράγει τους πίνακες Month, Quarter, Semester και Year στον πίνακα Sales Agg . Δεν υπάρχει καμία σχέση μεταξύ του πίνακα Συνάθροειες πωλήσεων και του πίνακα Ημερομηνία , αλλά υπάρχουν σχέσεις με τα στοιχεία Πελάτης και Υποκατηγορία προϊόντος. Η λειτουργία αποθήκευσης του Sales Agg είναι Import.

Συνδυασμός τεχνικών συνάθροισης

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

Καταχωρήσεις για τον πίνακα συναθροίσεων Sales Agg

Παραδείγματα συνδυασμένου ερωτήματος συνάθροισης

Το παρακάτω ερώτημα χρησιμοποιεί τη συνάθροιση, επειδή ο πίνακας συνάθροισης που καλύπτει τα στοιχεία CalendarMonth και CategoryName είναι προσβάσιμος μέσω σχέσεων ένα-προς-πολλά. Το SalesAmount χρησιμοποιεί τη συνάθροιση SUM .

Παράδειγμα ερωτήματος που χρησιμοποιεί τη συνάθροιση

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

Στιγμιότυπο οθόνης που εμφανίζει το κείμενο ενός ερωτήματος που περιλαμβάνει το CalendarDay.

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

Στιγμιότυπο οθόνης που εμφανίζει το κείμενο ενός ερωτήματος που περιλαμβάνει τη συνάρτηση DATESYTD.

Προτεραιότητα συνάθροισης

Η προτεραιότητα συνάθροισης επιτρέπει σε πολλούς πίνακες συνάθροισης να λαμβάνονται υπόψη από ένα μόνο δευτερεύον ερώτημα.

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

  • Ο πίνακας DirectQuery Δραστηριότητα οδηγού περιέχει πάνω από ένα τρισεκατομμύριο γραμμές δεδομένων IoT που προέρχονται από ένα σύστημα δεδομένων μεγάλου όγκου. Εξυπηρετεί ερωτήματα άντλησης για την προβολή μεμονωμένων μετρήσεων IoT σε ελεγχόμενα περιβάλλοντα φίλτρου.
  • Ο πίνακας Driver Activity Agg είναι ένας πίνακας ενδιάμεσης συνάθροισης σε λειτουργία DirectQuery. Περιέχει πάνω από ένα δισεκατομμύριο γραμμές στο Azure Synapse Analytics (πρώην Αποθήκη δεδομένων SQL) και έχει βελτιστοποιηθεί στην προέλευση χρησιμοποιώντας ευρετήρια columnstore.
  • Ο πίνακας Εισαγωγή δραστηριοτήτων οδηγού 2 είναι σε υψηλή υποδιαίρεση, επειδή τα χαρακτηριστικά ομαδοποίησης είναι λίγα και η πληθικότητα χαμηλή. Ο αριθμός των γραμμών μπορεί να είναι μόνο χιλιάδες, ώστε να χωράει εύκολα σε ένα cache στη μνήμη. Αυτά τα χαρακτηριστικά χρησιμοποιούνται από έναν πίνακα εργαλείων υψηλόβαθμων στελεχών, επομένως, τα ερωτήματα που αναφέρονται σε αυτά θα πρέπει να είναι όσο το δυνατόν ταχύτερα.

Σημείωμα

Οι πίνακες συνάθροισης DirectQuery που χρησιμοποιούν διαφορετική προέλευση δεδομένων από τον πίνακα λεπτομερειών υποστηρίζονται μόνο εάν ο πίνακας συνάθροισης προέρχεται από μια προέλευση SQL Server, Azure SQL ή Azure Synapse Analytics (πρώην Αποθήκη δεδομένων SQL).

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

Πίνακες για ένα μοντέλο με μικρό ίχνος που ξεκλειδώνει ένα τεράστιο μοντέλο

Το παράθυρο διαλόγου Διαχειριζόμενες συναθροίσεις για τον πίνακα Συνάθροιση δραστηριοτήτων οδηγού 2 ορίζει το πεδίο Προτεραιότητα σε 10, το οποίο είναι υψηλότερο από ότι για τον πίνακα Συνάθροιση δραστηριοτήτων οδηγού. Η ρύθμιση υψηλότερης προτεραιότητας σημαίνει ότι τα ερωτήματα που χρησιμοποιούν συναθροίσεις εξετάζουν πρώτα τη Συνάθροιση δραστηριοτήτων οδηγού 2 . Τα δευτερεύοντα ερωτήματα που δεν είναι σε υποδιαίρεση που μπορεί να απαντηθεί από τον πίνακα Συνάθροις δραστηριοτήτων οδηγού 2 μπορούν να εξετάζουν εναλλακτικά τον πίνακα Συνάθροεια δραστηριοτήτων οδηγού. Τα ερωτήματα λεπτομερειών που δεν μπορούν να απαντηθούν από οποιονδήποτε πίνακα συνάθροισης μπορούν να κατευθύνουν στην ενότητα Δραστηριότητα οδηγού.

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

Στιγμιότυπο οθόνης που εμφανίζει το παράθυρο διαλόγου

Ο παρακάτω πίνακας εμφανίζει τις συναθροίσεις για τον πίνακα Driver Activity Agg2 .

Πίνακας συναθροίσεων Driver Activity Agg2

Εντοπισμός κατά πόσον τα ερωτήματα χτυπούν ή χάνουν συναθροίσεις

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

Το SQL Profiler παρέχει επίσης το Query Processing\Aggregate Table Rewrite Query εκτεταμένο συμβάν.

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

  • Το matchingResult εμφανίζει ότι το δευτερεύον ερώτημα χρησιμοποίησε μια συνάθροιση.
  • Το dataRequest εμφανίζει τις στήλες GroupBy και τις συγκεντρωτικές στήλες που χρησιμοποιούνται από το δευτερεύον ερώτημα.
  • Η αντιστοίχιση εμφανίζει τις στήλες στον πίνακα συνάθροισης που έχουν αντιστοιχιστεί.

Έξοδος από ένα συμβάν όταν χρησιμοποιείται συνάθροιση

Διατήρηση των cache σε συγχρονισμό

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

Ζητήματα προς εξέταση και περιορισμοί

  • Οι συναθροίσεις δεν υποστηρίζουν δυναμικές παραμέτρους ερωτήματος M.

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

Community

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