Агрегирания в Power Pivot

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

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

Най-често срещаните обединения, като например тези, които използват средно, брой, DISTINCTCOUNT, MAX, MINили сума може да бъде създаден в мярка автоматично с помощта на Автосумиране. Други типове на обединения, например AVERAGEX, COUNTX, COUNTROWSили SUMXвръщат таблица и изискват формула, създадени с помощта на Изрази за анализ на данни (DAX).

Подробна информация за агрегиранията в Power Pivot

Избиране на групи за агрегиране

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

Решението как да групирате данните зависи от бизнес въпроса. Например агрегиранията може да отговарят на следните въпроси:

Преброяване   Колко бяха транзакциите в даден месец?

Усредняване    Колко продажби средно се падат на търговец за дадения месец?

Минимални и максимални стойности    Кои са петте водещи области на продажби по отношение на продадени единици?

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

Ако данните не съдържа стойности, които можете да използвате за групиране, например продуктова категория или името на географски регион, където се намира магазина, може да искате да се въведе групи на вашите данни чрез добавяне на категории. Когато съставяте групи в Excel, трябва ръчно да въведете или изберете групи, които искате да използвате измежду колоните в работния лист. Въпреки това в релационна система, йерархии например категории за продуктите често се съхраняват в различна таблица от факта или стойност таблица. Обикновено таблицата с категория е свързана с факти данни от някакъв вид на ключ. Например установите, че данните ви съдържат ИД на продукт, но не имената на продукти или техните категории. За да добавите категорията на плосък работен лист на Excel, ще трябва да копирате в колоната, която съдържа имената на категориите. С Power Pivotможе да импортирате таблицата с категория продукти към модел на данни, създаване на релация между таблици с числови данни и списъка с категория продукти и след това използвайте категории, за да групирате данни. За повече информация вижте Създаване на релация между таблици.

Избор на агрегатна функция

След като сте идентифицирали и добавили групиранията, които ще използвате, трябва да решите кои математически функции да използвате за агрегиране. Често думата "агрегиране" се използва като синоним на математически или статистически операции, използвани за агрегирания например суми, средни стойности, минимални стойности или общ брой. Power Pivot обаче ви позволява да създавате персонализирани формули за агрегиране, освен стандартните агрегирания в Power Pivot и Excel.

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

Филтрирани бройки   Колко бяха транзакциите в даден месец, като се изключи периодът за поддръжка в края на месеца?

Съотношения, ползващи средни стойности във времето    Какъв е процентният ръст или спад в продажбите в сравнение със същия период на миналата година?

Групирани минимални и максимални стойности    Кои области на продажби са водещи за всяка продуктова категория или търговска промоция?

Добавяне на агрегирания към формули и обобщени таблици

Когато добиете обща представа за това, как да групирате данните си, така че да придобият смисъл, а също и за стойностите, с които искате да работите, ще можете да решите дали да създадете обобщена таблица или изчисления вътре в таблицата. Power Pivot разширява и подобрява вградената способност на Excel да създава агрегирания например суми, общ брой или средни стойности. Можете да създавате персонализирани агрегирания в Power Pivot – в прозореца на Power Pivot или в областта за обобщени таблици на Excel.

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

  • В мяркаможете да създавате динамични обединения, които използват филтри, дефинирани във формулата и филтри, наложено от проектирането на обобщената таблица и на избора на сегментатори, заглавията на колоните и заглавия на редове. Мерки, като използвате стандартни обединения могат да бъдат създадени в Power Pivot , като използвате Автосумиране или чрез създаване на формула. Можете също да създадете неявни мерки, като използвате стандартни обединения в обобщена таблица в Excel.

Добавяне на групирания към обобщена таблица

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

Ако добавите категории в обобщена таблица, но данните за категории не са свързани с фактическите данни, може да получите грешка или странни резултати. Обикновено Power Pivot се опитва да разреши проблема, като автоматично открива и предлага релации. За повече информация вж. Работа с релации в обобщени таблици.

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

Работа с групирания във формула

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

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

За повече информация как да създадете формули, които използват справки, вж. Справки във формули на Power Pivot.

Използване на филтри в агрегирания

Нова функция в Power Pivot е възможността да приложите филтри за колони и таблици с данни, не само в потребителския интерфейс и в рамките на обобщена таблица или диаграма, но също и в много формули, които използвате за изчисляване на агрегирания. Филтри могат да се използват във формули в изчисляеми колони и в s.

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

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

