Управление на срещи, планове, бюджети – лесно е с Microsoft 365.

Интелигентно време в Power Pivot в Excel

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

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

Функции

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

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

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

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

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

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

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

Първите осем функции в тази категория започват с колона с дати в настоящия контекст. Например ако използвате мярка в обобщена таблица, може да има месец или година върху етикетите на колони или етикетите на редове. Нетният ефект е колоната за дати, за да се включат само датите за настоящия контекст. Започвайки от този актуален контекст, тези осем функции изчисляват предишния (или следващия) ден, месец, тримесечие или година и връщат тези дати във формата на таблица с една колона. "Предишни" функции работят назад от първата дата в настоящия контекст и следващите функции се придвижват напред от последната дата в настоящия контекст.

Следващите четири функции в тази категория са подобни, но вместо да изчисляват предишен (или следващ) период, те изчисляват набора от дати в периода, който е "месец към днешна дата" (или четвърт към днешна дата или година по дата или през същия период на предходната година). Тези функции извършват изчисленията си, като използват последната дата в настоящия контекст. Имайте предвид, че 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 дни

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

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

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

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

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

= ИЗЧИСЛИ (Expression, 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

Забележка:  Тази страница е преведена чрез автоматизация и може да съдържа граматически грешки и несъответствия. Нашата цел е това съдържание да ви бъде полезно. Можете ли да ни кажете дали информацията е била полезна за вас? Ето статията на английски за справка.

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

Разширете уменията си в Office
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

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

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

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×