Data Analysis Expressions (DAX) în PowerPivot

Data Analysis Expressions (DAX) în PowerPivot

Data Analysis Expressions (DAX) sună cam intimidant la început, dar nu lăsați numele să vă păcălească. Bazele DAX sunt într-adevăr foarte ușor de înțeles. Mai întâi, primul lucru-DAX nu este un limbaj de programare. DAX este o limbă de formulă. Puteți utiliza DAX pentru a defini calcule particularizate pentru coloanele calculate și pentru măsuri (numite și câmpuri calculate). DAX include câteva dintre funcțiile utilizate în formulele Excel și funcții suplimentare proiectate să funcționeze cu date relationale și să efectueze agregarea dinamică.

Înțelegerea formulelor DAX

Formulele DAX sunt foarte asemănătoare cu formulele Excel. Pentru a crea unul, tastați un semn egal, urmat de un nume de funcție sau o expresie, precum și orice valori sau argumente necesare. La fel ca în Excel, 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 a crea valori condiționale.

Cu toate acestea, formulele DAX sunt diferite în următoarele modalități importante:

  • Dacă doriți să particularizați calculele în funcție de rând, DAX include funcții care vă permit să utilizați valoarea de rând curentă sau o valoare asociată 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 intrări altor funcții.

  • Funcțiile Time Intelligenceîn Dax permit calcule utilizând intervale de date și compară rezultatele în perioadele paralele.

Unde se utilizează formulele DAX

Puteți crea formule în Power Pivot fie în olumns calculată columns , fie înieldsf calculat.

Coloane calculate

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

Formulele din coloanele calculate sunt asemănătoare cu formulele pe care le creați în Excel. Cu toate acestea, spre deosebire de Excel, 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 este calculată pentru fiecare rând. Rezultatele sunt calculate pentru coloană imediat ce creați formula. Valorile coloanelor sunt recalculate doar dacă datele subiacente sunt reîmprospătate sau dacă se utilizează recalcularea manuală.

Puteți să creați 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 confuze. Atunci când faceți referire la o coloană, cel mai bine este să utilizați 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ă date Power Pivot. Măsurile se pot baza pe funcții de agregare standard, cum ar fi COUNT sau SUM sau puteți defini propria formulă utilizând DAX. O măsură este utilizată în zona valori dintr-un raport PivotTable. Dacă doriți să amplasați rezultatele calculate într-o zonă diferită a unui raport PivotTable, utilizați în schimb o coloană calculată.

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

Definiția măsurii pe care o creați este salvată cu tabelul de date sursă. Acesta 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, cum ar fi Excel, furnizează o bară de formule pentru a facilita crearea și editarea formulelor și funcționalitatea completare automată, pentru a minimiza erorile de tastare și de sintaxă.

Pentru a introduce numele unui tabel   Începeți să tastați numele tabelului. Completarea automată a formulelor 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 generală a modului de generare a formulelor, consultați Crearea formulelor pentru calcule în Power Pivot.

Sfaturi pentru utilizarea completare automată

Puteți utiliza completarea automată a formulelor în mijlocul unei formule existente cu funcții imbricate. Textul imediat înaintea punctului de inserare este utilizat pentru a afișa valori în lista verticală, iar tot textul 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 nu adaugă paranteza de închidere a funcțiilor sau se potrivește automat între paranteze. Trebuie să vă asigurați că fiecare funcție este sintactic corectă sau nu puteți să salvați sau să utilizați formula. 

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

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

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

Notă: Există anumite limite pentru imbricarea funcțiilor în cadrul măsurilor, pentru a vă asigura că performanța nu este afectată de numeroasele calcule cerute de dependențele dintre coloane.

Comparație între funcțiile DAX și funcțiile Excel

Biblioteca funcției DAX se bazează pe biblioteca de funcții Excel, 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 lua diferite tipuri de intrări și, în unele cazuri, pot returna un alt tip de date. În general, nu aveți posibilitatea să utilizați funcțiile DAX într-o formulă Excel sau să utilizați formule Excel în Power Pivot fără modificări.

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

  • Funcțiile DAX data și ora returnează un tip de date datetime. În contrast, funcțiile de dată și oră din Excel returnează un număr întreg care reprezintă o dată ca număr de serie.

  • Multe dintre noile funcții DAX returnează un tabel de valori sau fac calcule pe baza unui tabel de valori ca input. În contrast, Excel nu are 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 asemănătoare cu funcțiile de căutare matrice și vectoriale în Excel. Cu toate acestea, funcțiile DAX necesită ca o relație să fie stabilită între tabele.

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

