Data Analysis Expressions (DAX) în PowerPivot

Data Analysis Expressions (DAX) sună puțin intimidant la început, dar nu permiteți ca numele să vă păcălească. Noțiunile de bază DAX sunt foarte ușor de înțeles. În primul rând, DAX NU este un limbaj de programare. DAX este un limbaj pentru formule. Puteți utiliza DAX pentru a defini calculele particularizate pentru Coloane calculate și pentru Măsuri (cunoscute și sub numele de câmpuri calculate). DAX conține unele dintre funcțiile utilizate în formulele Excel și funcții suplimentare proiectate să lucreze cu datele relaționale și să efectueze agregări dinamice.

Înțelegerea formulelor DAX

Formulele DAX sunt foarte asemănătoare cu Excel formule. Pentru a crea unul, tastați un semn egal, urmat de numele sau expresia funcției și de orice valori sau argumente necesare. La fel ca Excel de bază, DAX oferă o varietate de funcții pe care le puteți utiliza pentru a lucra cu șiruri, a efectua calcule utilizând date și ore sau pentru a crea valori condiționale.

Cu toate acestea, formulele DAX sunt diferite în următoarele moduri importante:

  • Dacă doriți să particularizați calculele pe rând, DAX include funcții care vă permit să utilizați valoarea rândului curent sau o valoare corelată pentru a efectua calcule care variază în funcție de context.

  • DAX include un tip de funcție care returnează un tabel ca rezultat, mai degrabă decât o singură valoare. Aceste funcții pot fi utilizate pentru a furniza informații altor funcții.

  • Funcțiile Time Intelligence în DAX, permiteți calcule utilizând intervale de date și comparați rezultatele în perioade paralele.

Unde se utilizează formulele DAX

Puteți crea formule în Power Pivot în cherestea calculate sau în fields calculate.

Coloane calculate

O coloană calculată este o coloană pe care o adăugați la un tabel Power Pivot existent. În loc să importați sau să importați valori în coloană, creați o formulă DAX care definește valorile de coloană. Dacă includeți tabelul Power Pivot într-un raport PivotTable (sau PivotChart), coloana calculată poate fi utilizată la fel ca orice altă coloană de date.

Formulele din coloanele calculate sunt foarte mult ca formulele pe care le creați în Excel. Spre deosebire de Excel, totuși, nu puteți crea o formulă diferită pentru rânduri diferite dintr-un tabel; în schimb, formula DAX se aplică automat la întreaga coloană.

Atunci când o coloană conține o formulă, valoarea se calculează pentru fiecare rând. Rezultatele sunt calculate pentru coloană imediat ce creați formula. Valorile de coloană sunt recalculate numai dacă datele subiacente sunt reîmprospătate sau dacă se utilizează recalcularea manuală.

Puteți crea coloane calculate care se bazează pe măsuri și alte coloane calculate. Totuși, evitați să utilizați același nume pentru o coloană calculată și o măsură, deoarece acest lucru poate duce la rezultate derutante. Atunci când faceți referire la o coloană, se utilizează cel mai bine o referință de coloană complet calificată, pentru a evita invocarea accidentală a unei măsuri.

Pentru informații mai detaliate, consultați Coloane calculate în Power Pivot.

Măsuri

O măsură este o formulă creată special pentru utilizare într-un raport PivotTable (sau PivotChart) care utilizează Power Pivot date. Măsurile se pot baza pe funcții de agregare standard, cum ar fi COUNT sau SUM, sau vă puteți defini propria formulă utilizând DAX. O măsură este utilizată în zona Valori dintr-un raport PivotTable. Dacă doriți să plasați rezultate calculate într-o altă zonă a unui raport PivotTable, utilizați în schimb o coloană calculată.

Când definiți o formulă pentru o măsură explicită, nu se întâmplă nimic până când adăugați măsura într-un PivotTable. Când adăugați măsura, se evaluează formula pentru fiecare celulă din zona Valori a raportului PivotTable. Deoarece se creează un rezultat pentru fiecare combinație de anteturi de rând și coloană, rezultatul pentru măsură poate fi diferit în fiecare celulă.

