Filtrarea datelor în formulele DAX

Important : Acest articol este tradus automat, consultați exonerarea de răspundere. Versiunea în limba engleză a acestui articol se poate găsi aici pentru referință.

Această secțiune descrie modul de creare a filtrelor în cadrul formulelor Data Analysis Expressions (DAX). Puteți să creați filtrelor în cadrul formulelor pentru a restricționa valorile din sursa de date care sunt utilizate în calcule. Puteți face acest lucru, specificând un tabel ca o intrare în formulă, apoi definirea unei expresii de filtru. Expresia de filtru vă oferă este utilizat pentru datele de interogare și a reveni doar un subset de date sursă. Se aplică filtrul dinamic de fiecare dată când actualizați rezultatul formulei, în funcție de contextul curent de date.

În acest articol

Crearea unui filtru într-un tabel utilizat într-o formulă

Filtre care elimină dubluri

Cum influențează contextul filtrele

Eliminarea filtrelor

Înlocuirea tuturor filtrelor cu funcția ALL

Înlocuirea filtrelor specifice cu funcția ALLEXCEPT

Crearea unui filtru într-un tabel utilizat într-o formulă

Puteți să aplicați filtre în formule care iau tabele drept intrare. În loc să introduceți un nume de tabel, utilizați funcția FILTER pentru a defini un subset de rânduri din tabelul specificat. Apoi acel subset este trecut prin altă funcție, pentru operații precum agregări personalizate.

De exemplu, să presupunem că aveți un tabel de date care conține informații despre comenzi despre reselleri și doriți să calculați cât de mult vinde fiecare reseller. Însă doriți să afișați cantitatea de vânzări doar pentru acei reselleri care au vândut mai multe unități din produse cu valoare ridicată. Formula următoare, bazată pe registrul de lucru eșantion DAX, afișează un exemplu al modului în care puteți să creați acest calcul utilizând un filtru:

= SUMX (
filtru (ResellerSales_USD, 'ResellerSales_USD [cantitate] > 5 & &
'ResellerSales_USD' [ProductStandardCost_USD] > 100),
'ResellerSales_USD' [SalesAmt]
)

  • Prima parte a formulei specifică una dintre funcțiile de agregare Power Pivot , care necesită un tabel ca argument. SUMX calculează o sumă într-un tabel.

  • A doua parte a formulei, FILTER(table, expression),spune SUMX ce date de utilizat. SUMX necesită un tabel sau o expresie care are ca rezultat un tabel. Aici, în loc să utilizați toate datele dintr-un tabel, utilizați funcția FILTER pentru a specifica ce rândurile din tabel sunt utilizate.

    Expresia de filtru are două părți: prima parte numele tabelului în care se aplică filtrul. A doua parte definește o expresie să o utilizați ca starea de filtrare. În acest caz, filtrați pe reselleri cine a vândut mai mult de 5 unități și produse cu cost mai mult de 100 lei. Operatorul, & &, este un operator și logice, care indică faptul că ambele părți ale condiția trebuie să fie adevărate pentru rândul care să aparțină la subsetul filtrate.

  • A treia parte a formulei spune funcției SUMX ce valori să fie adunate. În acest caz utilizați doar cantitatea de vânzări.

    Rețineți că funcțiile care returnează tabele, cum ar fi funcția FILTER, nu returnează niciodată tabelul sau rândurile direct, ci sunt întotdeauna încorporate în altă funcție. Pentru mai multe informații despre FILTER și alte funcții utilizate pentru filtrare, inclusiv mai multe exemple, consultați Funcțiile filtrului (DAX).

    Notă : Expresia filtru este influențată de contextul în care este utilizată. De exemplu, dacă utilizați un filtru într-o măsură, iar măsura este utilizată într-un PivotTable sau PivotChart, subsetul de date care este returnat poate fi influențat de filtrele suplimentare sau slicere pe care utilizatorul le-a aplicat la PivotTable. Pentru mai multe informații despre context, consultați Contextul în formule DAX.

Filtre care elimină dubluri

În plus față de filtrarea după anumite valori, puteți returna un set de valori unic din alt tabel sau coloană. Acest lucru poate fi util atunci când doriți să contorizați numărul de valori unice dintr-o coloană sau să utilizați o listă de valori unice pentru alte operații. DAX furnizează două funcții pentru returnarea valorilor distincte: funcția DISTINCT și funcția VALUES.

  • Funcția DISTINCT examinează o coloană unică pe care o specificați ca argument pentru funcție și returnează o coloană nouă care conține doar valorile distincte.

  • Funcția valori și returnează o listă de valori unice, dar, de asemenea, returnează membrului necunoscut. Acest lucru este util atunci când utilizați valorile din două tabele care sunt asociate cu o relație și o valoare este lipsă dintr-un tabel și prezentare în alta. Pentru mai multe informații despre membrului necunoscut, consultați secțiunea contextul în formulele DAX.

