Odnośniki w formułach dodatku Power Pivot

Dotyczy
Excel dla Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

Jedną z najbardziej zaawansowanych funkcji dodatku Power Pivot jest możliwość tworzenia relacji między tabelami, a następnie używania tabel pokrewnych do wyszukiwania lub filtrowania powiązanych danych. Do pobierania powiązanych wartości z tabel służy język formuł dostarczany z dodatkiem Power Pivot, język DAX (Data Analysis Expressions). Język DAX korzysta z modelu relacyjnego, dzięki czemu może łatwo i dokładnie pobierać powiązane lub odpowiadające im wartości z innej tabeli lub kolumny. Jeśli znasz funkcję WYSZUKAJ.PIONOWO w programie Excel, ta funkcja w dodatku Power Pivot jest podobna, ale znacznie łatwiejsza do wdrożenia.

Możesz utworzyć formuły wykonujące odnośniki jako część kolumny obliczeniowej lub jako część miary do użycia w tabeli przestawnej lub na wykresie przestawnym. Aby uzyskać więcej informacji, zobacz następujące tematy:

Pola obliczeniowe w dodatku Power Pivot

Kolumny obliczeniowe w dodatku Power Pivot

W tej sekcji opisano funkcje języka DAX dostępne do wyszukiwania oraz przykłady użycia tych funkcji.

Uwaga

W zależności od typu operacji wyszukiwania lub formuły wyszukiwania, której chcesz użyć, może być konieczne uprzednie utworzenie relacji między tabelami.

Opis funkcji wyszukiwania

Możliwość wyszukiwania pasujących lub pokrewnych danych z innej tabeli jest szczególnie przydatna w sytuacjach, gdy bieżąca tabela zawiera tylko pewnego rodzaju identyfikator, ale potrzebne dane (na przykład cena produktu, nazwa lub inne szczegółowe wartości) są przechowywane w tabeli pokrewnej. Jest ono również użyteczne, gdy w innej tabeli istnieje wiele wierszy powiązanych z bieżącym wierszem lub bieżącą wartością. Można na przykład łatwo pobrać wszystkie transakcje sprzedaży powiązane z określonym regionem, sklepem lub sprzedawcą.

W przeciwieństwie do funkcji wyszukiwania programu Excel, takich jak WYSZUKAJ.PIONOWO, które są oparte na tablicach, lub WYSZUKAJ, która pobiera pierwszą z wielu pasujących wartości, język DAX śledzi istniejące relacje między tabelami połączonymi kluczami, aby uzyskać jedną, powiązaną wartość, która dokładnie pasuje. Język DAX może również pobierać tabelę rekordów, które są powiązane z bieżącym rekordem.

Uwaga

Jeśli użytkownik ma doświadczenie w pracy z relacyjnymi bazami danych, może myśleć o odnośnikach w dodatku Power Pivot jak o zagnieżdżonej instrukcji podselect w języku Transact-SQL.

Funkcja RELATED zwraca wartość z innej tabeli powiązaną z bieżącą wartością w bieżącej tabeli. Użytkownik określa kolumnę zawierającą żądane dane, a funkcja śledzi istniejące relacje między tabelami i pobiera wartość z określonej kolumny w powiązanej tabeli. W niektórych przypadkach funkcja musi podążać za łańcuchem relacji, aby pobrać dane.

Załóżmy na przykład, że w programie Excel utworzono listę dzisiejszych przesyłek. Jednak lista zawiera tylko numer identyfikacyjny pracownika, numer identyfikacyjny zamówienia i numer identyfikacyjny spedytora, co utrudnia odczytanie raportu. Aby uzyskać potrzebne dodatkowe informacje, możesz przekonwertować tę listę na tabelę połączoną dodatku Power Pivot, a następnie utworzyć relacje z tabelami Pracownik i Odsprzedawca, dopasowując pole ID_pracownika do pola KluczPracownika oraz ID_sprzedawcy do pola KluczOdsprzedawcy.

Aby wyświetlić informacje o odnośnikach w tabeli połączonej, dodaj dwie nowe kolumny obliczeniowe zawierające następujące formuły:

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

Dzisiejsze przesyłki przed odszukaniem

ID_zamówienia Identyfikator pracownika Identyfikator sprzedawcy
100314 230 445
100315 15 445
100316 76 108

Tabela Employees

Identyfikator pracownika Pracownik Odsprzedawca
230 Kuppa Vamsi Modułowe systemy cyklowe
15 Pilar Ackeman Modułowe systemy cyklowe
76 Kim Ralls Powiązane rowery

Dzisiejsze przesyłki z odnośnikami

ID_zamówienia Identyfikator pracownika Identyfikator sprzedawcy Pracownik Odsprzedawca
100314 230 445 Kuppa Vamsi Modułowe systemy cyklowe
100315 15 445 Pilar Ackeman Modułowe systemy cyklowe
100316 76 108 Kim Ralls Powiązane rowery

Ta funkcja używa relacji między tabelą połączoną a tabelą Pracownicy i odsprzedawcy w celu uzyskania poprawnej nazwy wiersza w raporcie. W obliczeniach można również używać powiązanych wartości. Aby uzyskać więcej informacji i przykładów, zobacz temat RELATED, funkcja .

Funkcja RELATEDTABLE podąża za istniejącą relacją i zwraca tabelę zawierającą wszystkie pasujące wiersze z określonej tabeli. Załóżmy na przykład, że chcesz dowiedzieć się, ile zamówień złożyli poszczególni sprzedawcy w tym roku. Można utworzyć nową kolumnę obliczeniową w tabeli Odsprzedawcy, która będzie zawierać następującą formułę, która wyszukuje rekordy każdego odsprzedawcy w tabeli ResellerSales_USD i zlicza liczbę indywidualnych zamówień złożonych przez każdego odsprzedawcę. 

=COUNTROWS(RELATEDTABLE(ResellerSales_USD))

W tej formule funkcja RELATEDTABLE najpierw pobiera wartość ResellerKey dla każdego odsprzedawcy w bieżącej tabeli. (Nie trzeba określać kolumny identyfikatora w żadnym miejscu formuły, ponieważ dodatek Power Pivot używa istniejącej relacji między tabelami). Następnie funkcja RELATEDTABLE pobiera wszystkie wiersze z tabeli ResellerSales_USD, które są powiązane z danym sprzedawcą, i zlicza je. Jeśli nie ma żadnej relacji (bezpośredniej lub pośredniej) między tabelami, zostaną pobrane wszystkie wiersze z ResellerSales_USD tabeli.

W przypadku odsprzedawców Modular Cycle Systems w naszej przykładowej bazie danych w tabeli sprzedaży znajdują się cztery zamówienia, więc funkcja zwraca 4. W przypadku skojarzonych rowerów odsprzedawca nie prowadzi sprzedaży, więc funkcja zwraca puste miejsce.

Odsprzedawca Rekordy w tabeli sprzedaży dla tego odsprzedawcy
Modułowe systemy cyklowe Identyfikator sprzedawcy
445
445
445
445
Identyfikator sprzedawcy
Powiązane rowery

Uwaga

Ponieważ funkcja RELATEDTABLE zwraca tabelę, a nie pojedynczą wartość, musi być używana jako argument funkcji wykonującej operacje na tabelach. Aby uzyskać więcej informacji, zobacz opis funkcji RELATEDTABLE, funkcja RELATEDTABLE.

Początek strony