GROUPBY
Ισχύει για:Υπολογιζόμενη στήληΥπολογιζόμενος πίνακαςMeasureΥπολογισμός απεικόνισης
Σημείωση
Αυτή η συνάρτηση δεν συνιστάται να χρησιμοποιηθεί σε υπολογισμούς απεικονίσεων καθώς πιθανώς επιστρέφει ανούσια αποτελέσματα.
Η συνάρτηση GROUPBY είναι παρόμοια με τη συνάρτηση SUMMARIZE. Ωστόσο, GROUPBYnot κάνει μια έμμεση CALCULATE για τυχόν στήλες επέκτασης που προσθέτει. GROUPBY επιτρέπει σε μια νέα συνάρτηση, CURRENTGROUP, να χρησιμοποιηθεί μέσα σε συναρτήσεις συνάθροισης στις στήλες επέκτασης που προσθέτει. GROUPBY χρησιμοποιείται για την εκτέλεση πολλαπλών συναθροίσεων σε μία σάρωση πίνακα.
Σύνταξη
GROUPBY (<table> [, <groupBy_columnName> [, <groupBy_columnName> [, …]]] [, <name>, <expression> [, <name>, <expression> [, …]]])
Παραμέτρους
Όρος | Ορισμός |
---|---|
table |
Οποιαδήποτε DAX παράσταση που επιστρέφει έναν πίνακα δεδομένων. |
groupBy_columnName |
Το όνομα μιας υπάρχουσας στήλης στον πίνακα (or σε έναν related πίνακα,) βάσει του οποίου θα ομαδοποιηθούν τα δεδομένα. Αυτή η παράμετρος δεν μπορεί να είναι παράσταση. |
name |
Το όνομα που δίνεται σε μια νέα στήλη που προστίθεται στη λίστα των GroupBy στηλών, μέσα σε διπλά εισαγωγικά. |
expression |
Μία από τις συναρτήσεις συνάθροισης X με το όρισμα first να είναι CURRENTGROUP(). Ανατρέξτε στην ενότητα Με CURRENTGROUP παρακάτω για την πλήρη λίστα των υποστηριζόμενων συναρτήσεων συνάθροισης X. |
Επιστροφή value
Ένας πίνακας με τις επιλεγμένες στήλες για τα groupBy_columnName ορίσματα and τις στήλες επέκτασης που ορίζονται από τα ορίσματα ονόματος.
Παρατηρήσεις
Η συνάρτηση GROUPBY κάνει τα εξής:
Ξεκινήστε με τον καθορισμένο πίνακα (andallrelated πίνακες στην κατεύθυνση "προς ένα").
Δημιουργήστε μια ομαδοποίηση χρησιμοποιώντας all των GroupBy στηλών (οι οποίες πρέπει να υπάρχουν στον πίνακα από το βήμα #1.).
Κάθε ομάδα είναι μία γραμμή στο αποτέλεσμα, αλλά αντιπροσωπεύει ένα σύνολο γραμμών στον αρχικό πίνακα.
Για κάθε ομάδα, evaluate τις στήλες επέκτασης που προστίθενται. Σε αντίθεση με τη συνάρτηση SUMMARIZE, CALCULATE εκτελεστεί μια σιωπηρή notand η ομάδα δεν τοποθετείται στο filter περιβάλλον.
Κάθε στήλη για την οποία define ένα όνομα πρέπει να έχει μια αντίστοιχη παράσταση. Διαφορετικά, επιστρέφεται μια error. Το first όρισμα, όνομα, ορίζει το όνομα της στήλης στα αποτελέσματα. Το second όρισμα, η παράσταση, ορίζει τον υπολογισμό που εκτελέστηκε για να ληφθεί η value για κάθε γραμμή σε αυτήν τη στήλη.
groupBy_columnName
πρέπει να βρίσκονται σε or πίνακα σε έναν related πίνακα.Κάθε όνομα πρέπει να περικλείεται σε διπλά εισαγωγικά.
Η συνάρτηση ομαδοποιεί ένα επιλεγμένο σύνολο γραμμών σε ένα σύνολο γραμμών σύνοψης κατά values μίας or περισσότερων groupBy_columnName στηλών. Επιστρέφεται μία γραμμή για κάθε ομάδα.
GROUPBY χρησιμοποιείται κυρίως για την εκτέλεση συναθροίσεων μέσω ενδιάμεσων αποτελεσμάτων από DAX παραστάσεις πίνακα. Για αποτελεσματικές συναθροίσεις σε φυσικούς πίνακες στο μοντέλο, εξετάστε το ενδεχόμενο να χρησιμοποιήσετε SUMMARIZECOLUMNSorSUMMARIZE συνάρτηση.
Αυτή η συνάρτηση υποστηρίζεται not για χρήση σε λειτουργία DirectQuery όταν χρησιμοποιείται σε υπολογιζόμενες στήλες or κανόνες ασφάλειας σε επίπεδο γραμμών (RLS).
Με CURRENTGROUP
CURRENTGROUP μπορεί να χρησιμοποιηθεί μόνο σε μια παράσταση που ορίζει μια στήλη επέκτασης εντός της συνάρτησης GROUPBY. In-effect, CURRENTGROUP επιστρέφει ένα σύνολο γραμμών από το όρισμα table του GROUPBY που ανήκουν στην τρέχουσα γραμμή του GROUPBY αποτελέσματος. Η συνάρτηση CURRENTGROUP δεν λαμβάνει ορίσματα and υποστηρίζεται μόνο ως το όρισμα first σε μία από τις παρακάτω συναρτήσεις συνάθροισης: AVERAGEX, COUNTAX, COUNTX, GEOMEANX, MAXX, MINX, PRODUCTX, STDEVX.S, STDEVX.P, SUMX, VARX.S, VARX.P.
Παράδειγμα
Το παρακάτω παράδειγμα first υπολογίζει τις συνολικές πωλήσεις ομαδοποιημένες κατά χώρα andproduct κατηγορία σε φυσικούς πίνακες, χρησιμοποιώντας τη συνάρτηση SUMMARIZECOLUMNS. Στη συνέχεια, χρησιμοποιεί τη συνάρτηση GROUPBY για να σαρώσει το ενδιάμεσο αποτέλεσμα από το first βήμα για να find τις μέγιστες πωλήσεις σε κάθε χώρα σε όλες τις κατηγορίες product.
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])
)
Related περιεχομένου
συνάρτησης