Applies ToExcel pentru Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

Acest Ghid de pornire rapidă este destinat utilizatorilor care Power Pivot în Excel sau în proiecte de modele tabelare create în SQL Server Data Tools. Scopul este de a vă oferi o prezentare rapidă și simplă a modului în care puteți utiliza DAX (Data Analysis Expressions) pentru a rezolva o serie de probleme de bază legate de modelarea datelor și analitice. 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 conceptelor fundamentale de bază din DAX.

Ce este DAX?

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

De ce este DAX atât de important?

Este simplu 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 formule DAX. Dar ce se întâmplă dacă trebuie să analizați datele critice despre vânzări din mai multe categorii de produse și pentru intervale de date diferite? Sau trebuie să combinați date de inventar importante din mai multe tabele din surse de date diferite? Formulele DAX oferă această capacitate și multe alte capacități importante, de asemenea. Învățarea modului de creare a formulelor DAX eficiente vă va ajuta să profitați la maximum de datele dvs. Atunci când obțineți informațiile de care aveți nevoie, puteți începe să rezolvați problemele reale de afaceri care afectează linia de jos. Aceasta este Business Intelligence și DAX vă va ajuta să ajungeți acolo.

Cerințe preliminare

Este posibil să fiți deja familiarizat cu crearea formulelor în Microsoft Excel. Aceste cunoștințe vor fi utile în înțelegerea DAX, dar chiar dacă nu aveți 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 pe înțelegerea formulelor DAX utilizate în calcule. Ar trebui să fiți deja familiarizat cu conceptele fundamentale ale coloanelor calculate și ale măsurilor (denumite și câmpuri calculate), ambele fiind descrise în ajutorul Power Pivot. De asemenea, ar trebui să fiți familiarizat cu Power Pivot din mediul și instrumentele de creare Excel.

Exemplu de registru de lucru

Cea mai bună metodă de a învăța DAX este să creați unele formule de bază, să le utilizați cu unele date reale și să vedeți rezultatele pentru dvs. Exemplele și activitățile de aici utilizează registrul de lucru Formulas.xlsx DAX eșantion Contoso. Puteți descărca registrul de lucru de la 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: Sintaxa, Funcțiile și Contextul. Desigur, există și alte concepte importante în DAX, dar înțelegerea acestor trei concepte va oferi cea mai bună bază pe care să vă dezvoltați abilitățile DAX.

Sintaxă

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

Formulă pentru coloana calculată

Sintaxa acestei formule include următoarele elemente:

  1. Operatorul de semn 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 [VolumVânzării] conține valorile din care dorim să scădem. O referință de coloană dintr-o formulă este încadrată întotdeauna între paranteze drepte []. Spre deosebire de formulele Excel care fac referire la o celulă, o formulă DAX face întotdeauna referire la o coloană.

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

  4. Coloana la care se face referire [TotalCost] conține valorile pe care dorim să le scădem din valorile din coloana [VolumVânzare].

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

În tabelul VânzăriVânzăriReale, pentru fiecare rând din coloana calculată Margine, calculați (=) o valoare scăzând (-) valori din coloana [TotalCost] din valorile din coloana [VolumVânzări]..

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

Formulă pentru coloana calculată

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

  1. Numele măsurii Suma volumului vânzărilor. Formulele pentru măsuri pot include numele măsurii, urmat de două puncte, urmat de formula de calcul.

  2. Operatorul de semn egal (=) indică începutul formulei de calcul. Atunci când este calculată, va returna un rezultat.

  3. Funcția SUM adună toate numerele din coloana [VolumVânzării].. Veți afla mai multe despre funcții mai târziu.

  4. Paranteză () înconjoară unul sau mai multe argumente. Toate funcțiile necesită cel puțin un argument. Un argument transmite o valoare unei funcții.

  5. Tabelul la care se face referire- TabeleReale.

  6. Coloana la care se face referire [VolumVânzări] din tabelul VânzăriVânzăriReale. Cu acest argument, funcția SUM știe pe ce coloană să agregă o SUMĂ.

