Applies ToExcel за 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 свързана таблица и след това да създадете релации към таблиците Служител и Риселър, като съпоставяте EmployeeID с полето EmployeeKey и ResellerID в полето ResellerKey.

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

= RELATED('Employees'[EmployeeName]) = RELATED('Риселър'[ИмеНаФирма])

Днешните пратки преди търсене

ИД_поръчка

ИД на служител

ResellerID

100314

230

445

100315

15

445

100316

76

108

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

ИД на служител

Служител

Дистрибутора

230

Kuppa Vamsi

Модулни системи за цикъл

15

Пилар Аккеман

Модулни системи за цикъл

76

Ким Ралс

Свързани велосипеди

Днешните пратки с справки

ИД_поръчка

ИД на служител

ResellerID

Служител

Дистрибутора

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. За свързаните велосипеди риселърът няма продажби, така че функцията връща празна стойност.

Дистрибутора

Записи в таблицата за продажби за този риселър

Модулни системи за цикъл

ИД на риселър

SalesOrderNumber

445

SO53494

445

SO71872

445

SO65233

445

SO59000

ИД на риселър

SalesOrderNumber

Свързани велосипеди

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

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

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

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

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

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