Meniu
Niveluri competențe Excel Power BI MySQL: teste autoevaluare formule DAX SQL Window Functions

Competențe Excel, Power BI și MySQL: cum să îți evaluezi nivelul tehnic

Companiile care recrutează specialiști Excel, Power BI și MySQL caută un set specific de competențe tehnice verificabile. Dacă vrei să știi unde te situezi sau ce să înveți pentru a avansa, acest ghid descrie nivelurile de competență, testele practice asociate și resursele de pregătire.

1. Niveluri de competență Excel

NivelCompetențe cheieFuncții/Instrumente
BazicFormule simple, formatare, sortare/filtrareSUM, AVERAGE, IF, VLOOKUP
IntermediarFormule combinate, Tabel Pivot, graficeSUMIFS, INDEX/MATCH, Pivot, Charts
AvansatPower Query, VBA, formule arrayPower Query M, VBA macro, XLOOKUP, LET/LAMBDA
ExpertModele date complexe, automatizare completăPower Pivot DAX, VBA clase, Power Automate

Test autoevaluare nivel intermediar — poți rezolva aceste formule?

// Test 1: Caută numele clientului după ID, returnează "Negăsit" dacă lipsește
=XLOOKUP(A2, tbl_Clienti[ID], tbl_Clienti[Nume], "Negăsit")

// Test 2: Suma vânzărilor din luna Martie pentru zona Nord
=SUMIFS(tbl_V[Valoare], tbl_V[Luna], "Martie", tbl_V[Zona], "Nord")

// Test 3: Calculează media notelor, ignorând celulele goale
=AVERAGEIF(B2:B20, "<>", B2:B20)

// Test 4: Extrage doar data (fără oră) dintr-un câmp datetime
=INT(A2)   // sau: =DATEVALUE(TEXT(A2,"YYYY-MM-DD"))

// Test 5: Concatenare Prenume + " " + Nume cu prima literă mare
=PROPER(B2) & " " & PROPER(C2)

Test autoevaluare nivel avansat

// Test 1: Returnează toate facturile neachitate > 30 de zile (Excel 365)
=FILTER(
    tbl_Facturi[[Nr_Factura]:[Valoare]],
    (tbl_Facturi[Status]="Neachitat") * (TODAY()-tbl_Facturi[DataScad]>30)
)

// Test 2: Funcție LAMBDA care calculează marja brută
// Name Manager: MarjaBruta
=LAMBDA(vanzari, cost, (vanzari - cost) / vanzari * 100)
// Utilizare: =MarjaBruta(B2, C2)

// Test 3: Power Query M — elimină rândurile unde orice coloană e null
= Table.SelectRows(Source, each not List.AnyTrue(
    List.Transform(Record.FieldValues(_), each _ = null or _ = "")
  ))

// Test 4: VBA — copiază foile cu nume "Luna_*" într-un workbook nou
Sub ExportFoiLunare()
    Dim ws As Worksheet, wbNou As Workbook
    Set wbNou = Workbooks.Add
    For Each ws In ThisWorkbook.Worksheets
        If ws.Name Like "Luna_*" Then
            ws.Copy After:=wbNou.Sheets(wbNou.Sheets.Count)
        End If
    Next ws
End Sub

2. Niveluri de competență Power BI

// Nivel intermediar — DAX esențial:

// Măsură Total Vânzări:
Total Vanzari = SUM(tbl_Vanzari[Valoare])

// Măsură cu filtrare contextuală:
Vanzari_An_Curent = CALCULATE(
    [Total Vanzari],
    YEAR(tbl_Vanzari[Data]) = YEAR(TODAY())
)

// YTD (Year to Date):
Vanzari_YTD = TOTALYTD([Total Vanzari], tbl_Calendar[Data])

// Comparatie cu perioada precedenta:
Vanzari_LY = CALCULATE([Total Vanzari], SAMEPERIODLASTYEAR(tbl_Calendar[Data]))
YoY_Crestere% = DIVIDE([Total Vanzari] - [Vanzari_LY], [Vanzari_LY])

