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

Această secțiune oferă linkuri către exemple care demonstrează utilizarea formulelor DAX în scenariile următoare.

  • Efectuarea calculelor complexe

  • Lucrul cu textul și datele

  • Valori condiționale și testarea erorilor

  • Utilizarea funcției time intelligence

  • Clasificarea și compararea valorilor

În acest articol

Introducere

Vizitați Wiki-ul centrului de resurse DAX , unde puteți găsi tot felul de informații despre DAX, inclusiv bloguri, eșantioane, pagini albe și videoclipuri furnizate de profesioniști de top din industrie și de Microsoft.

Scenarii: Efectuarea calculelor complexe

Formulele DAX pot efectua calcule complexe care implică agregări particularizate, filtrare și utilizarea valorilor condiționale. Această secțiune oferă exemple despre cum să începeți lucrul cu calculele particularizate.

Crearea calculelor particularizate pentru un raport PivotTable

CALCULATE și CALCULATETABLE sunt funcții puternice, flexibile, care sunt utile pentru definirea câmpurilor calculate. Aceste funcții vă permit să modificați contextul în care se va efectua calculul. De asemenea, puteți particulariza tipul de agregare sau operațiune matematică de efectuat. Consultați următoarele subiecte, de exemplu.

Aplicarea unui filtru la o formulă

În majoritatea locurilor în care o funcție DAX ia un tabel ca argument, puteți trece, de obicei, într-un tabel filtrat, fie utilizând funcția FILTER în locul numelui tabelului, fie specificând o expresie filtru ca unul dintre argumentele funcției. Următoarele subiecte oferă exemple de creare a filtrelor și a modului în care filtrele afectează rezultatele formulelor. Pentru mai multe informații, consultați Filtrarea datelor în formulele DAX.

Funcția FILTER vă permite să specificați criteriile de filtrare utilizând o expresie, în timp ce celelalte funcții sunt proiectate special pentru a filtra valorile necompletate.

Eliminarea selectivă a filtrelor pentru a crea un raport dinamic

Prin crearea filtrelor dinamice în formule, puteți răspunde cu ușurință la întrebări precum următoarele:

  • Care a fost contribuția vânzărilor produsului curent la vânzările totale din an?

  • Cât a contribuit această împărțire la profiturile totale pe toți anii de funcționare, comparativ cu alte divizii?

Formulele pe care le utilizați într-un raport PivotTable pot fi afectate de contextul PivotTable, dar puteți modifica selectiv contextul adăugând sau eliminând filtre. Exemplul din subiectul TOATE vă arată cum să faceți acest lucru. Pentru a găsi raportul dintre vânzările unui anumit reseller și vânzările pentru toți resellerii, creați o măsură care calculează valoarea pentru contextul curent împărțit la valoarea pentru contextul ALL.

Subiectul ALLEXCEPT oferă un exemplu de golire selectivă a filtrelor dintr-o formulă. Ambele exemple vă ajută să parcurgeți modul în care rezultatele se modifică în funcție de proiectarea raportului PivotTable.

Pentru alte exemple de calcul al ratelor și procentelor, consultați următoarele subiecte:

Utilizarea unei valori dintr-o buclă exterioară

În plus față de utilizarea valorilor din contextul curent în calcule, DAX poate utiliza o valoare dintr-o buclă anterioară în crearea unui set de calcule asociate. Următorul subiect vă arată cum să construiți o formulă care face referire la o valoare dintr-o buclă externă. Funcția EARLIER acceptă până la două niveluri de bucle imbricate.

Pentru a afla mai multe despre contextul de rând și tabelele asociate și cum să utilizați acest concept în formule, consultați Contextul în formulele DAX.

Scenarii: Lucrul cu textul și datele

Această secțiune oferă linkuri către subiecte de referință DAX care conțin exemple de scenarii comune care implică lucrul cu text, extragerea și compunerea valorilor de dată și oră sau crearea valorilor pe baza unei condiții.

Crearea unei coloane cheie prin concatenare

Power Pivot nu permite chei compuse; prin urmare, dacă aveți chei compuse în sursa de date, poate fi necesar să le combinați într-o singură coloană cheie. Următorul subiect oferă un exemplu de creare a unei coloane calculate pe baza unei chei compuse.

Compun o dată pe baza părților de dată extrase dintr-o dată text

Power Pivot utilizează un tip de date dată/oră SQL Server pentru a lucra cu datele; prin urmare, dacă datele externe conțin date formatate diferit - de exemplu, dacă datele sunt scrise într-un format de dată regional care nu este recunoscut de motorul de date Power Pivot sau dacă datele dvs. utilizează chei surogat întregi - poate fi necesar să utilizați o formulă DAX pentru a extrage părțile de dată și a compune părțile într-o reprezentare dată/oră validă.

De exemplu, dacă aveți o coloană de date care au fost reprezentate ca numere întregi și apoi importate ca șir text, puteți efectua conversia șirului la o valoare dată/oră utilizând următoarea formulă:

=DATE(RIGHT([Valoare1],4),LEFT([Valoare1],2),MID([Valoare1],2))

Valoare1

Rezultat

01032009

1/3/2009

12132008

12/13/2008

06252007

6/25/2007

Următoarele subiecte oferă mai multe informații despre funcțiile utilizate pentru a extrage și a compune date.

Definirea unui format de dată sau de număr particularizat

Dacă datele conțin date sau numere care nu sunt reprezentate într-unul dintre formatele de text Windows standard, puteți defini un format particularizat pentru a vă asigura că valorile sunt gestionate corect. Aceste formate sunt utilizate la conversia valorilor în șiruri sau din șiruri. Următoarele subiecte furnizează, de asemenea, o listă detaliată a formatelor predefinite disponibile pentru lucrul cu date și numere.

Modificarea tipurilor de date utilizând o formulă

În Power Pivot, tipul de date al rezultatului este determinat de coloanele sursă și nu puteți specifica în mod explicit tipul de date al rezultatului, deoarece tipul optim de date este determinat de Power Pivot. Cu toate acestea, puteți utiliza conversiile implicite ale tipurilor de date efectuate de Power Pivot pentru a manipula tipul de date de ieșire. 

  • Pentru a efectua conversia unei date sau a unui șir numeric într-un număr, înmulțiți cu 1,0. De exemplu, următoarea formulă calculează data curentă minus 3 zile, apoi afișează valoarea întreagă corespunzătoare.

    =(TODAY()-3)*1,0

  • Pentru a efectua conversia unei date calendaristice, a unui număr sau a unei valori monetare într-un șir, concatenați valoarea cu un șir gol. De exemplu, următoarea formulă returnează data de astăzi ca șir.

    =""& TODAY()

Următoarele funcții pot fi utilizate, de asemenea, pentru a vă asigura că se returnează un anumit tip de date:

Conversia numerelor reale în numere întregi

Scenariu: Valori condiționale și testarea erorilor

La fel ca Excel, DAX are funcții care vă permit să testați valorile din date și să returnați o altă valoare pe baza unei condiții. De exemplu, puteți crea o coloană calculată care eticheteză resellerii ca Preferat sau Valoare , în funcție de volumul anual al vânzărilor. Funcțiile care testează valori sunt utile și pentru verificarea zonei sau a tipului de valori, pentru a împiedica erorile neașteptate de date să rupă calculele.

Crearea unei valori pe baza unei condiții

Puteți utiliza condiții IF imbricate pentru a testa valori și a genera valori noi condiționat. Următoarele subiecte conțin câteva exemple simple de procesare condiționată și valori condiționale:

Testarea erorilor dintr-o formulă

Spre deosebire de Excel, nu puteți avea valori valide într-un rând al unei coloane calculate și valori nevalide în alt rând. Aceasta înseamnă că, dacă există o eroare în orice parte a unei coloane Power Pivot, întreaga coloană este semnalizată cu o eroare, astfel încât să corectați întotdeauna erorile de formule care au ca rezultat valori nevalide.

De exemplu, dacă creați o formulă care se împarte la zero, este posibil să obțineți rezultatul infinit sau o eroare. Unele formule nu vor reuși și dacă funcția întâlnește o valoare necompletată atunci când se așteaptă la o valoare numerică. În timp ce dezvoltați modelul de date, cel mai bine este să permiteți afișarea erorilor, astfel încât să puteți face clic pe mesaj și să depanați problema. Cu toate acestea, atunci când publicați registre de lucru, ar trebui să încorporați gestionarea erorilor pentru a împiedica valorile neașteptate să provoace nereușită calculelor.

Pentru a evita returnarea erorilor într-o coloană calculată, utilizați o combinație de funcții logice și de informații pentru a testa erorile și a returna întotdeauna valori valide. Următoarele subiecte oferă câteva exemple simple de cum să faceți acest lucru în DAX:

Scenarii: Utilizarea Funcției Time Intelligence

Funcțiile DAX time intelligence includ funcții care vă ajută să regăsiți date sau intervale de date din datele dvs. Apoi puteți utiliza acele date sau intervale de date pentru a calcula valori în perioade similare. Funcțiile time intelligence includ și funcții care funcționează cu intervale de date standard, pentru a vă permite să comparați valorile din luni, ani sau trimestre. De asemenea, puteți crea o formulă care compară valorile pentru prima și ultima dată dintr-o perioadă specificată.

Pentru o listă a tuturor funcțiilor time intelligence, consultați Funcțiile Time Intelligence (DAX). Pentru sfaturi despre cum să utilizați eficient datele și orele într-o analiză Power Pivot, consultați Date în Power Pivot.

Calcularea vânzărilor cumulative