За повече информация вж. Филтриране на данни във формули.

Сравнение на агрегатните функции на Excel и на DAX

Следващата таблица показва някои от стандартните агрегатни функции, налични в Excel, заедно с връзки към изпълнението на тези функции в Power Pivot. Версиите на тези функции в DAX са много подобни на версиите им в Excel, с някои малки разлики в синтаксиса и обработването на определени типове данни.

Стандартни агрегатни функции

Функция

Използване

AVERAGE

Връща средната (средно-аритметична) стойност на всички цифри в дадена колона.

AVERAGEA

Връща средната (средно-аритметичната) стойност на всички стойности в дадена колона. Борави с текст и нецифрови стойности.

COUNT

Преброява броя на цифровите стойности в дадена колона.

COUNTA

Преброява броя на стойностите в дадена колона, които на се празни.

MAX

Връща най-голямата цифрова стойност в дадена колона.

MAXX

Връща най-голямата стойност от набор от изрази, оценени спрямо таблица.

MIN

Връща най-малката цифрова стойност в дадена колона.

MINX

Връща най-малката стойност от набор от изрази, оценени спрямо таблица.

SUM

Събира всички числа в дадена колона.

Агрегатни функции на DAX

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

Следващата таблица показва агрегатните функции, налични в DAX.

Функция

Използване

AVERAGEX

Усреднява набор от изрази, оценени спрямо таблица.

COUNTAX

Преброява набор от изрази, оценени спрямо таблица.

COUNTBLANK

Преброява празните стойности в дадена колона.

COUNTX

Преброява общия брой редове в дадена таблица.

COUNTROWS

Преброява редовете, върнати от вложена таблична функция, напр. функцията на филтър.

SUMX

Връща сумата на набор от изрази, оценени спрямо таблица.

Разлики между агрегатните функции на Excel и на DAX

Въпреки че тези функции са едни и същи имена като отсрещната Excel, те използват Power Pivotвъв вътрешната памет аналитичното ядро и са били напишат отново за работа с таблици и колони. Не можете да използвате формула DAX в работна книга на Excel и обратно. Те могат да се използва само в прозореца на Power Pivot и в обобщени таблици, които се базират на Power Pivot данни. Въпреки че функциите, които имат еднакви имена, поведението може да е малко по-различно. За повече информация вижте темите за препратка към конкретна функция.

Начинът, по който се оценяват колоните при агрегирането, също се различава от начина, по който Excel борави с агрегиранията. Ето един пример за илюстрация.

Представете си, че искате да получите сума на стойностите в колона "Суми" на таблица "Продажби", така че да създадете следната формула:

=SUM('Sales'[Amount])

В най-простия случай, функцията получава стойностите от една нефилтрирана колона и резултатът е същият като в Excel, където винаги просто се събират стойностите в колоната "Суми". В Power Pivot обаче формулата се тълкува като "Получаване на стойността за "Суми" за всеки ред в таблицата "Продажби" и след това събиране на тези отделни стойности". Power Pivot оценява всеки ред, върху който се прилага агрегирането, и изчислява единствена скаларна стойност за всеки ред, след което извършва агрегиране на тези стойности. Следователно, резултатът от формулата може да е различен, ако към таблицата са били приложени филтри, или ако стойностите са изчислени въз основа на други агрегирания, които може да са филтрирани. За повече информация вж. Контекст във формулите на DAX.

Функции на DAX за интелигентно време

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

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

Функция

Използване

Краен баланс за месец

Краен баланс за тримесечие

Краен баланс за година

Изчислява стойност в календарния край на даден период.

Начален баланс за месец

Начален баланс за тримесечие

Начален баланс за година

Изчислява стойност в календарния край на период, предхождащ даден период.

Общо за месеца към днешна дата

Общо за годината към днешна дата

Общо за тримесечието към днешна дата

Изчислява стойност за интервал, който започва на първия ден от периода и завършва на последната дата в указаната колона с дати.

Другите функции в раздел "Функция интелигентно време" (Функции за интелигентно време) са функции, които могат да се използват за извличане на дати или персонализиране на диапазони от дати с цел използване за агрегиране. Например можете да използвате функцията DATESINPERIOD, която ще върне диапазон от дати, и да използвате този набор от дати като аргумент за друга функция, която да изчисли персонализирано агрегиране само за тези дати.

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

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

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

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

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

×