Справки във формули на Power Pivot

Отнася се за
Excel за Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

Една от най-мощните функции в Power Pivot е възможността за създаване на релации между таблиците и след това използване на свързаните таблици за търсене или филтриране на свързани данни. Свързаните стойности се извличат от таблици с помощта на езика на формулите, предоставен с Power Pivot, изрази за анализ на данни (DAX). DAX използва релационен модел и следователно може лесно и точно да извлича свързани или съответстващи стойности в друга таблица или колона. Ако сте запознати с функцията VLOOKUP в Excel, тази функционалност в Power Pivot е подобна, но много по-лесна за внедряване.

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

Изчисляеми полета в Power Pivot

Изчисляеми колони в Power Pivot

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

Забележка

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

Разбиране на функциите за справка

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

За разлика от справочните функции в Excel, като например VLOOKUP, които се базират на масиви, или LOOKUP, която получава първата от множество съвпадащи стойности, DAX следва съществуващите релации между таблиците, съединени от ключове, за да получи единствената свързана стойност, която съвпада точно. DAX може също да извлече таблица със записи, които са свързани с текущия запис.

Забележка

Ако сте запознати с релационните бази данни, можете да мислите за справките в Power Pivot като за вложена команда за допълнително избиране в Transact-SQL.

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

Да предположим например, че имате списък с днешните доставки в Excel. Списъкът обаче съдържа само идентификационен номер на служител, ИД номер на поръчка и идентификационен номер на спедитор, което затруднява четенето на отчета. За да получите допълнителна информация, която искате, можете да преобразувате този списък в свързана таблица на Power Pivot и след това да създадете релации с таблиците "Служител" и "Риселър", като съпоставите "ИД на служител" с полето "Ключ на служителя", а "ИД на дистрибутор" с полето "Ключ на представителя".

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

= RELATED('Employees'[EmployeeName])
= RELATED('Resellers'[CompanyName])

Доставките днес преди справка

ИД_поръчка ИД на служител ИД на търговец
100314 230 445
100315 15 445
100316 76 108

Таблица "Служители"

ИД на служител Служител За риселъри
230 Kuppa Vamsi Модулни циклични системи
15 Пилар Акеман Модулни циклични системи
76 Ким Ралс Свързани велосипеди

Today's shipments with lookups

ИД_поръчка ИД на служител ИД на търговец Служител За риселъри
100314 230 445 Kuppa Vamsi Модулни циклични системи
100315 15 445 Пилар Акеман Модулни циклични системи
100316 76 108 Ким Ралс Свързани велосипеди

Функцията използва релациите между свързаната таблица и таблицата "Служители и дистрибутори", за да получи правилното име за всеки ред в отчета. Можете също да използвате свързани стойности за изчисления. За повече информация и примери вж. RELATED функция.

Функцията RELATEDTABLE следва съществуваща релация и връща таблица, която съдържа всички съответстващи редове от указаната таблица. Да предположим например, че искате да разберете колко поръчки е направил всеки дистрибутор тази година. Можете да създадете нова изчисляема колона в таблицата "Дистрибутори", която включва следната формула, която търси записи за всеки дистрибутор в таблицата "ResellerSales_USD" и преброява броя на отделните поръчки, направени от всеки дистрибутор. 

=COUNTROWS(RELATEDTABLE(ResellerSales_USD))

В тази формула функцията RELATEDTABLE първо получава стойността на ResellerKey за всеки риселър в текущата таблица. (Не е нужно да задавате колоната "ИД" никъде във формулата, защото Power Pivot използва съществуващата релация между таблиците.) След това функцията RELATEDTABLE взема всички редове от таблицата ResellerSales_USD, които са свързани с всеки риселър, и преброява редовете. Ако няма релация (пряка или непряква) между двете таблици, ще получите всички редове от ResellerSales_USD таблицата.

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

За риселъри Записи в таблицата за продажби за този риселър
Модулни циклични системи ИД на риселър
445
445
445
445
ИД на риселър
Свързани велосипеди

Забележка

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

Най-горе на страницата