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

Data Analysis Expressions (DAX) are 35 de funcții specifice pentru agregare și compararea datelor în timp. Spre deosebire de funcțiile de dată și oră ale DAX, funcțiile Time-intelligence nu au nimic asemănător în Excel. Acest lucru se întâmplă deoarece funcțiile time intelligence funcționează cu date care sunt în continuă schimbare, în funcție de contextul pe care îl selectați în rapoartele PivotTable și vizualizările Power View.

Pentru a lucra cu funcții time-intelligence, trebuie să aveți un tabel de date inclus în modelul de date. Tabelul de date trebuie să includă o coloană cu un rând pentru fiecare zi a fiecărui an inclusă în date. Această coloană este considerată a fi coloana Dată (deși poate fi numită orice doriți). Multe funcții time-intelligence necesită coloana de date pentru a calcula în funcție de datele pe care le selectați drept câmpuri într-un raport. De exemplu, dacă aveți o măsură care calculează o balanță de sfârșit de trimestru de închidere utilizând funcția CLOSINGBALANCEQTR, pentru ca Power Pivot să știe când este de fapt sfârșitul trimestrului, trebuie să facă referire la coloana de date din tabelul de date pentru a afla când începe și când se termină trimestrul. Pentru a afla mai multe despre tabelele de date, consultați Înțelegerea și crearea tabelelor de date în Power Pivot în Excel.

Funcții

Funcții care returnează o singură dată

Funcțiile din această categorie returnează o singură dată. Rezultatul poate fi apoi utilizat ca argumente pentru alte funcții.

Primele două funcții din această categorie returnează prima sau ultima dată din Date_Column în contextul curent. Acest lucru poate fi util atunci când doriți să găsiți prima sau ultima dată la care ați avut o tranzacție de un anumit tip. Aceste funcții au un singur argument, numele coloanei de date din tabelul de date.

Următoarele două funcții din această categorie găsesc prima sau ultima dată (sau orice altă valoare de coloană) unde o expresie are o valoare nevidă. Acest lucru este utilizat cel mai des în situații precum inventarul, unde doriți să obțineți ultima valoare de inventar și nu știți când a fost luat ultimul inventar.

Alte șase funcții care returnează o singură dată sunt funcțiile care returnează prima sau ultima dată dintr-o lună, un trimestru sau un an în contextul curent al calculului.

Funcții care returnează un tabel de date

Există șaisprezece funcții time-intelligence care returnează un tabel de date. De cele mai multe ori, aceste funcții vor fi utilizate ca argument SetFilter pentru funcția CALCULATE . La fel ca toate funcțiile time-intelligence din DAX, fiecare funcție ia o coloană de date ca unul dintre argumentele sale.

Primele opt funcții din această categorie încep cu o coloană de date într-un context curent. De exemplu, dacă utilizați o măsură într-un raport PivotTable, poate exista o lună sau un an pe etichetele de coloană sau de rând. Efectul net este coloana de date este filtrată pentru a include doar datele pentru contextul curent. Pornind de la acel context curent, aceste opt funcții calculează apoi ziua, luna, trimestrul sau anul anterior (sau următor) și returnează acele date sub forma unui tabel cu o singură coloană. Funcțiile "anterioare" funcționează înapoi de la prima dată din contextul curent, iar funcțiile "următoare" avansează de la ultima dată din contextul curent.

Următoarele patru funcții din această categorie sunt similare, dar, în loc să calculeze o perioadă anterioară (sau următoare), calculează setul de date din perioada care este "lună-la-dată" (sau trimestru-la-dată sau an-la-dată sau în aceeași perioadă a anului precedent). Toate aceste funcții efectuează calculele utilizând ultima dată din contextul curent. Rețineți că SAMEPERIODLASTYEAR necesită ca contextul curent să conțină un set continuu de date. Dacă contextul curent nu este un set contiguu de date, SAMEPERIODLASTYEAR va returna o eroare.

Ultimele patru funcții din această categorie sunt puțin mai complexe și, de asemenea, puțin mai puternice. Aceste funcții sunt utilizate pentru a trece de la setul de date aflate în contextul curent la un nou set de date.

  • DATEADD (Date_Column, Number_of_Intervals, interval)

  • DATESBETWEEN (Date_Column, Start_Date, End_Date)

  • DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, interval)

DATESBETWEEN calculează setul de date dintre data de început și data de sfârșit specificată. Celelalte trei funcții deplasează un număr de intervale de timp față de contextul curent. Intervalul poate fi zi, lună, trimestru sau an. Aceste funcții facilitează deplasarea intervalului de timp pentru un calcul cu oricare dintre următoarele:

  • Mergeți înapoi cu doi ani

  • Reveniți cu o lună

  • Mergeți înainte cu trei sferturi

  • Reveniți cu 14 zile

  • Mergeți înainte cu 28 de zile

În fiecare caz, trebuie să specificați doar ce interval și câte dintre aceste intervale să se deplaseze. Un interval pozitiv va avansa în timp, în timp ce un interval negativ se va muta înapoi în timp. Intervalul în sine este specificat de un cuvânt cheie: DAY, MONTH, QUARTER sau YEAR. Aceste cuvinte cheie nu sunt șiruri, așa că nu ar trebui să fie între ghilimele.

Funcții care evaluează expresii într-o perioadă de timp

Această categorie de funcții evaluează o expresie într-o perioadă de timp specificată. Puteți realiza același lucru utilizând FUNCȚIA CALCULATE și alte funcții time-intelligence. De exemplu, blocnotesurile

= TOTALMTD (Expresie, Date_Column [, SetareFiltru])

este exact la fel ca:

= CALCULATE (Expresie, DATESMTD (Date_Column)[, SetareFiltru])

Totuși, este mai ușor să utilizați aceste funcții time intelligence atunci când acestea sunt potrivite pentru problema care trebuie rezolvată:

  • TOTALMTD (Expresie, Date_Column [, SetareFiltru])

  • TOTALQTD (Expresie, Date_Column [, SetareFiltru])

  • TOTALYTD (Expresie, Date_Column [, SetareFiltru] [,YE_Date]) *

De asemenea, în această categorie se află un grup de funcții care calculează soldurile de deschidere și închidere. Există anumite concepte pe care ar trebui să le înțelegeți cu aceste funcții particulare. Mai întâi, după cum ați putea crede evident, soldul de deschidere pentru orice perioadă este același cu soldul de închidere pentru perioada anterioară. Soldul de închidere include toate datele până la sfârșitul perioadei, în timp ce soldul de deschidere nu include date din perioada curentă.

Aceste funcții returnează întotdeauna valoarea unei expresii evaluate pentru un anumit moment. Punctul în timp care ne interesează este întotdeauna ultima valoare de dată posibilă dintr-o perioadă de calendar. Soldul de deschidere se bazează pe ultima dată a perioadei anterioare, în timp ce soldul de închidere se bazează pe ultima dată din perioada curentă. Perioada curentă este determinată întotdeauna de ultima dată din contextul de dată curent.

Resurse suplimentare

Articole: Înțelegerea și crearea tabelelor de date în Power Pivot în Excel

Referință: Referința funcției DAXla Office.com

Exemple: Modelarea și analiza datelor profit și pierdere cu Microsoft PowerPivot în Excel

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.