Puteți citi această formulă ca:

Pentru măsura denumită Sumă volum vânzări, calculați (=) SUMA valorilor din coloana [ VolumVânzări ] din tabelul VânzăriVânzări.

Când este plasată în zona de fixare Valori dintr-o listă de câmpuri PivotTable, această măsură calculează și returnează valori definite de fiecare celulă din Raportul PivotTable, de exemplu, Telefoane mobile din SUA.

Observați că există câteva lucruri diferite la această formulă comparativ cu formula pe care am utilizat-o pentru coloana calculată Margin. În special, am introdus o funcție, SUM. Funcțiile sunt formule prescrise care simplifică efectuarea calculelor și manipularea complexă cu numere, date, ore, text și altele. Veți afla mai multe despre funcții mai târziu.

Spre deosebire de coloana calculată Margin ( Margin calculated column earlier), vedeți coloana [SalesAmount] preceded by the table FactSales in which the column belongs. Acesta este cunoscut ca un nume de coloană complet calificat, deoarece 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 formulele lungi care fac referire la multe coloane mai scurte și mai ușor de citit. Totuși, este o practică bună să includeți întotdeauna numele tabelului în formulele de măsură, chiar și atunci când vă aflaț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 între ghilimele simple. De asemenea, trebuie să încadrați numele de tabel între ghilimele dacă numele conține caractere în afara intervalului de caractere alfanumerice ANSI, indiferent dacă setarea regională acceptă sau nu setul de caractere.

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 vă așteptați. Power Pivot (și SQL Server Data Tools) include IntelliSense; o caracteristică utilizată pentru a crea formule corecte sincact, ajutându-vă să selectați elementele corecte.

