Introducere rapidă: Aflați noțiunile de bază despre DAX în 30 de minute

Această pornire rapidă este pentru utilizatorii noi care se Power Pivot în proiecte de model Excel sau tabelar creat în instrumentele de date SQL Server. Este menit să vă ofere o introducere rapidă și ușoară a modului în care puteți utiliza data Analysis Expressions (DAX) pentru a rezolva o serie de modele de bază de date și probleme de analiză. Acest subiect include informații conceptuale, o serie de activități pe care le puteți finaliza și câteva teste pentru a testa ceea ce ați învățat. După finalizarea acestui subiect, ar trebui să aveți o bună înțelegere a celor mai simple concepte fundamentale din DAX.

Ce este DAX?

DAX este o colecție de funcții, operatori și constante care pot fi utilizate într-o formulă sau o expresie, pentru a calcula și a returna una sau mai multe valori. Afirmat mai simplu, DAX vă ajută să creați noi informații din datele aflate deja în modelul dvs.

De ce este DAX atât de important?

Este ușor să creați un registru de lucru și să importați unele date în acesta. Puteți chiar să creați rapoarte PivotTable sau PivotChart care afișează informații importante fără a utiliza formulele DAX. Dar, ce se întâmplă dacă trebuie să analizați datele de vânzări critice din mai multe categorii de produse și pentru intervale de date diferite? Sau aveți nevoie de combinarea datelor importante de inventar din mai multe tabele din surse de date diferite? Formulele DAX oferă această capacitate și multe alte capacități importante. Învățați cum să creați formulele DAX eficiente vă vor ajuta să beneficiați la maximum de datele dvs. Atunci când obțineți informațiile de care aveți nevoie, puteți să începeți să rezolvați problemele de afaceri reale care vă afectează linia de bază. Aceasta este Business Intelligence, iar DAX vă va ajuta să ajungeți acolo.

Cerințe preliminare

Este posibil să fiți deja familiarizat cu crearea de formule în Microsoft Excel. Această cunoaștere va fi utilă în înțelegerea DAX, dar chiar dacă nu aveți nicio experiență cu formulele Excel, conceptele descrise aici vă vor ajuta să începeți să creați formule DAX și să rezolvați imediat problemele BI din lumea reală.

Ne vom concentra în mod specific asupra înțelegerii formulelor DAX utilizate în calcule. Ar trebui să fiți deja familiarizat cu conceptele fundamentale ale ambelor coloane și măsuricalculate (numite și câmpuri calculate), ambele fiind descrise în Power Pivot ajutor. De asemenea, ar trebui să fiți familiarizat cu Power Pivot din mediul și instrumentele de elaborare în Excel.

Exemplu de registru de lucru

Cea mai bună metodă de a învăța DAX este să creați câteva formule de bază, să le utilizați cu câteva date efective și să vedeți rezultatele pentru dvs. Exemplele și activitățile de aici utilizează registrul de lucru de exemplu contoso. xlsx Puteți să descărcați registrul de lucru din http://go.microsoft.com/fwlink/?LinkID=237472&clcid = 0x409. După ce ați descărcat registrul de lucru pe computer, deschideți-l, apoi deschideți fereastra Power Pivot.

Să începem!

Vom încadra DAX în jurul a trei concepte fundamentale foarte importante: sintaxă, funcții și context. Bineînțeles, există și alte concepte importante în DAX, dar înțelegerea acestor trei concepte va oferi cea mai bună fundație pentru a vă construi abilitățile DAX.

Sintaxă

Înainte de a vă crea propriile formule, să aruncăm o privire la sintaxa de formulă DAX. Sintaxa include diferitele elemente care alcătuiesc o formulă sau mai simplu, modul în care este scrisă formula. De exemplu, să analizăm o formulă DAX simplă utilizată pentru a crea date noi (valori) pentru fiecare rând dintr-o coloană calculată, denumită margine, într-un tabel FactSales: (culorile textului formulei sunt doar în scopuri ilustrative)

Formulă pentru coloana calculată

