Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Изразите за анализ на данни (DAX) имат 35 функции специално за агрегиране и сравняване на данни с течение на времето. За разлика от функциите за дата и час на DAX, функциите за интелигентно време нямат нищо подобно в Excel. Това е така, защото функциите за интелигентно време работят с данни, които непрекъснато се променят, в зависимост от контекста, който изберете във визуализациите на Обобщени таблици и Power View.

За да работите с функции за интелигентно време, трябва да имате таблица с дати, включена във вашия модел на данни. Таблицата за дата трябва да включва колона с по един ред за всеки ден от всяка година, включена във вашите данни. Тази колона се счита за колоната Дата (въпреки че може да бъде наименувана както искате). Много функции за интелигентно време изискват колоната за дата, за да се изчисли според датите, които сте избрали като полета в отчет. Ако например имате мярка, която изчислява баланс в края на тримесечието с помощта на функцията CLOSINGBALANCEQTR, за да може Power Pivot да знае кога наистина е краят на тримесечието, тя трябва да препраща към колоната за дата в таблицата с дати, за да знае кога започва и завършва тримесечието. За да научите повече за таблиците с дати, погледнете Разбиране и създаване на таблици за дата в Power Pivot в Excel.

Функции

Функции, които връщат една дата

Функциите в тази категория връщат една дата. След това резултатът може да се използва като аргументи за други функции.

Първите две функции в тази категория връщат първата или последната дата в Date_Column в текущия контекст. Това може да бъде полезно, когато искате да намерите първата или последната дата, на която сте имали транзакция от определен тип. Тези функции вземат само един аргумент – името на колоната за дата във вашата таблица с дати.

Следващите две функции в тази категория намират и първата или последната дата (или всяка друга стойност на колона), където изразът има не празна стойност. Това най-често се използва в ситуации като наличности, където искате да получите последната сума на наличностите и не знаете кога е направена последната наличност.

Още шест функции, които връщат една дата, са функциите, които връщат първата или последната дата от месец, тримесечие или година в текущия контекст на изчислението.

Функции, които връщат таблица с дати

Има шестнадесет функции за интелигентно време, които връщат таблица с дати. Най-често тези функции ще се използват като аргумент SetFilter на функцията CALCULATE. Точно както всички функции за интелигентно време в DAX, всяка функция приема колона за дата като един от аргументите си.

Първите осем функции в тази категория започват с колона за дата в текущ контекст. Ако например използвате мярка в обобщена таблица, може да има месец или година в етикетите на колоните или етикетите на редовете. Net effect is the date column is filtered to include only the dates for the current context. Започвайки от този текущ контекст, тези осем функции след това изчисляват предишния (или следващия) ден, месец, тримесечие или година и връщат тези дати под формата на таблица с една колона. Функциите "предишни" работят назад от първата дата в текущия контекст, а "следващите" функции се придвижват напред от последната дата в текущия контекст.

Следващите четири функции в тази категория са подобни, но вместо да изчисляват предишен (или следващ) период, те изчисляват набора от дати в периода, който е "от месец към дата" (или "тримесечие към дата" или "година към дата" или в същия период на предишната година). Всички тези функции извършват изчисленията си, като използват последната дата в текущия контекст. Обърнете внимание, че SAMEPERIODLASTYEAR изисква текущият контекст да съдържа непрекъснат набор от дати. Ако текущият контекст не е непрекъснат набор от дати, ТОГАВА SAMEPERIODLASTYEAR ще върне грешка.

Последните четири функции в тази категория са малко по-сложни, а също и малко по-мощни. Тези функции се използват за преминаване от набора от дати, които са в текущия контекст, към нов набор от дати.

  • DATEADD (Date_Column, Number_of_Intervals, интервал)

  • DATESBETWEEN (Date_Column, Start_Date, End_Date)

  • DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, интервал)

DATESBETWEEN изчислява набора от дати между указаната начална дата и крайна дата. Останалите три функции изместват няколко времеви интервала от текущия контекст. Интервалът може да бъде ден, месец, тримесечие или година. Тези функции улесняват смяната на времевия интервал за изчисление от едно от следните неща:

  • Връщане назад две години

  • Връщане назад един месец

  • Напред три тримесечия

  • Връщане 14 дни

  • Напред 28 дни

Във всеки случай трябва да зададете само кой интервал и колко от тези интервали да се изместват. Положителният интервал ще се придвижи напред във времето, докато отрицателният интервал ще се върне назад във времето. Самият интервал се определя по ключова дума от DAY, MONTH, QUARTER или YEAR. Тези ключови думи не са низове, така че не трябва да са в кавички.

Функции, които оценяват изразите за определен период от време

Тази категория функции оценява израз за определен период от време. Можете да постигнете същото с помощта на ФУНКЦИИТЕ CALCULATE и други функции за времева интелигентност. Например

= TOTALMTD (израз, Date_Column [, SetFilter])

е точно същото като:

= CALCULATE (израз, DATESMTD (Date_Column)[, SetFilter])

Въпреки това е по-лесно да използвате тези функции за времева интелигентност, когато те са подходящи за проблема, който трябва да бъде решен:

  • TOTALMTD (израз, Date_Column [, SetFilter])

  • TOTALQTD (израз, Date_Column [, SetFilter])

  • TOTALYTD (израз, Date_Column [, SetFilter] [;YE_Date]) *

Също така в тази категория има група от функции, които изчисляват балансите при отваряне и затваряне. Има определени понятия, които трябва да разберете с тези конкретни функции. Първо, както може да мислите за очевидно, балансът за отваряне за всеки период е същият като крайния баланс за предишния период. Балансът при затваряне включва всички данни до края на периода, докато балансът за отваряне не включва никакви данни от текущия период.

Тези функции винаги връщат стойността на израз, изценен за определен момент във времето. Моментът във времето, за който ни е грижа, винаги е последната възможна стойност на дата в календарен период. Балансът за отваряне се базира на последната дата на предишния период, докато крайният баланс се базира на последната дата в текущия период. Текущият период винаги се определя от последната дата в контекста на текущата дата.

Допълнителни ресурси

Статии: Разбиране и създаване на таблици за дата в Power Pivot в Excel

Справка: СПРАВКА за функцията DAXна Office.com

Извадки: Моделиране и анализ на данни за печалба и загуба с Microsoft PowerPivot Excel

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×