Să creăm o formulă simplă. Această activitate vă va ajuta să înțelegeți mai bine sintaxa formulei ș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, pe panglica Power Pivot, faceți clic pe Power Pivot Fereastră.

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

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

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

    Bara de formule PowerPivot

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

    Să ne uităm puțin la 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 extrema stângă, X, este pur și simplu un buton de anulare. Mergeți mai departe și faceți clic pe ea. Cursorul nu mai apare în bara de formule, iar butonul Anulare și butonul marcaj de selectare nu mai apar. Mergeți mai departe și faceți clic din nou în bara de formule. Butonul Anulare și butonul marcaj de selectare 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 prea multe până când nu introduceți o formulă. Vom reveni la ea în scurt timp.

    Faceți clic pe butonul Fx . Veți vedea că apare o nouă casetă de dialog; caseta de dialog Inserare funcție. Caseta de dialog Inserare funcție este cea mai simplă modalitate de a începe introducerea unei formule DAX. Vom adăuga o funcție la o formulă atunci când vom crea o măsură puțin mai târziu, dar momentan nu trebuie să adăugați o funcție la formula dvs. de coloană calculată. Continuați și închideți caseta de dialog Inserare funcție.

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

    Deoarece coloanele calculate sunt create întotdeauna în tabelul activ în care vă aflați, nu este nevoie să precedați numele coloanei cu numele tabelului. Mergeți mai departe și defilați în jos, apoi faceți dublu clic pe [CotăVânzare]. De asemenea, puteți să defilați la numele coloanei dorite, apoi să apăsați tab.

    Cursorul este acum activ în partea dreaptă a [CotăVânzării].

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

  7. Acum, tastați o altă paranteză deschisă [. De această dată, 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-o cu formula din coloana calculată Margine descrisă anterior.

    După ce apăsați pe Enter pentru a finaliza formula, cuvântul Calculare apare în bara de stare din partea de jos a ferestrei Power Pivot. Merge rapid, chiar dacă tocmai ați calculat valori noi pentru mai mult de trei milioane 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 VânzăriVânzăriReale, formula NetSales calculează o valoare scăzând valoarea din coloana [ReturnQuantity] din valoarea din coloana [CotăVânzări]. Observați cum 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 de rând mai târziu.

Un lucru 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ă tastați următoarea formulă, = 1 & 2, valoarea returnată ar fi o valoare text de "12". Acest lucru se întâmplă deoarece operatorul ampersand (&) este pentru concatenare text. DAX interpretează această formulă pentru a fi citită: Calculați un rezultat luând valoarea 1 ca text și adăugați valoarea 2 ca text. Acum, dacă tastați = 1 + 2, DAX citește această formulă ca: Calculați un rezultat prin luarea valorii numerice 1 și adăugând valoarea numerică 2. Rezultatul este, desigur, "3", o valoare numerică. DAX calculează valorile rezultate î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 sunt în afara domeniului acestei Porniți 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 alta. De data aceasta, veți crea o măsură tastând formula și utilizând IntelliSense. Nu vă faceți prea multe griji dacă nu înțelegeți complet formula. Cel mai important lucru aici este să învățați cum să creați o formulă utilizând mai multe elemente împreună în sintaxa corectă.

Activitate: Crearea unei formule de măsură

  1. În tabelul CeluleReale, faceți clic în orice celulă necompletată din Zona de calcul. Aceasta este zona de celule goale aflată imediat sub un tabel din fereastra Power Pivot.

Zona de calcul PowerPivot

  1. În bara de formule, tastați numele Trimestrul anterior Vânzări:.

  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 CALCULATE .

  4. Tastați o paranteză deschisă ( pentru a începe trecerea argumentelor către funcția CALCULATE.

    Observați că, după ce tastați paranteza de deschidere, IntelliSense vă arată argumentele necesare pentru funcția CALCULATE. Veți învăța despre argumente în scurt timp.

  5. Tastați primele câteva litere din tabelul VânzăriVânzăriReale , apoi, în lista verticală, faceți dublu clic pe VânzăriVânzăriReale[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ă selectarea funcției PREVIOUSQUARTER, apare o altă paranteză de deschidere, indicând faptul 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[DateKey].

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

    Formula dvs. ar trebui să arate acum astfel:

    Vânzări în trimestrul anterior:=CALCULATE(VânzăriVânzări[Vânzări], TRIMESTRU ANTERIOR(DimDate[CheieDate]))

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

Tu ai făcut-o! Tocmai ați creat o măsură folosind DAX, și nu una ușoară. Formula va calcula totalul vânzărilor pentru trimestrul anterior, în funcție de filtrele aplicate într-un raport PivotTable sau PivotChart.

Tocmai ați făcut cunoștință cu mai multe aspecte importante ale formulelor DAX. Mai întâi, această formulă includea două funcții. Observați că funcția PREVIOUSQUARTER este imbricată ca argument transmis funcției CALCULATE . 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 de a crea și depanare, și, probabil, nu ar fi foarte rapid, fie.

În această formulă, ați utilizat și filtre. Filtrele restrâng ceea ce va fi calculat. În acest caz, ați selectat un filtru ca argument, care este de fapt o altă funcție. Veți afla mai multe despre filtre mai târziu.

În sfârșit, ați utilizat funcția CALCULATE. Aceasta este una dintre cele mai puternice funcții din DAX. Pe măsură ce creați modele de date și creați formule mai complexe, probabil că veți utiliza această funcție de mai multe ori. Discutarea funcției CALCULATE se află în afara domeniului de aplicare a acestui QuickStart, dar pe măsură ce cunoștințele despre DAX cresc, acordați o atenție deosebită acestui articol.

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 dată. În registrul de lucru de Samples.xlsx formulă Contoso DAX, coloana DateKey din tabelul DimDate este selectată ca coloană de dată unică.

Credit suplimentar

Este posibil să întrebați: "Care este cea mai simplă formulă DAX pe care o pot crea?" Răspunsul este "formula pe care nu trebuie s-o faci". Și exact asta 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 pe date agregate. De exemplu, funcția SUM din măsura Sumă 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 adună, de asemenea, valori. Puteți crea automat formule utilizând agregări 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 coloanei 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 Medie (observați și celelalte funcții de agregare standard pe care le puteți utiliza).

Imediat, se creează o nouă măsură cu numele Media citatului returnat: urmat de formula =AVERAGE([ReturnQuantity]).

Nu-i așa că a fost ușor? Desigur, 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 simple utilizând calcule de agregare standard.

Acest lucru ar trebui să vă ofere o înțelegere destul de bună a sintaxei utilizate în formulele DAX. De asemenea, v-au fost prezentate unele caracteristici foarte interesante, cum ar fi IntelliSense și Însumare automată, pentru a vă ajuta să creați formule rapide, simple și precise. Desigur, există mult mai multe puteți afla despre sintaxă. Un loc bun pentru a afla mai multe este referința DAX sau SQL Books Online.

QuickQuiz pentru sintaxă

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

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

  3. Cum scrieți o formulă pentru următoarele:În tabelul DimProduct, pentru fiecare rând din coloana calculată UnitMargin, calculați o valoare scăzând valori din coloana UnitCost din valorile din coloana PrețUnitar?

Răspunsurile sunt furnizate la finalul acestui subiect.

Funcții

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

DAX include următoarele categorii de funcții: Funcțiile Dată și Oră, Informații, Logice, Matematice, Statistice, Text și Time Intelligence. Dacă sunteți familiarizat cu funcțiile din formulele Excel, multe dintre funcțiile din DAX vor apărea similare cu dvs.; totuși, 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 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 rândului 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 multe funcții care returnează un tabel, nu o valoare. Tabelul nu se afișează, dar este utilizat pentru a furniza informații altor funcții. De exemplu, puteți să regăsiți un tabel, apoi să contorizați valorile distincte din acesta sau să calculați sume dinamice în tabele sau coloane 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 pe baza lor. De exemplu, puteți compara sumele în perioade paralele.

Uneori, este dificil să știți ce funcții trebuie să utilizați într-o formulă. Power Pivot și proiectantul de modele tabelare din SQL Server Data Tools includ caracteristica Inserare funcție, o casetă de dialog care vă ajută să selectați funcții după categorie și furnizează scurte descrieri 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 Inserare funcție

  1. În tabelul PuncteReale, defilați la coloana cea mai din dreapta, apoi, în antetul de coloană, 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 Se deschide caseta de dialog Inserare funcție .

  4. În caseta de dialog Inserare funcție , faceți clic pe caseta listă Selectare categorie . În mod implicit, toate sunt selectate și toate funcțiile din categoria Toate sunt listate mai jos. Sunt multe funcții, așa că se recomandă să filtrați funcțiile pentru a facilita găsirea tipului de funcție pe care îl căutați.

  5. Pentru această formulă, doriți să returnați unele date care există deja în alt tabel. Pentru aceasta, veți utiliza o funcție din categoria Filtru. Mergeți mai departe și faceți clic pe categoria Filtru , apoi, în Selectați o funcție, defilați în jos și faceți dublu clic pe funcția RELATED. 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 Calculare 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 VânzăriReale cu informații despre canal din tabelul DimChannel.

  9. Redenumiți coloana Canal.

    Formula dvs. ar trebui să arate astfel: =RELATED(DimChannel[ChannelName])

Tocmai ați făcut cunoștință cu o altă funcție foarte importantă din DAX, funcția RELATED . Funcția RELATED returnează valori din alt tabel. Puteți utiliza RELATED 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. Desigur, funcția RELATED are posibilități imense. În acest caz, puteți include acum canalul de vânzări pentru fiecare vânzare în tabelul VânzăriReale. Acum puteți ascunde tabelul DimChannel din lista de câmpuri PivotTable, simplificând navigarea și vizualizarea doar a informațiilor cele mai importante de care aveți nevoie. La fel ca funcția CALCULATE descrisă anterior, funcția RELATED este foarte importantă și probabil o veți utiliza de multe ori.

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

Întrebări rapide despre funcții

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

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

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

Răspunsurile sunt furnizate la finalul acestui subiect.

Context

Contextul este unul dintre cele mai importante concepte DAX de înțeles. Există două tipuri de context în DAX; contextul rândului și contextul de filtrare. Vom analiza mai întâi contextul rândului.

Context rând

Contextul de rând este cel mai ușor de considerat rând curent. De exemplu, rețineți coloana calculată Margin pe care ați văzut-o anterior atunci când învățați despre sintaxă? Formula =[VolumVânzări] - [TotalCost] calculează o valoare în coloana Margine pentru fiecare rând din tabel. Valorile pentru fiecare rând sunt calculate din valori din două alte coloane, [VolumVânzare] ș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 [VolumVânzări].

În celula selectată afișată mai jos, valoarea, 49,54 lei în rândul curent, a fost calculată scăzând valoarea 51,54 lei din coloana [TotalCost] din valoarea 101,08 lei din coloana [VolumVânzări]..

Contextul de rând în PowerPivot

Contextul de rând nu se aplică doar coloanelor calculate. Contextul de rând se aplică și atunci 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 peste care filtrează. Acest tip de context de rând se aplică cel mai adesea măsurilor.

Context filtru

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

Contextul filtrului nu există în locul contextului de rând; mai degrabă, se aplică în plus față de contextul de rând. De exemplu, pentru a restrânge și mai mult valorile de inclus într-un calcul, puteți aplica un context de filtrare care nu numai că specifică contextul de rând, ci specifică și 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 la zona Valori, apoi adăugați An și regiune la Rând sau Coloane, definiți un context de filtrare care selectează un subset de date pe baza unui anumit an și a unei regiuni.

De ce este contextul de filtrare atât de important pentru DAX? Deoarece, deși 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, contextul de filtrare poate fi aplicat și într-o formulă DAX, definind un filtru utilizând funcții precum ALL, RELATED, FILTER, CALCULATE, by relationships și după alte măsuri și coloane. De exemplu, să privim următoarea formulă într-o măsură numită StoreSales:

Formulă

În mod clar, această formulă este mai complexă decât alte formule pe care le-ați văzut. Totuși, pentru a înțelege mai bine această formulă, o putem des scinda, la fel cum am procedat cu alte formule.

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

  1. Numele măsurii StoreSales, urmat de două puncte :.

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

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

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

  5. O măsură [Vânzări] din același tabel ca o expresie. Măsura Vânzări are formula: =SUM(VânzăriVânzări[VolumVânzări]).

  6. Virgula (,) separă fiecare filtru.

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

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

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

Solicitare rapidă 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 finalul 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 un pic complicat pentru a învăța, dar există multe resurse disponibile pentru tine. 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 propriile probleme de afaceri. Există multe resurse DAX disponibile pentru dvs. în Ajutorul Power Pivot, SQL Server Books Online, cărți albe și bloguri de la Microsoft și de la specialiști de top din BI. DaX Resource Center Wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) este un loc foarte bun pentru a începe. Referința DAX (Data Analysis Expressions) este, de asemenea, o resursă foarte bună. Nu uitați să-l salvați în Preferințe.

DAX în modelul tabelar BI whitepaper, disponibil pentru descărcare (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) oferă o privire mai detaliată la conceptele introduse aici, precum și multe alte concepte avansate și formule. Această pagină albă utilizează, de asemenea, același registru de lucru Formulas.xlsx Eșantion Contoso DAX pe care îl aveți deja.

Răspunsuri QuickQuiz

Sintaxă:

  1. Deschide caracteristica Inserare funcție.

  2. Paranteze drepte [].

  3. =[PrețUnitar] - [UnitCost]

Funcţii:

  1. Un tabel și o coloană.

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

  3. Funcții text.

Context:

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

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

  3. Rândul curent.

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.