Funcția GROUPBY vă permite să creați un rezumat al datelor printr-o formulă. Acceptă gruparea pe o axă și agregarea valorilor asociate. De exemplu, dacă ați avut un tabel cu date despre vânzări, puteți genera un rezumat al vânzărilor după an.
Sintaxă
Funcția GROUPBY vă permite să grupați, să agregați, să sortați și să filtrați datele pe baza câmpurilor specificate.
Sintaxa funcției GROUPBY este:
GROUPBY(row_fields,valori,funcție,[field_headers],[total_depth],[sort_order],[filter_array],[field_relationship])
Argument |
Descriere |
---|---|
row_fields (obligatoriu) |
Este o matrice sau o zonă orientată pe coloane care conține valorile care sunt utilizate pentru a grupa rânduri și a genera anteturi de rând. Matricea sau zona pot conține mai multe coloane. În acest caz, rezultatul va avea mai multe niveluri de grupare de rânduri. |
valori (obligatoriu) |
Este o matrice sau o zonă de date orientată pe coloană pentru a agrega. Matricea sau zona pot conține mai multe coloane. În acest caz, ieșirea va avea mai multe agregări. |
funcție (obligatoriu) |
O valoare explicită sau eta redusă lambda (SUM, PROCENTDIN, AVERAGE, COUNT etc.) care este utilizată pentru a agrega valori. Poate fi furnizat un vector de lambdas. În acest caz, ieșirea va avea mai multe agregări. Orientarea vectorului va determina dacă acestea sunt prevăzute în rânduri sau coloane. |
field_headers |
Un număr care specifică dacă row_fields și valorile au anteturi și dacă anteturile de câmp trebuie returnate în rezultate. Valorile posibile sunt: Lipsește: Automat (implicit) 0: Nu 1: Da și nu se afișează 2: Nu, dar se generează 3: Da și se afișeazăNotă: Automat presupune că datele conțin anteturi pe baza argumentului de valori. Dacă prima valoare este text și a doua valoare este un număr, atunci se presupune că datele au anteturi. Anteturile câmpurilor sunt afișate dacă există mai multe niveluri de grupare de rânduri sau coloane. |
total_depth |
Determină dacă anteturile de rând trebuie să conțină totaluri. Valorile posibile sunt: Lipsă: Automat: Totaluri generale și, dacă este posibil, subtotaluri (implicit) 0: Fără totaluri 1: Totaluri generale2: General și Subtotaluri-1 : Totaluri generale în Top-2 : General și Subtotaluri susNotă: Pentru subtotaluri, câmpurile trebuie să aibă cel puțin 2 coloane. Numerele mai mari decât 2 sunt acceptate Câmpul furnizat are suficiente coloane. |
sort_order |
Este un număr care indică modul în care ar trebui sortate rândurile. Numerele corespund coloanelor din row_fields urmate de coloanele din valori. Dacă numărul este negativ, rândurile sunt sortate în ordine descendentă/inversă. Un vector de numere poate fi furnizat atunci când sortați doar pe baza row_fields. |
filter_array |
Este o matrice 1D orientată pe coloană de booleani care indică dacă trebuie luat în considerare rândul de date corespunzător. Notă: Lungimea matricei trebuie să se potrivească cu lungimea celor furnizate pentru row_fields. |
field_relationship |
Specifică câmpurile de relație atunci când sunt furnizate mai multe coloane pentru a row_fields. Valorile posibile sunt: 0: Ierarhie (implicit) 1: TabelCu o relație de câmp Ierarhie (0), sortarea coloanelor de câmp ulterioare ia în considerare ierarhia coloanelor anterioare. Cu o relație de câmp Tabel (1), sortarea fiecărei coloane de câmp se efectuează independent. Subtotalurile nu sunt acceptate, deoarece se bazează pe datele care au o ierarhie. |
Exemple
Exemplul 1: utilizați GROUPBY pentru a genera un rezumat al vânzărilor totale după an.
Exemplul 2: utilizați GROUPBY pentru a genera un rezumat al vânzărilor totale după produs. Sortați descendent după vânzări.