Sintaxa acestei formule include următoarele elemente:

  1. Operatorul semnul egal (=) indică începutul formulei și, atunci când se calculează această formulă, va returna un rezultat sau o valoare. Toate formulele care calculează o valoare vor începe cu semnul egal.

  2. Coloana la care se face referire [SalesAmount] conține valorile din care dorim să scădem. O referință de coloană într-o formulă este întotdeauna înconjurată de paranteze []. Spre deosebire de formulele Excel care fac referire la o celulă, o formulă DAX face întotdeauna referire la o coloană.

  3. Operatorul matematic pentru scădere (-).

  4. Coloana la care se face referire [TotalCost] conține valorile pe care doriți să le scădeți din valorile din coloana [SalesAmount].

Atunci când încercați să înțelegeți cum să citiți o formulă DAX, este deseori util să detaliați fiecare element într-o limbă pe care o gândiți și să vorbiți în fiecare zi. De exemplu, puteți citi această formulă ca:

În tabelul FactSales , pentru fiecare rând din coloana calculată marginal, calculați (=) o valoare scăzând (-) valorile din coloana [TotalCost] din valorile din coloana [SalesAmount].

Să aruncăm o privire la un alt tip de formulă, unul care este utilizat într-o măsură:

Formulă pentru coloana calculată

Această formulă include următoarele elemente de sintaxă:

  1. Suma numelor de măsură pentru suma vânzărilor. Formulele pentru măsuri pot include numele măsurii, urmat de un colon, urmat de formula de calcul.

  2. Operatorul semnul egal (=) indică începutul formulei de calcul. Atunci când se calculează, acesta va returna un rezultat.

  3. Funcția SUM adună toate numerele din coloana [SalesAmount]. Veți afla mai multe despre funcțiile ulterioare.

  4. Paranteze () înconjoară unul sau mai multe argumente. Toate funcțiile necesită cel puțin un argument. Un argument trece o valoare la o funcție.

  5. Tabelul de FactSales la care se face referire.

  6. Coloana la care se face referire [SalesAmount] în tabelul FactSales. Cu acest argument, funcția SUM știe pe ce coloană să agregați o sumă.

Puteți citi această formulă ca:

Pentru măsura denumită Sumă vânzări, calculați (=) suma valorilor din coloana [ SalesAmount ] din tabelul FactSales .

Atunci când sunt plasate în zona de fixare a valorilor dintr-o listă de câmpuri PivotTable, această măsură calculează și returnează valorile definite de fiecare celulă din raportul PivotTable, de exemplu, de pe telefoanele mobile din SUA.

Observați că există câteva lucruri diferite despre această formulă, comparativ cu formula pe care am utilizat-o pentru coloana calculată de margine. În special, am introdus o funcție, SUM. Funcțiile sunt formule pre-scrise care facilitează efectuarea calculelor și manipulărilor complexe cu numere, date, timp, text și altele. Veți afla mai multe despre funcțiile ulterioare.

Spre deosebire de coloana calculată anterior, vedeți coloana [SalesAmount] a fost precedată de tabelul FactSales în care aparține coloana. Acesta este cunoscut ca un nume de coloană complet calificat, în care include numele coloanei precedat de numele tabelului. Coloanele la care se face referire în același tabel nu necesită ca numele tabelului să fie inclus în formulă. Acest lucru poate face formule lungi care fac referire la mai multe coloane mai scurte și mai ușor de citit. Cu toate acestea, este o practică bună să includeți întotdeauna numele tabelului în formulele de măsură, chiar și atunci când sunteți în același tabel.

Notă: Dacă numele unui tabel conține spații, cuvinte cheie rezervate sau caractere nepermise, trebuie să încadrați numele tabelului în ghilimele simple. De asemenea, trebuie să includeți numele de tabele în ghilimele dacă numele conține caractere în afara intervalului de caractere ANSI alfanumeric, indiferent dacă setările regionale acceptă setul de caractere sau nu.