Ambele funcții returnează o coloană întreagă de valori; astfel, utilizați funcțiile pentru a obține o listă de valori care apoi este trecută prin altă funcție. De exemplu, puteți să utilizați formula următoare pentru a obține o listă de produse distincte vândute de un anumit reseller, utilizând cheia unică de produs, apoi să numărați produsele din acea listă utilizând funcția COUNTROWS:

=COUNTROWS(distinct('ResellerSales_USD'[ProductKey]))

Începutul paginii

Cum influențează contextul filtrele

Atunci când adăugați o formulă DAX la un raport PivotTable sau PivotChart, rezultatul formulei pot fi afectate de context. Dacă lucrați într-un tabel Power Pivot , contextul este rândul curent și valorile sale. Dacă lucrați într-un raport PivotTable sau PivotChart, contextul înseamnă set sau subset de date care este definit de operațiuni, cum ar fi tăiat sau de filtrare. Proiectare raport PivotTable sau PivotChart, de asemenea, impune contextul proprie. De exemplu, dacă creați un raport PivotTable care grupează vânzărilor după regiune și year, doar datele pe care se aplică la acele regiuni și ani apare în raportul PivotTable. Prin urmare, orice măsuri pe care le adăugați la raportul PivotTable sunt calculate în contextul titlurile de coloane și rânduri, plus toate filtrele din formula de măsură.

Pentru mai multe informații, consultați Contextul în formule DAX.

Începutul paginii

Eliminarea filtrelor

Atunci când lucrați cu formule complexe, probabil doriți să știți exact care sunt filtrele curente sau să modificați partea filtru a formulei. DAX furnizează mai multe funcții care vă permit să eliminați filtrele și să controlați ce coloane sunt reținute ca parte a contextului filtrului curent. Această secțiune furnizează o prezentare generală a modului în care aceste funcții influențează rezultatele dintr-o formulă.

Înlocuirea tuturor filtrelor cu funcția ALL

Puteți folosi ALL pentru a suprascrie toate filtrele care erau aplicate anterior și returna toate rândurile din tabelul funcției care efectuează operațiunea agregate sau alte. Dacă utilizați una sau mai multe coloane, în loc de un tabel, ca argumente la ALL, funcția ALL returnează toate rândurile, ignorând toate filtrele de context.

Notă : Dacă sunteți familiarizat cu terminologia bazelor de date relaționale, puteți să considerați ALL ca generator al unirii naturale externe la stânga pentru toate tabelele.

De exemplu, să presupunem că aveți tabele Vânzări și produse și doriți să creați o formulă care să calculeze suma vânzărilor pentru produsul curent împărțită după vânzările pentru toate produsele. Trebuie să luați în considerare faptul că, dacă formula este utilizată într-o măsură, utilizatorul de PivotTable poate utiliza un slicer pentru a filtra după un anumit produs, cu numele de produs în rânduri. Astfel, pentru a obține adevărata valoare a numitorului indiferent de filtre sau slicere, trebuie să adăugați funcția ALL pentru a înlocui toate filtrele. Formula următoare este un exemplu de utilizare a funcției ALL pentru a înlocui efectele filtrelor anterioare:

= SUM (vânzări [cantitate]) / SUMX (vânzări [cantitate], filtru (vânzări, ALL(Products)))

  • Prima parte a formulei, SUM (Cantitate[Vânzări]), calculează numărătorul.

  • Suma ia în considerare contextul curent, ceea ce înseamnă că dacă adăugați formula într-o coloană calculată se aplică contextul de rând, iar dacă adăugați formula într-un PivotTable ca măsură, se aplică toate filtrele aplicate în PivotTable (contextul de filtru).

  • A doua parte a formulei, calculează numitorul. Funcția ALL ignoră orice filtre care pot fi aplicate la tabelul Products .

Pentru mai multe informații, inclusiv exemple detaliate, consultați Funcția ALL.

Înlocuirea filtrelor specifice cu funcția ALLEXCEPT

Funcția ALLEXCEPT suprascrie, de asemenea, filtrele existente, însă puteți specifica să se păstreze unele dintre filtrele existente. Coloanele pe care le numiți ca argumente la funcția ALLEXCEPT specifică ce coloane să fie filtrate în continuare. Dacă doriți să înlocuiți filtrele din aproape toate coloanele, însă nu din toate, ALLEXCEPT este mai convenabilă decât ALL. Funcția ALLEXCEPT este utilă mai ales când creați un PivotTable care poate fi filtrat în multe coloane diferite și doriți să controlați ce valori se utilizează în formulă. Pentru mai multe informații, inclusiv un exemplu detaliat al modului în care se utilizează ALLEXCEPT într-un PivotTable, consultați Funcția ALLEXCEPT.

Începutul paginii

Notă : Exonerare de răspundere pentru traducere automată: Acest articol a fost tradus de un sistem computerizat, fără intervenție umană. Microsoft oferă aceste traduceri automate pentru a ajuta utilizatorii vorbitori de alte limbi decât engleza să beneficieze de conținutul despre produsele, serviciile și tehnologiile Microsoft. Pentru că articolul a fost tradus de un computer, poate conține erori de vocabular, sintaxă sau gramatică.

Extindeți-vă competențele
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.

×