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


GROUPBY

Ισχύει για: Υπολογισμός απεικόνισης υπολογιζόμενης στήλης υπολογιζόμενου πίνακα Μέτρηση

Σημείωμα

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

Η συνάρτηση GROUPBY είναι παρόμοια με τη συνάρτηση SUMMARIZE . Ωστόσο, η GROUPBY δεν χρησιμοποιεί έμμεσα την CALCULATE για τυχόν στήλες επέκτασης που προσθέτει. Η GROUPBY επιτρέπει σε μια νέα συνάρτηση, την CURRENTGROUP, να χρησιμοποιηθεί μέσα σε συναρτήσεις συνάθροισης στις στήλες επέκτασης που προσθέτει. Η GROUPBY χρησιμοποιείται για την εκτέλεση πολλών συναθροίσεων σε μία σάρωση πίνακα.

Σύνταξη

GROUPBY (<table> [, <groupBy_columnName> [, <groupBy_columnName> [, …]]] [, <name>, <expression> [, <name>, <expression> [, …]]])

Παράμετροι

Όρος Ορισμός
πίνακας Οποιαδήποτε παράσταση DAX που επιστρέφει έναν πίνακα δεδομένων.
groupBy_columnName Το όνομα μιας υπάρχουσας στήλης στον πίνακα (ή σε έναν σχετιζόμενο πίνακα), κατά το οποίο τα δεδομένα θα ομαδοποιηθούν. Αυτή η παράμετρος δεν μπορεί να είναι παράσταση.
όνομα Το όνομα που δίνεται σε μια νέα στήλη που προστίθεται στη λίστα των στηλών GroupBy, μέσα σε διπλά εισαγωγικά.
έκφραση Μία από τις συναρτήσεις συνάθροισης X με το πρώτο όρισμα να είναι η CURRENTGROUP(). Ανατρέξτε στην ενότητα "Με την CURRENTGROUP" παρακάτω για την πλήρη λίστα των υποστηριζόμενων συναρτήσεων συνάθροισης X.

Επιστρεφόμενη αξία

Ένας πίνακας με τις επιλεγμένες στήλες για τα groupBy_columnName ορίσματα και τις στήλες επέκτασης που ορίζονται από τα ορίσματα ονόματος.

Παρατηρήσεις

  • Η συνάρτηση GROUPBY κάνει τα εξής:

    1. Ξεκινήστε με τον καθορισμένο πίνακα (και όλους τους σχετικούς πίνακες στην κατεύθυνση "προς ένα").

    2. Δημιουργήστε μια ομαδοποίηση χρησιμοποιώντας όλες τις στήλες Ομαδοποίηση_κατά (οι οποίες απαιτείται να υπάρχουν στον πίνακα από το βήμα #1.).

    3. Κάθε ομάδα είναι μία γραμμή στο αποτέλεσμα, αλλά αντιπροσωπεύει ένα σύνολο γραμμών στον αρχικό πίνακα.

    4. Για κάθε ομάδα, αξιολογήστε τις στήλες επέκτασης που προστίθενται. Σε αντίθεση με τη συνάρτηση SUMMARIZE, δεν εκτελείται μια σιωπηρή CALCULATE και η ομάδα δεν τοποθετείται στο περιβάλλον φίλτρου.

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

  • groupBy_columnName πρέπει να βρίσκονται είτε σε πίνακα είτε σε σχετιζόμενο πίνακα.

  • Κάθε όνομα πρέπει να περικλείεται σε διπλά εισαγωγικά.

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

  • Η GROUPBY χρησιμοποιείται κυρίως για την εκτέλεση συναθροίσεων μέσω ενδιάμεσων αποτελεσμάτων από παραστάσεις πίνακα DAX. Για αποτελεσματικές συναθροίσεις σε φυσικούς πίνακες στο μοντέλο, εξετάστε το ενδεχόμενο να χρησιμοποιήσετε τη συνάρτηση SUMMARIZECOLUMNS ή SUMMARIZE .

  • Αυτή η συνάρτηση δεν υποστηρίζεται για χρήση σε λειτουργία DirectQuery όταν χρησιμοποιείται σε υπολογιζόμενες στήλες ή σε κανόνες ασφάλειας σε επίπεδο γραμμών (RLS).

Με την CURRENTGROUP

Η CURRENTGROUP μπορεί να χρησιμοποιηθεί μόνο σε μια παράσταση που ορίζει μια στήλη επέκτασης εντός της συνάρτησης GROUPBY. Με αυτόν τον τρόπο, η CURRENTGROUP επιστρέφει ένα σύνολο γραμμών από το όρισμα πίνακα της GROUPBY που ανήκουν στην τρέχουσα γραμμή του αποτελέσματος της GROUPBY. Η συνάρτηση CURRENTGROUP δεν λαμβάνει ορίσματα και υποστηρίζεται μόνο ως πρώτο όρισμα σε μία από τις ακόλουθες συναρτήσεις συνάθροισης: AVERAGEX, COUNTAX, COUNTX, GEOMEANX, MAXX, MINX, PRODUCTX, STDEVX. S, STDEVX. P, SUMX, VARX. S, VARX. Π.

Παράδειγμα

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

DEFINE  
VAR SalesByCountryAndCategory =  
SUMMARIZECOLUMNS(  
Geography[Country],
Product[Category],
"Total Sales", SUMX(Sales, Sales[Price] * Sales[Qty])  
)  
  
EVALUATE
GROUPBY(  
SalesByCountryAndCategory,
Geography[Country],
"Max Sales", MAXX(CURRENTGROUP(), [Total Sales])  
)  

Συνάρτηση SUMMARIZE
Συνάρτηση SUMMARIZECOLUMNS