Următoarele subiecte conțin exemple de calcul al soldurilor de închidere și de deschidere. Exemplele vă permit să creați solduri parțiale în diferite intervale, cum ar fi zile, luni, trimestre sau ani.

Compararea valorilor în timp

Următoarele subiecte conțin exemple de comparare a sumelor în perioade de timp diferite. Perioadele implicite de timp acceptate de DAX sunt luni, trimestre și ani.

Calcularea unei valori peste un interval de date particularizat

Consultați următoarele subiecte pentru exemple de regăsire a intervalelor de date particularizate, cum ar fi primele 15 zile de la începutul unei promoții de vânzări.

Dacă utilizați funcții time intelligence pentru a regăsi un set particularizat de date, puteți utiliza acel set de date ca intrare pentru o funcție care efectuează calcule, pentru a crea agregate particularizate în perioade de timp. Consultați următorul subiect pentru un exemplu despre cum să procedați:

  • Funcția PARALLELPERIOD

    Notă: Dacă nu trebuie să specificați un interval de date particularizat, dar lucrați cu unități de contabilitate standard, cum ar fi luni, trimestre sau ani, vă recomandăm să efectuați calcule utilizând funcțiile time intelligence proiectate în acest scop, cum ar fi TOTALQTD, TOTALMTD, TOTALQTD etc.

Scenarii: Clasificarea și compararea valorilor

Pentru a afișa numai numărul n din partea de sus a elementelor dintr-o coloană sau dintr-un raport PivotTable, aveți mai multe opțiuni:

  • Puteți utiliza caracteristicile din Excel pentru a crea un filtru principal. De asemenea, puteți selecta un număr de valori superioare sau inferioare dintr-un raport PivotTable. Prima parte a acestei secțiuni descrie modul de filtrare pentru primele 10 elemente dintr-un raport PivotTable. Pentru mai multe informații, consultați documentația Excel.

  • Puteți să creați o formulă care clasifică dinamic valorile, apoi să filtrați după valorile de ierarhizare sau să utilizați valoarea de ierarhizare ca slicer. A doua parte a acestei secțiuni descrie cum să creați această formulă, apoi să utilizați acea ierarhizare într-un slicer.

Există avantaje și dezavantaje pentru fiecare metodă.

  • Filtrul Excel de sus este ușor de utilizat, dar filtrul este exclusiv pentru afișare. Dacă datele subiacente raportului PivotTable se modifică, trebuie să reîmprospătați manual raportul PivotTable pentru a vedea modificările. Dacă trebuie să lucrați dinamic cu ierarhizare, puteți utiliza DAX pentru a crea o formulă care compară valorile cu alte valori dintr-o coloană.

  • Formula DAX este mai puternică; în plus, prin adăugarea valorii de ierarhizare la un slicer, puteți face clic pe slicer pentru a modifica numărul de valori de top afișate. Totuși, calculele sunt costisitoare din punct de vedere al calculelor și este posibil ca această metodă să nu fie potrivită pentru tabelele cu multe rânduri.

Afișarea numai a primelor zece elemente dintr-un raport PivotTable

Pentru a afișa valorile superioare sau inferioare într-un raport PivotTable

  1. În raportul PivotTable, faceți clic pe săgeata în jos din titlul Etichete de rând .

  2. Selectați Filtre de valoare> Primele 10.

  3. În caseta de dialog Primele 10 filtre <numele coloanei> , alegeți coloana de rang și numărul de valori, după cum urmează:

    1. Selectați Sus pentru a vedea celulele cu cele mai mari valori sau Jos pentru a vedea celulele cu cele mai mici valori.

    2. Tastați numărul de valori superioare sau inferioare pe care doriți să le vedeți. Valoarea implicită este 10.

    3. Selectați cum doriți să se afișeze valorile:

Nume

Descriere

Elemente

Bifați această opțiune pentru a filtra raportul PivotTable pentru a afișa doar lista de elemente superioare sau inferioare după valorile lor.

Procent

Bifați această opțiune pentru a filtra raportul PivotTable pentru a afișa doar elementele care se adună până la procentul specificat.

Sum

Bifați această opțiune pentru a afișa suma valorilor pentru elementele superioare sau inferioare.

  1. Selectați coloana care conține valorile pe care doriți să le clasificați.

  2. Faceți clic pe OK.

Ordonarea dinamică a elementelor utilizând o formulă

Următorul subiect conține un exemplu de utilizare a DAX pentru a crea o ierarhizare stocată într-o coloană calculată. Deoarece formulele DAX sunt calculate dinamic, puteți fi întotdeauna sigur că ierarhizare este corectă, chiar dacă datele subiacente s-au modificat. De asemenea, deoarece formula este utilizată într-o coloană calculată, puteți să utilizați clasificarea într-un slicer, apoi să selectați primele 5, primele 10 sau chiar primele 100 de valori.

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.