Este foarte important ca formulele să aibă sintaxa corectă. În majoritatea cazurilor, dacă sintaxa nu este corectă, se va returna o eroare de sintaxă. În alte cazuri, sintaxa poate fi corectă, dar valorile returnate pot să nu fie ceea ce așteptați. Power Pivot (și instrumentele de date SQL Server) include IntelliSense; o caracteristică utilizată pentru a crea formule corecte sintactic, ajutându-vă să selectați elementele corecte.

Să creăm o formulă simplă. Această activitate vă va ajuta să înțelegeți mai departe sintaxa de formulă și modul în care caracteristica IntelliSense din bara de formule vă poate ajuta.

Activitate: crearea unei formule simple pentru o coloană calculată

  1. Dacă nu vă aflați deja în fereastra Power Pivot, în Excel, în panglica Power Pivot, faceți clic pe Power Pivotfereastră.

  2. În fereastra Power Pivot, faceți clic pe tabelul FactSales (Tab).

  3. Defilați la coloana din dreapta, apoi în antetul coloanei, faceți clic pe Adăugare coloană.

  4. Faceți clic în bara de formule din partea de sus a ferestrei proiectant model.

    Bara de formule PowerPivot

    Cursorul apare acum în bara de formule. Bara de formule este locul unde puteți să tastați o formulă pentru o coloană calculată sau un câmp calculat.

    Să luăm un moment pentru a vedea cele trei butoane din partea stângă a barei de formule.

    Formula bar

    Atunci când cursorul este activ în bara de formule, aceste trei butoane devin active. Butonul din stânga, X, este pur și simplu un buton anulare. Mergeți mai departe și faceți clic pe acesta. Cursorul nu mai apare în bara de formule, iar butonul Anulare și butonul bifă nu mai apar. Mergeți mai departe și faceți clic din nou pe bara de formule. Butonul Anulare și butonul marcaj de bifare reapar acum. Acest lucru înseamnă că sunteți gata să începeți să introduceți o formulă.

    Butonul marcaj de selectare este butonul Verificare formulă. Nu face mult până când nu ați introdus o formulă. Ne vom întoarce la ea în scurt timp.

    Faceți clic pe butonul FX . Veți vedea că apare o casetă de dialog nouă; caseta de dialog Inserare funcție. Caseta de dialog Inserare funcție este cea mai simplă modalitate de a începe să introduceți o formulă DAX. Vom adăuga o funcție la o formulă atunci când creăm o măsură puțin mai târziu, dar deocamdată nu trebuie să adăugați o funcție la formula de coloană calculată. Mergeți mai departe și închideți caseta de dialog Inserare funcție.

  5. În bara de formule, tastați semnul egal =, apoi tastați o paranteză de deschidere [. Veți vedea o fereastră mică care apare cu toate coloanele din tabelul FactSales. Acesta este IntelliSense în acțiune.

    Deoarece coloanele calculate sunt create întotdeauna în tabelul activ în care vă aflați, nu este necesar să precede numele coloanei cu numele tabelului. Mergeți mai departe și defilați în jos, apoi faceți dublu clic pe [SalesQuantity]. De asemenea, puteți să defilați la numele coloanei pe care o doriți, apoi apăsați pe tab.

    Cursorul este acum activ la dreapta [SalesQuantity].

  6. Tastați un spațiu, apoi tastați un operator de scădere-(semnul minus), apoi tastați alt spațiu.

  7. Acum, tastați o altă paranteză de deschidere [. De data aceasta, selectați coloana [ReturnQuantity] , apoi apăsați pe Enter.

    Dacă primiți o eroare, uitați-vă cu atenție la sintaxă. Dacă este necesar, comparați-l cu formula din coloana calculată marginal descrisă mai sus.

    După ce apăsați pe Enter pentru a finaliza formula, cuvântul calcul apare în bara de stare din partea de jos a ferestrei Power Pivot. Se deplasează rapid, chiar dacă tocmai ați calculat valori noi pentru mai mult de 3.000.000 de rânduri.

  8. Faceți clic dreapta pe antetul de coloană și redenumiți coloana, NetSales.

Asta e tot! Tocmai ați creat o formulă DAX simplă, dar foarte puternică. Pentru fiecare rând din tabelul FactSales, formula NetSales calculează o valoare scăzând valoarea din coloana [ReturnQuantity] din valoarea din coloana [SalesQuantity]. Observați cum tocmai am spus "pentru fiecare rând". Aceasta este o imagine a unui alt concept foarte important în DAX; contextul rândului. Veți afla mai multe despre contextul Row mai târziu.

Ceva foarte important de înțeles atunci când tastați un operator într-o formulă DAX este tipul de date din argumentele pe care le utilizați. De exemplu, dacă doriți să tastați următoarea formulă, = 1 & 2, valoarea returnată va fi o valoare text de "12". Acest lucru se întâmplă deoarece operatorul ampersand (&) este pentru concatenarea textului. DAX interpretează această formulă pentru a citi: calcularea unui rezultat, luând valoarea 1 ca text și adăugați valoarea 2 ca text. Acum, dacă ar fi să tastați = 1 + 2, DAX Citește această formulă ca: calcularea unui rezultat, luând valoarea numerică 1 și adăugând valoarea numerică 2. Rezultatul este, desigur, "3", o valoare numerică. DAX calculează valorile rezultante, în funcție de operatorul din formulă, nu pe baza tipului de date al coloanelor utilizate în argument. Tipurile de date din DAX sunt foarte importante, dar în afara domeniului acestui start rapid. Pentru a afla mai multe despre tipurile de date și operatorii din formulele DAX, consultați Referința DAX (http://go.microsoft.com/fwlink/?LinkId=239769&clcid = 0x409) în cărți online.

Să încercăm altul. De această dată, veți crea o măsură tastând formula și utilizând IntelliSense. Nu vă faceți griji prea mult dacă nu înțelegeți pe deplin formula. Lucrul important aici este să aflați cum să creați o formulă utilizând mai multe elemente împreună în sintaxa corectă.

Activitate: crearea unei formule măsură

  1. În tabelul FactSales , faceți clic în orice celulă goală din zona de calcul. Aceasta este zona de celule goale aflate chiar sub un tabel din fereastra Power Pivot.

Zona de calcul PowerPivot

  1. În bara de formule, tastați numele vânzărilor trimestriale anterioare:.

  2. Tastați semnul egal = pentru a începe formula de calcul.

  3. Tastați primele câteva litere CAL, apoi faceți dublu clic pe funcția pe care doriți să o utilizați. În această formulă, doriți să utilizați funcția Calculare .

  4. Tastați o paranteză de deschidere (pentru a începe argumentele de transmis la funcția CALCULare.

    Notă După ce tastați paranteza de deschidere, IntelliSense vă arată argumentele necesare pentru funcția CALCULare. Veți învăța despre argumente în puțin timp.

  5. Tastați primele câteva litere din tabelul FactSales , apoi, în lista verticală, faceți dublu clic pe FactSales[vânzări].

  6. Tastați o virgulă (,) pentru a specifica primul filtru, apoi tastați, PRE, apoi faceți dublu clic pe funcția PREVIOUSQUARTER .

    După ce selectați funcția PREVIOUSQUARTER, apare o altă paranteză de deschidere, indicând că este necesar un alt argument; de această dată, pentru funcția PREVIOUSQUARTER.

  7. Tastați primele câteva litere dim, apoi faceți dublu clic pe DimDate[cheiedată].

  8. Închideți atât argumentul transmis la funcția PREVIOUSQUARTER, cât și funcția calcul, tastând două paranteze de închidere).

    Acum, formula ar trebui să arate astfel:

    Vânzări trimestriale anterioare: = CALCULează (FactSales [vânzări], PREVIOUSQUARTER (DimDate [Cheiedată]))

  9. Faceți clic pe butonul Verificare formulă de pe bara de formule pentru a valida formula. Dacă primiți o eroare, verificați fiecare element al sintaxei.

Ați reușit! Tocmai ați creat o măsură folosind DAX, și nu una ușoară. Ce va face această formulă este calcularea vânzărilor totale pentru trimestrul anterior, în funcție de filtrele aplicate într-un raport PivotTable sau PivotChart.

Tocmai ați introdus mai multe aspecte importante ale formulelor DAX. Mai întâi, această formulă include două funcții. Observați că funcția PREVIOUSQUARTER este imbricată ca argument transmis funcției Calculare . Formulele DAX pot conține până la 64 de funcții imbricate. Este puțin probabil ca o formulă să conțină vreodată atât de multe funcții imbricate. De fapt, o astfel de formulă ar fi foarte dificilă pentru a crea și a depana și probabil că nu ar fi foarte rapidă.

În această formulă, ați utilizat și filtre. Filtrează restrângeți ceea ce se va calcula. În acest caz, ați selectat un filtru ca argument, care este de fapt o altă funcție. Veți afla mai multe despre filtrele ulterioare.

În cele din urmă, ați utilizat funcția CALCULare. Aceasta este una dintre funcțiile cele mai puternice din DAX. Pe măsură ce elaborați modele de date și creați formule mai complexe, veți utiliza probabil această funcție de mai multe ori. Discutarea funcției CALCULare se află în afara domeniului acestei pornire rapidă, dar, pe măsură ce cunoștințele dumneavoastră despre DAX cresc, acordați o atenție deosebită.

Notă: De obicei, pentru a utiliza funcțiile Time Intelligence în formulele DAX, trebuie să specificați o coloană de date unică, utilizând caseta de dialog marcare ca tabel de date. În registrul de lucru exemple de formule DAX. xlsx, coloana Cheiedată din tabelul DimDate este selectată ca coloană de date unică.

Credit suplimentar

Este posibil să vă întrebați: "care este cea mai simplă formulă DAX pe care o pot crea?" Ei bine, răspunsul la aceasta este "formula pe care nu trebuie să o". Și, exact ceea ce puteți face utilizând o funcție de agregare standard într-o măsură. Aproape orice model de date trebuie să filtreze și să calculeze pentru date agregate. De exemplu, funcția SUM din suma de măsură de vânzări pe care ați văzut-o anterior este utilizată pentru a aduna toate numerele dintr-o anumită coloană. DAX include mai multe alte funcții care agregate valori, de asemenea. Puteți crea automat formule utilizând agregarea standard, utilizând caracteristica însumare automată.

Activitate de credit suplimentară: crearea unei formule de măsură utilizând caracteristica însumare automată

  1. În tabelul FactSales, defilați la coloana ReturnQuantity, apoi faceți clic pe antetul de coloană pentru a selecta întreaga coloană.

  2. Pe fila pornire , pe panglică, în grupul calcule , faceți clic pe butonul însumare automată .

Însumare automată în PowerPivot

Faceți clic pe săgeata în jos de lângă însumare automată, apoi faceți clic pe AVERAGE (observați și celelalte funcții de agregare standard pe care le puteți utiliza).

Imediat, se creează o nouă măsură cu denumirea medie a ReturnQuantity: urmat de formula = AVERAGE ([ReturnQuantity]).

Acum nu a fost așa de simplu? Bineînțeles, nu toate formulele pe care le creați vor fi atât de simple. Dar, utilizând caracteristica însumare automată, puteți crea formule rapide și ușoare utilizând calcule de agregare standard.

Acest lucru trebuie să vă ofere o înțelegere destul de bună a sintaxei utilizate în formulele DAX. De asemenea, ați fost introdus în unele caracteristici foarte interesante, cum ar fi IntelliSense și însumare automată, pentru a vă ajuta să creați formule rapide, simple și corecte. Bineînțeles că există mult mai multe informații despre sintaxă. Un bun început pentru a afla mai multe este referința DAX sau SQL Books Online.

Sintaxă chestionar rapid despre

  1. Ce face acest buton de pe bara de formule?
    Butonul de funcții

  2. Ce înconjoară întotdeauna un nume de coloană într-o formulă DAX?

  3. Cum să scrieți o formulă pentru următoarele:
    în tabelul DimProduct , pentru fiecare rând din UnitMargin coloana calculată UnitMargin, se calculează o valoare scăzând valorile din coloana costunitar din valorile din UnitPrice coloanaPreţUnitar?

Răspunsurile sunt furnizate la sfârșitul acestui subiect.

Funcții

Funcțiile sunt formule predefinite care efectuează calcule utilizând valori specifice, numite argumente, într-o anumită ordine sau structură. Argumentele pot fi alte funcții, o altă formulă, referințe la coloane, numere, text, valori logice, cum ar fi TRUE sau FALSE sau constante.

DAX include următoarele categorii de funcții: data și ora, informațiile, logica, matematica, statistica, textul și funcțiile Time Intelligence. Dacă sunteți familiarizat cu funcțiile din formulele Excel, multe dintre funcțiile din DAX vor apărea similare cu dvs.; cu toate acestea, funcțiile DAX sunt unice în următoarele moduri:

  • O funcție DAX face întotdeauna referire la o coloană completă sau la un tabel. Dacă doriți să utilizați doar anumite valori dintr-un tabel sau dintr-o coloană, puteți adăuga filtre la formulă.

  • Dacă trebuie să particularizați calculele pe rând, DAX oferă funcții care vă permit să utilizați valoarea de rând curentă sau o valoare asociată ca tip de argument, pentru a efectua calcule care variază în funcție de context. Veți afla mai multe despre context mai târziu.

  • DAX include mai multe funcții care returnează un tabel, nu o valoare. Tabelul nu se afișează, dar este utilizat pentru a furniza intrări altor funcții. De exemplu, puteți să regăsiți un tabel, apoi să numărați valorile distincte din el sau să calculați sumele dinamice din tabelele sau coloanele filtrate.

  • DAX include o varietate de funcții Time Intelligence. Aceste funcții vă permit să definiți sau să selectați intervale de date și să efectuați calcule dinamice în funcție de acestea. De exemplu, puteți compara sumele din perioadele paralele.

Uneori este greu să știți ce funcții poate fi necesar să utilizați într-o formulă. Power Pivot și proiectantul model tabelar din instrumentele de date SQL Server, includeți caracteristica Inserare funcție, o casetă de dialog care vă ajută să selectați funcții după categorie și furnizează descrieri scurte pentru fiecare funcție.

Inserare funcție

Să creăm o formulă nouă care include o funcție pe care o veți selecta, utilizând caracteristica Inserare funcție:

Activitate: adăugarea unei funcții la o formulă utilizând funcția insert

  1. În tabelul FactSales, defilați la coloana din dreapta, apoi în antetul coloanei, faceți clic pe Adăugare coloană.

  2. În bara de formule, tastați semnul egal, =.

  3. Faceți clic pe butonul Inserare funcție . Inserare funcție Aceasta deschide caseta de dialog Inserare funcție .

  4. În caseta de dialog Inserare funcție , faceți clic pe caseta listă Selectați o categorie . În mod implicit, totul este selectat și toate funcțiile din categoria toate sunt listate mai jos. Sunt multe funcții, așadar, veți dori să filtrați funcțiile pentru a facilita localizarea tipului de funcție pe care o căutați.

  5. Pentru această formulă, doriți să returnați unele date care există deja în alt tabel. Pentru aceasta, aveți de gând să utilizați o funcție în categoria filtrare. Mergeți mai departe și faceți clic pe categoria de Filtrare , apoi, în Selectați o funcție, defilați în jos și faceți dublu clic pe funcția asociate. Faceți clic pe OK pentru a închide caseta de dialog Inserare funcție .

  6. Utilizați IntelliSense pentru a vă ajuta să găsiți și să selectați coloana DimChannel [ChannelName].

  7. Închideți formula, apoi apăsați pe Enter.

  8. După ce apăsați pe Enter pentru a finaliza formula, cuvântul calcul apare în bara de stare din partea de jos a ferestrei Power Pivot. Acum veți vedea că tocmai ați creat o coloană nouă în tabelul FactSales cu informații despre canal din tabelul DimChannel.

  9. Redenumiți canalul de coloană.

    Formula trebuie să arate astfel: = Related (DimChannel [ChannelName])

Tocmai ați introdus o altă funcție foarte importantă în DAX, funcția conexă . Funcția asociate returnează valori din alt tabel. Puteți utiliza asociate, dacă există o relație între tabelul în care vă aflați în prezent și tabelul care conține valorile pe care doriți să le obțineți. Bineînțeles, funcția CORELATă are posibilități imense. În acest caz, acum puteți include canalul vânzări pentru fiecare vânzare din tabelul FactSales. Acum puteți ascunde tabelul DimChannel din lista de câmpuri PivotTable, facilitând navigarea și vizualizarea doar a celor mai importante informații de care aveți nevoie. La fel ca funcția calcul descris mai sus, funcția asociate este foarte importantă și o veți utiliza probabil de mai multe ori.

După cum puteți vedea, funcțiile din DAX vă pot ajuta să creați formule foarte puternice. Am atins cu adevărat doar elementele de bază ale funcțiilor. Pe măsură ce abilitățile DAX se îmbunătățesc, veți crea formule utilizând mai multe funcții diferite. Unul dintre cele mai bune locuri pentru a afla detalii despre toate funcțiile DAX este în referința Data Analysis Expressions (Dax).

Funcțiile chestionar rapid despre

  1. Ce face întotdeauna referire la o funcție?

  2. O formulă poate conține mai multe funcții?

  3. Ce categorie de funcții utilizați pentru a concatena două șiruri de text într-un singur șir?

Răspunsurile sunt furnizate la sfârșitul acestui subiect.

Context

Contextul este unul dintre cele mai importante concepte DAX de înțeles. Există două tipuri de context în DAX; contextul de rând și contextul de filtrare. Ne vom uita mai întâi la contextul Row.

Contextul rândului

Contextul rândului este cel mai ușor de gândit ca rândul curent. De exemplu, rețineți coloana calculată de margine pe care ați văzut-o mai devreme atunci când învățați despre sintaxă? Formula = [SalesAmount]-[TotalCost] calculează o valoare în coloana margine pentru fiecare rând din tabel. Valorile pentru fiecare rând sunt calculate din valori din alte două coloane, [SalesAmount] și [TotalCost] în același rând. DAX poate calcula valorile pentru fiecare rând din coloana margine, deoarece are contextul: pentru fiecare rând, preia valorile din coloana [TotalCost] și le scade din valorile din coloana [SalesAmount].

În celula selectată prezentată mai jos, valoarea, $49,54 din rândul curent a fost calculată scăzând valoarea $51,54 în coloana [TotalCost] din valoarea $101,08 din coloana [SalesAmount].

Contextul de rând în PowerPivot

Contextul Row nu se aplică doar la coloanele calculate. Contextul Row se aplică și când o formulă are o funcție care aplică filtre pentru a identifica un singur rând dintr-un tabel. Funcția va aplica în mod inerent un context de rând pentru fiecare rând al tabelului în care se filtrează. Acest tip de context de rând se aplică cel mai des la măsuri.

Context de filtrare

Contextul de filtrare este un pic mai greu de înțeles decât contextul de rând. Puteți să vă gândiți mai ușor la contextul de filtrare ca: unul sau mai multe filtre aplicate într-un calcul care determină un rezultat sau o valoare.

Contextul de filtrare nu există în contextul unui context de rând; mai degrabă, se aplică în plus față de contextul rândului. De exemplu, pentru a restrânge în continuare valorile de inclus într-un calcul, puteți aplica un context de filtrare care specifică nu numai contextul rândului, dar specifică, de asemenea, doar o anumită valoare (filtru) în acel context de rând.

Contextul de filtrare este ușor de văzut în rapoartele PivotTable. De exemplu, atunci când adăugați TotalCost în zona valori, apoi adăugați an și regiune la rând sau la coloane, definiți un context de filtrare care selectează un subset de date bazat pe un anumit an și regiune.

De ce este atât de important contextul de filtrare pentru DAX? Deoarece, în timp ce contextul de filtrare poate fi aplicat cel mai ușor prin adăugarea etichetelor de coloană și de rând și a slicerelor într-un raport PivotTable, se poate aplica, de asemenea, un context de filtrare într-o formulă DAX prin definirea unui filtru utilizând funcții precum toate, CORELATe, filtrare, CALCULare, după relații și prin alte măsuri și coloane. De exemplu, să analizăm următoarea formulă într-o măsură denumită StoreSales:

Formulă

În mod evident, această formulă este mai complexă decât unele dintre celelalte formule pe care le-ați văzut. Cu toate acestea, pentru a înțelege mai bine această formulă, o putem detalia, la fel cum am făcut cu alte formule.

Această formulă include următoarele elemente de sintaxă:

  1. Numele măsurii StoreSales, urmat de un colon:.

  2. Operatorul semnul egal (=) indică începutul formulei.

  3. Funcția calcul evaluează o expresie, ca argument, într-un context care este modificat de filtrele specificate.

  4. Paranteze () înconjoară unul sau mai multe argumente.

  5. O măsură [vânzări] în același tabel ca o expresie. Măsura vânzări are formula: = SUM (FactSales [SalesAmount]).

  6. O virgulă (,) separă fiecare filtru.

  7. Coloana la care se face referire și o anumită valoare, DimChannel [ChannelName] = "Store", ca filtru.

Această formulă va asigura numai valorile de vânzări, definite de măsura vânzărilor, ca filtru, sunt calculate doar pentru rândurile din coloana DimChannel [ChannelName] cu valoarea "Store", ca filtru.

După cum vă puteți imagina, posibilitatea de a defini contextul de filtrare într-o formulă are o capacitate imensă și puternică. Posibilitatea de a face referire doar la o anumită valoare într-un tabel asociat este un exemplu. Nu vă faceți griji dacă nu înțelegeți complet contextul imediat. Pe măsură ce creați propriile formule, veți înțelege mai bine contextul și de ce este atât de important în DAX.

Chestionar rapid despre context

  1. Care sunt cele două tipuri de context?

  2. Ce este contextul de filtrare?

  3. Ce este contextul de rând?

Răspunsurile sunt furnizate la sfârșitul acestui subiect.

Rezumat

Acum că aveți o înțelegere de bază a celor mai importante concepte din DAX, puteți începe să creați formule DAX pentru coloane calculate și măsuri pe cont propriu. DAX poate fi, într-adevăr, puțin mai complicat de învățat, dar există multe resurse disponibile pentru dvs. După ce citiți acest subiect de câteva ori și experimentați cu câteva dintre formulele dvs., puteți afla mai multe despre alte concepte și formule DAX care vă pot ajuta să vă rezolvați problemele de afaceri. Există multe resurse DAX disponibile pentru dumneavoastră în Power Pivot ajutor, SQL Server Books Online, documentații și Bloguri de la Microsoft și de la profesioniștii BI din conducere. Wiki-ul Centrului de resurse DAX (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) este un bun început. Referința Data Analysis Expressions (Dax) este, de asemenea, o resursă excelentă. Asigurați-vă că îl salvați în Preferințe.

DAX în documentația modelului tabulare BI, disponibilă pentru descărcare (http://go.microsoft.com/fwlink/?LinkID=237472&clcid = 0x409) oferă un aspect mai detaliat la conceptele introduse aici, precum și multe alte concepte și formule avansate. Această documentație utilizează, de asemenea, același registru de lucru pentru formulele de eșantion contoso DAX. xlsx pe care îl aveți deja.

Răspunsuri chestionar rapid despre

Sintaxă:

  1. Deschide caracteristica Inserare funcție.

  2. Paranteze [].

  3. = [PreţUnitar]-[Costunitar]

Funcții

  1. Un tabel și o coloană.

  2. Da. O formulă poate conține până la 64 funcții imbricate.

  3. Funcțiile text.

Contextual

  1. Contextul de rând și contextul de filtrare.

  2. Unul sau mai multe filtre dintr-un calcul care determină o singură valoare.

  3. Rândul curent.

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.

×