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

Важно : Тази статия е преведена машинно – вижте отказа от отговорност. Английската версия на тази статия за справка можете да намерите тук .

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

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

Функции

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

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

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

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

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

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

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

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

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

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

  • DATEADD (Колона_с_дати; Брой_интервали; Интервал)

  • DATESBETWEEN (Колона_с_дати; Начална_дата; Крайна_дата)

  • DATESINPERIOD (Колона_с_дати; Начална_дата; Брой_интервали; Интервал)

  • PARALLELPERIOD (Колона_с_дати; Брой_интервали; Интервал)

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

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

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

  • Прескачане на три тримесечия напред

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

  • Отиване 28 дни напред

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

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

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

= TOTALMTD (Израз; Колона_с_дати [; SetFilter])

изпълнява точно същото като:

= CALCULATE (Израз; DATESMTD (Колона_с_дати)[; SetFilter])

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

  • TOTALMTD (Израз, Колона_с_дати [; SetFilter])

  • TOTALQTD (Израз, Колона_с_дати [; SetFilter])

  • TOTALYTD (Израз, Колона_с_дати [; SetFilter] [;Година_Дата]) *

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

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

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

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

Справка: Справочник за функции на DAXв Office.com

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

Забележка : Отказ от отговорност за машинен превод: Тази статия е преведена от компютърна система без човешка намеса. Microsoft предлага тези машинни преводи, за да помогне на потребителите, които не говорят английски, да се възползват от съдържанието за продукти, услуги и технологии на Microsoft. Тъй като статията е преведена машинно, е възможно да съдържа грешки в речника, синтаксиса и граматиката.

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

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

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

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

×