Definiția măsurii pe care o creați se salvează cu tabelul său de date sursă. Aceasta apare în lista Câmpuri PivotTable și este disponibilă pentru toți utilizatorii registrului de lucru.

Pentru informații mai detaliate, consultați Măsuri în Power Pivot.

Crearea formulelor utilizând bara de formule

Power Pivot, la fel ca Excel, furnizează o bară de formule pentru a simplifica crearea și editarea formulelor, precum și a funcționalității Completare automată, pentru a reduce la minimum erorile de tastare și de sintaxă.

Pentru a introduce numele unui tabel   Începeți să tastați numele tabelului. Completare automată formulă oferă o listă verticală care conține nume valide care încep cu acele litere.

Pentru a introduce numele unei coloane   Tastați o paranteză, apoi alegeți coloana din lista de coloane din tabelul curent. Pentru o coloană din alt tabel, începeți să tastați primele litere ale numelui tabelului, apoi alegeți coloana din lista verticală Completare automată.

Pentru mai multe detalii și o prezentare a modului de creare a formulelor, consultați Crearea formulelor pentru calcule în Power Pivot.

Sfaturi pentru utilizarea Completare automată

Puteți utiliza Completare automată formulă în mijlocul unei formule existente cu funcții imbricate. Textul imediat înainte de punctul de inserare este utilizat pentru a afișa valorile în lista verticală și tot textul de după punctul de inserare rămâne neschimbat.

Numele definite pe care le creați pentru constante nu se afișează în lista verticală Completare automată, dar le puteți tasta în continuare.

Power Pivot adaugă paranteza de închidere a funcțiilor și nu închide automat parantezele. Trebuie să vă asigurați că fiecare funcție este corectă syntactically sau nu puteți să salvați sau să utilizați formula. 

Utilizarea mai multor funcții într-o formulă

Puteți imbrica funcții, ceea ce înseamnă că utilizați rezultatele dintr-o funcție ca argument al altei funcții. Puteți imbrica până la 64 de niveluri de funcții în coloane calculate. Însă imbricarea poate îngreuna crearea sau depanarea formulelor.

Multe funcții DAX sunt proiectate să fie utilizate numai ca funcții imbricate. Aceste funcții returnează un tabel, care nu se poate salva direct ca rezultat; ar trebui să fie furnizată ca intrare pentru o funcție de tabel. De exemplu, funcțiile SUMX, AVERAGEX și MINX necesită un tabel ca prim argument.

Notă: Unele limite pentru imbricarea funcțiilor există în măsuri, pentru a vă asigura că performanța nu este afectată de numeroasele calcule necesare în funcție de dependențele dintre coloane.

Compararea funcțiilor DAX și a funcțiilor Excel da

Biblioteca de funcții DAX se bazează pe Excel bibliotecile de funcții, dar bibliotecile au multe diferențe. Această secțiune rezumă diferențele și similitudinile dintre funcțiile Excel și funcțiile DAX.

  • Multe funcții DAX au același nume și același comportament general ca funcțiile Excel, dar au fost modificate pentru a prelua tipuri diferite de intrări, iar în unele cazuri pot returna un alt tip de date. În general, nu puteți să utilizați funcții DAX într-o formulă Excel formulă sau să Excel formule în Power Pivot fără câteva modificări.

  • Funcțiile DAX nu iau niciodată ca referință o referință la o celulă sau o zonă, dar în schimb funcțiile DAX preiau o coloană sau un tabel ca referință.

  • Funcțiile DAX pentru dată și oră returnează un tip de date datetime. În schimb, Excel funcțiile de dată și oră returnează un număr întreg care reprezintă o dată ca număr serial.

  • Multe dintre funcțiile DAX noi fie returnează un tabel de valori, fie fac calcule pe baza unui tabel de valori ca intrare. În schimb, Excel nu au funcții care returnează un tabel, dar unele funcții pot funcționa cu matrice. Capacitatea de a face referire cu ușurință la tabele și coloane complete este o caracteristică nouă în Power Pivot.

  • DAX oferă noi funcții de căutare care sunt similare funcțiilor de căutare matrice și vector din Excel. Cu toate acestea, funcțiile DAX necesită să fie stabilită o relație între tabele.

  • Datele dintr-o coloană se așteaptă să fie întotdeauna de același tip de date. Dacă datele nu sunt de același tip, DAX modifică întreaga coloană la tipul de date care cuprinde cel mai bine toate valorile.

Tipurile de date DAX

Puteți importa date într-un model Power Pivot date din mai multe surse de date diferite care ar putea acceptă tipuri de date diferite. Când importați sau încărcați datele, apoi utilizați datele în calcule sau în rapoarte PivotTable, datele sunt convertite într-unul dintre tipurile Power Pivot date. Pentru o listă a tipurilor de date, consultați Tipurile de date din Modelele de date.

Tipul de date tabel este un nou tip de date din DAX, care este utilizat ca intrare sau ieșire la multe funcții noi. De exemplu, funcția FILTER preia un tabel ca intrare și are ca rezultat un alt tabel care conține doar rândurile care îndeplinesc condițiile de filtrare. Prin combinarea funcțiilor de tabel cu funcții de agregare, puteți efectua calcule complexe peste seturi de date definite dinamic. Pentru mai multe informații, consultați Agregările în Power Pivot.

Formulele și modelul relațional

Fereastra Power Pivot este o zonă unde puteți să lucrați cu mai multe tabele de date și să conectați tabelele într-un model relațional. În cadrul acestui model de date, tabelele sunt conectate între ele prin relații, ceea ce vă permite să creați corelații cu coloanele din alte tabele și să creați calcule mai interesante. De exemplu, puteți să creați formule care însumează valori pentru un tabel asociat, apoi să salvați acea valoare într-o singură celulă. Sau, pentru a controla rândurile din tabelul asociat, puteți aplica filtre la tabele și coloane. Pentru mai multe informații, consultați Relațiile între tabelele dintr-un model de date.

Deoarece puteți lega tabele utilizând relații, rapoartele PivotTable pot include, de asemenea, date din mai multe coloane care provin din tabele diferite.

Cu toate acestea, pentru că formulele pot funcționa cu tabele și coloane întregi, trebuie să proiectați calculele altfel decât în mod Excel.

  • În general, o formulă DAX dintr-o coloană se aplică întotdeauna la întregul set de valori din coloană (niciodată doar la câteva rânduri sau celule).

  • Tabelele din Power Pivot trebuie să aibă întotdeauna același număr de coloane în fiecare rând și toate rândurile dintr-o coloană trebuie să conțină același tip de date.

  • Atunci când tabelele sunt conectate printr-o relație, vă așteptați să vă asigurați că cele două coloane utilizate ca chei au valori care se potrivesc, în majoritatea cazurilor. Deoarece Power Pivot nu impune integritatea referențială, este posibil să aveți valori care nu se potrivesc într-o coloană cheie și să creați totuși o relație. Totuși, prezența valorilor necompletate sau care nu se potrivesc pot afecta rezultatele formulelor și aspectul rapoartelor PivotTable. Pentru mai multe informații, consultați Căutare în formule Power Pivot.

  • Când legați tabele utilizând relații, măriți domeniul sau context în care se evaluează formulele. De exemplu, formulele dintr-un raport PivotTable pot fi afectate de orice filtre sau titluri de coloană și rând din raportul PivotTable. Puteți scrie formule care manipulează context, dar contextul poate, de asemenea, determina rezultatele să se modifice în moduri pe care nu le puteți anticipa. Pentru mai multe informații, consultați Contextul în formulele DAX.

Actualizarea rezultatelor formulelor

Datele r efresh și recalcularea sunt două operațiuni separate, dar asociate, pe care ar trebui să le înțelegeți atunci când proiectați un model de date care conține formule complexe, volume mari de date sau date care sunt obținute din surse de date externe.