Tipuri de date DAX

Puteți importa date într-un model de date Power Pivot din mai multe surse de date diferite, care pot accepta tipuri de date diferite. Atunci 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 de date Power Pivot. Pentru o listă a tipurilor de date, consultați tipuri de date în modele de date.

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

Formule și modelul relațional

Fereastra Power Pivot este o zonă în care puteți să lucrați cu mai multe tabele de date și să conectați tabelele dintr-un model relațional. În acest model de date, tabelele sunt conectate reciproc prin relații, care vă permit 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 dintre tabelele dintr-un model de date.

Deoarece puteți lega tabelele utilizând relații, rapoartele PivotTable pot include și date din mai multe coloane din tabele diferite.

Cu toate acestea, deoarece formulele pot funcționa cu tabele și coloane întregi, trebuie să proiectați calculele diferit față de Excel.

  • În general, o formulă DAX dintr-o coloană se aplică întotdeauna întregului set de valori din coloană (nu numai câtorva rânduri sau celule).

  • Tabelele din Power Pivot trebuie să aibă întotdeauna același număr de coloane în fiecare rând, iar 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, se așteaptă să vă asigurați că cele două coloane utilizate ca taste au valori care se potrivește în cea mai mare parte. Deoarece Power Pivot nu impune integritatea referențială, este posibil să aveți valori non-corespondente într-o coloană cheie și să creați încă o relație. Cu toate acestea, prezența valorilor necompletate sau care nu se potrivesc poate afecta rezultatele formulelor și aspectul rapoartelor PivotTable. Pentru mai multe informații, consultați căutările în formulele Power Pivot.

  • Atunci când legați tabele utilizând relații, măriți domeniul sauontext cîn care sunt evaluate formulele dvs. De exemplu, formulele dintr-un raport PivotTable pot fi afectate de toate filtrele sau titlurile de coloană și de rând din raportul PivotTable. Puteți să scrieți formule care manipulează contextul, dar contextul poate provoca, de asemenea, rezultatele să se modifice în moduri pe care este posibil să nu le anticipați. Pentru mai multe informații, consultați contextul în formulele Dax.

Actualizarea rezultatelor formulelor

Date r efresh și recalculare 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, cantități mari de date sau date obținute din surse de date externe.

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

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

  • Pentru o coloană calculată, rezultatul formulei trebuie să fie întotdeauna recalculat pentru întreaga coloană, de fiecare dată când modificați formula.

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

Depanarea formulelor

Erori la scrierea formulelor

Dacă primiți o eroare atunci când definiți o formulă, formula poate conține fie o eroare sintactică, o eroare semantică, fie o eroare de calcul.

Erorile sintactică sunt cele mai simple de rezolvat. Ele implică, de obicei, o paranteză lipsă sau virgulă. Pentru ajutor cu sintaxa funcțiilor individuale, consultați referințele funcției 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. Astfel de erori semantice și de calcul pot fi cauzate 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 când motorul de date preia datele, găsește o nepotrivire de tip și generează o eroare.

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

  • Formula se referă la o altă coloană care are o eroare și, prin urmare, valorile sale sunt nevalide.

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

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

Rezultate incorecte sau neobișnuite atunci când clasificați sau ordonați valori de coloană

Atunci când poziționați sau Comandați o coloană care conține valoarea NaN (nu un număr), este posibil să primiți rezultate greșite sau neașteptate. De exemplu, când un calcul împarte 0 la 0, se returnează un rezultat NaN.

Acest lucru se întâmplă deoarece motorul de formule efectuează comanda și clasificarea prin compararea valorilor numerice; cu toate acestea, NaN nu poate fi comparat cu alte numere din coloană.

Pentru a asigura rezultate corecte, puteți utiliza declarații condiționale 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ță de analiză a serviciilor, apoi implementați modelul în modul DirectQuery, există câteva limite.

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

  • Unele formule pot provoca 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 pentru modelarea tabelelor de analiză servicii în SQL Server 2012 BooksOnline.

Notă:  Această pagină a fost tradusă automatizat și poate conține erori gramaticale sau inexactități. Scopul nostru este ca acest conținut să vă fie util. Ne puteți spune dacă informațiile au fost utile? Aici se află articolul în limba engleză, ca referință.

Aveți nevoie de ajutor suplimentar?

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

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×