Power Pivot (3) – Sortarea dupa o alta coloana (Sort by Column)
Incepand din 11 iulie 2016, vom publica in fiecare zi de luni si de joi cate un articol din seria de zece cursuri gratuite dedicate Power Pivot pentru Excel 2013.
ENJOY THE POWER! 🙂
Power Pivot furnizeaza posibilitatea sortari simple a unei coloane (crescator sau descrescator) sau sortarea unei coloane dupa o alta coloana (Sort by Column).
Dati click undeva in interiorul coloanei respective si apasati butonul de sortare Sort A to Z / Sort Z to A din sectiunea Sort and Filter a meniului Home din Power Pivot.
Spre deosebire de optiunile clasice furnizate de Excel, Power Pivot furnizeaza optiunea de sortare a unei coloane, dupa alta coloana. Sa vedem ce inseamna asta.
Se da un model de date format din cinci tabele relationate, astfel:
Tabelul tblProducts contine coloana ID Produs, Denumire si Stoc, unui ID de produs corespunzandu-i o singura denumire.
In tabelul tblDetails, vreti sa sortati utilizand Power BI, astfel incat denumirile produselor sa apara crescator, DAR nu alfabetic, ci crescator, dupa ID Produs.
Pentru a intelege si urmari mai bine modalitatea de sortarea cu ajutorul optiunii Sort by Column, am creat in tabelul initial tblDetails o coloana denumita Article ID, care contine numerele de la 1 la 58.
Arata al catelea articol din baza de date initiala (inainte de a face vreun fel de sortare) este o inregistrare.
Apasati butonul Sort by Column din meniul Home al Power Pivot.
Observati ca aparent nu s-a intamplat nimic in baza de date.
Pozitionati cursorul in coloana Denumire produs si apasati acum butonul Sort A to Z.
Articolele apar acum sortate crescator, dar nu alfabetic, ci dupa ID Produs.
Observatie: Nu este necesara aplicarea sortarii (ca mai sus), decat daca vreti sa si vedeti cum s-a realizat sortarea unei coloane dupa alta coloana. Rezultatul va aparea vizibil in PowerPivot, atunci cand adaugati coloana Denumire in campul Rows.
Observati cum coloana Denumire a fost sortata prin definitie, in ordinea crescatoare a ID-urilor de produs. In plus, pentru acelasi ID de produs (un produs poate aparea pe multe comenzi), articolele sunt ordonate crescator in functie de pozitia lor in baza de date (Article ID).
Sa incercam sa sortam acum coloana Denumire produs dupa coloana Staus ID (acolo unde poate aparea statusul Facturat, Draft, -, Lipsa stoc).
Veti primi urmatorul mesaj de eroare:
Ce inseamna acest lucru si la ce mai foloseste atunci Sort by column?
Mesajul de eroare indica faptul ca sortarea unei coloane dupa o alta coloana, nu se poate realiza decat daca intrarilor din prima coloana (in exemplul de mai sus, Denumire produs) le corespunde cate o singura intrare din cea de-a doua coloana (coloana din rubrica By). Or, in exemplul nostru, un produs poate aparea in multiple comenzi, fiecare cu alt status.
La ce foloseste?
Nu-i asa ca vi s-a intamplat sa aveti o coloana denumita Luna, cu denumirile lunilor? Ce se intampla daca realizam o sinteza in Pivot Table, inserand pe Rows aceasta coloana? Lunile vor aparea in ordinea alfabetica, crescatoare, astfel incat luna Aprilie va aparea intotdeauna prima.
Daca gandim in termeni clasici de Excel, putem utiliza sortarea dupa o lista customizata (in care Ianuarie sa apara primul). Numai ca Power BI nu permite acest tip de sortare, analiza datelor utilizand Power Pivot utilizeaza exclusiv baze de date. Ganditi-va acum ca, in loc de luna, aveti doua coloane: indicativ luna (de la 1 la 12), respectiv luna (continand denumirea lunii). In modelul de date, utilizati Sort by column, astfel incat denumirea lunii sa fie sortata dupa indicativul de luna.
Gata! Acum lunile apar in ordine crescatoare dupa indicativul de luna, si nu alfabetic.
Sortarea dupa o coloana din alt tabel al modelului de date
Sa presupunem ca in tabelul tblDetails nu exista coloana Denumire, aceasta apare doar in tabelul tblProducts, tabel cu trei coloane: ID Produs, Denumire produs si Stoc.
Unui ID de produs ii corespunde O SINGURA denumire.
Tabelele tblDetails si tblProducts sunt relationate prin coloana ID Produs.
Remember! Este o buna practica sa denumiti coloanele la fel in tabele diferite, daca se refera la acelasi tip de caracteristica, pentru a le putea identifica mai usor. De asemenea, este o buna practica adaugarea unui sufix/prefix (de exemplu ID) la toate etichetele de coloane care reprezinta cheia primara a tabelului (valori unice!) sau cheia externa (care este cheie primara in alt tabel relationat).
Pentru a putea utiliza optiunea Sort by column in tabelul tblDetails din modelul de date, inserati o noua coloana (de exemplu, chiar dupa coloana ID Produs).
Se insereaza o noua coloana, denumita prin definitie CalculatedColumn1.
In prima celula a coloanei introduceti formula RELATED(tblProducts[Denumire]).
Gata! Ati “adus” coloana Denumire din tabelul tblProducts in tabelul tblDetails din modelul de date.
Nu-i asa ca a inceput sa nu vi se mai para interesant VLOOKUP? 🙂
ATENTIE! Aceasta operatiune (inserarea unei coloane calculate) este vizibila doar in Power BI, nu s-au modificat cu nimic datele initiale de la care a pornit modelul (adica tabelele din fisierul de lucru).
Acum puteti sorta utilizand optiunea Sort by column, exact asa cum am explicat anterior.
Stergerea unei reguli de sortare dupa alta coloana
Pentru a sterge un anumit tip de sortare (simpla sau dupa o alta coloana), apasati unul din butoanele Clear Sort, respectiv Clear Sort by Column.
Tabelul va reveni la forma initiala (adica asa cum apare in tabelul din Excel!).
Remember! Sortarea clasica nu permite revenirea la forma initiala a tabelului, cel putin dupa ce ati apasat butonul Save, pentru ca tabelele nu sunt tratate prin definitie ca baze de date. Extensia Power Pivot realizeaza acest lucru, ajutandu-va sa sortati bazele de date din model dupa necesitati si furnizand posibilitatea revenirii la forma initiala (articolele din baza de date in exact aceeasi ordine in care au fost importate initial din tabelele Excel sau alte baze de date externe).
Gasiti aici toate articolele din categoria de cursuri gratuite Excel dedicate Power Pivot.