Reîmprospătarea datelor este procesul de actualizare a datelor din registrul de lucru cu date noi de la o sursă de date externă. Puteți să reîmprospătați datele manual, la intervalele specificate. Sau, dacă ați publicat registrul de lucru pe un site SharePoint, puteți programa o reîmprospătare automată din surse externe.

Recalcularea este procesul de actualizare a rezultatelor formulelor pentru a reflecta toate modificările formulelor și a reflecta acele modificări în datele subiacente. Recalcularea poate afecta performanța în următoarele moduri:

  • Pentru o coloană calculată, rezultatul formulei trebuie întotdeauna recalculat pentru întreaga coloană, ori de câte ori modificați formula.

  • Pentru o măsură, rezultatele unei formule nu sunt calculate până când măsura nu este plasată în contextul raportului PivotTable sau al PivotChart. Formula va fi recalculată, de asemenea, atunci când modificați orice titlu de rând sau de coloană care afectează filtrele din date sau atunci când reîmprospătați manual raportul PivotTable.

Depanarea formulelor

Erori la scrierea formulelor

Dacă obțineți o eroare atunci când definiți o formulă, aceasta poate conține o eroare sintactică,o eroare semanticăsau o eroare de calcul.

Erorile sintactice sunt cele mai simplu de rezolvat. Acestea implică, de obicei, o paranteză sau o virgulă lipsă. Pentru ajutor cu sintaxa funcțiilor individuale, consultați Referința funcțiilor DAX.

Celălalt tip de eroare apare atunci când sintaxa este corectă, dar valoarea sau coloana la care se face referire nu are sens în contextul formulei. O astfel de eroare semantică și de calcul poate fi cauzată de oricare dintre următoarele probleme:

  • Formula se referă la o coloană, un tabel sau o funcție care nu este existentă.

  • Formula pare să fie corectă, dar atunci când motorul de date preia datele pe care le găsește o nepotrivire de tip și ridică o eroare.

  • Formula transmite un număr sau un tip incorect de parametri pentru o funcție.

  • Formula se referă la o altă coloană care conține o eroare, de aceea valorile sale sunt nevalide.

  • Formula se referă la o coloană care nu a fost procesată, ceea ce înseamnă că are metadate, dar nu are date reale de utilizat pentru calcule.

În primele patru cazuri, DAX semnalează întreaga coloană care conține formula nevalidă. În ultimul caz, DAX estompează coloana pentru a indica faptul că se află într-o stare neprocesată.

Rezultate incorecte sau neobișnuite atunci când ierarhizarea sau ordonarea valorilor de coloană

Atunci când ierarhizarea sau ordonarea unei coloane care conține valoarea NaN (Nu este un număr), este posibil să obțineți rezultate greșite sau neașteptate. De exemplu, atunci când un calcul împarte 0 la 0, se returnează un rezultat NaN.

Aceasta deoarece motorul de formule efectuează ordonarea și clasificarea prin compararea valorilor numerice; Cu toate acestea, NaN nu poate fi comparat cu alte numere din coloană.

Pentru a vă asigura de rezultatele corecte, puteți utiliza declarații condiționate utilizând funcția IF pentru a testa valorile NaN și a returna o valoare numerică 0.

Compatibilitatea cu modelele tabelare Analysis Services și modul DirectQuery

În general, formulele DAX pe care le construiți în Power Pivot sunt complet compatibile cu modelele tabelare Analysis Services. Cu toate acestea, dacă migrați modelul Power Pivot la o instanță Analysis Services, apoi implementați modelul în modul DirectQuery, există câteva limitări.

  • Unele formule DAX pot returna rezultate diferite dacă implementați modelul în modul DirectQuery.

  • Unele formule pot determina erori de validare atunci când implementați modelul în modul DirectQuery, deoarece formula conține o funcție DAX care nu este acceptată pentru o sursă de date relațională.

Pentru mai multe informații, consultați Documentația modelării tabelare Analysis Services în SQL Server 2012 CărțiOnline.

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

V-a fost de ajutor această informație?

Cât de mulțumit sunteți de calitatea traducerii?
Ce v-a afectat experiența?

Vă mulțumim pentru feedback!

×