// Nivel avansat — DAX complex:
// Ranking dinamic (modificat de Slicer):
Rank_Agenti = RANKX(
    ALLSELECTED(tbl_Agenti[Nume]),
    [Total Vanzari],
    ,
    DESC,
    Dense
)

// Running Total:
Vanzari_Cumulate = CALCULATE(
    [Total Vanzari],
    FILTER(ALL(tbl_Calendar[Data]), tbl_Calendar[Data] <= MAX(tbl_Calendar[Data]))
)

3. Niveluri de competență MySQL/SQL

-- Nivel intermediar — interogări esențiale:

-- JOIN între tabele cu filtrare:
SELECT c.Nume, c.Email, SUM(f.Valoare) AS TotalFacturi
FROM clienti c
LEFT JOIN facturi f ON c.ID = f.ClientID
WHERE f.DataFactura >= DATE_SUB(CURDATE(), INTERVAL 12 MONTH)
  AND f.Status = 'Achitat'
GROUP BY c.ID, c.Nume, c.Email
ORDER BY TotalFacturi DESC
LIMIT 20;

-- Nivel avansat — Window Functions:
SELECT
    agent,
    luna,
    vanzari,
    SUM(vanzari) OVER (PARTITION BY agent ORDER BY luna) AS vanzari_cumulate,
    LAG(vanzari, 1) OVER (PARTITION BY agent ORDER BY luna) AS vanzari_luna_precedenta,
    RANK() OVER (PARTITION BY luna ORDER BY vanzari DESC) AS rank_luna
FROM raport_vanzari;

-- CTE (Common Table Expression):
WITH top_clienti AS (
    SELECT ClientID, SUM(Valoare) AS total
    FROM comenzi
    WHERE YEAR(Data) = YEAR(CURDATE())
    GROUP BY ClientID
    HAVING total > 50000
)
SELECT c.Nume, tc.total
FROM top_clienti tc
JOIN clienti c ON tc.ClientID = c.ID
ORDER BY tc.total DESC;

4. Resurse pentru autoinstruire

InstrumentResursă gratuităTimp estimat
Excel avansatMicrosoft Learn — Excel training20-40 de ore
Power Query Mdocs.microsoft.com/power-query10-20 de ore
VBA ExcelDocumentație MSDN + Excel-Easy.com30-60 de ore
Power BI DAXSQLBI.com + DAX.guide40-80 de ore
MySQLdev.mysql.com/doc + SQLZoo.net20-40 de ore

5. Proiecte practice pentru portofoliu

// Proiect Excel nivel intermediar (2-4 ore):
// Construiește un sistem de gestiune stocuri cu:
// - Tabel structurat intrări/ieșiri (Ctrl+T)
// - XLOOKUP pentru completare automată denumire produs
// - Tabel Pivot stoc curent pe categorie
// - Alertă Conditional Formatting sub stoc minim
// - Grafic evoluție stoc ultimele 30 de zile

// Proiect Power BI nivel intermediar (4-8 ore):
// Dashboard vânzări cu:
// - Sursa: fișier Excel + CSV
// - Relație stea (fact_vanzari + dim_produse + dim_clienti + dim_calendar)
// - Măsuri: Total, YoY%, YTD, Rolling 3M
// - Raport cu Slicer perioadă, regiune, categorie
// - Drill-through pe agent individual

// Proiect MySQL nivel intermediar (4-6 ore):
// Schema baza de date e-commerce cu:
// - Tabele: produse, categorii, clienti, comenzi, detalii_comenzi
// - Relații FK + indexuri
// - 5 interogări analitice (vânzări/categorie, CLV, ABC analysis)
// - View pentru raport management

Excel Group oferă cursuri practice de Excel avansat, Power BI și MySQL, cu proiecte reale și certificare. Detalii despre programe și disponibilitate la Excel Group MD.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *