Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 55372 Skopiuj do schowka Relacje pomiędzy tabelami
Autor Wiadomość
m.piotr1983
świeżak


Posty: 6
Wysłany: 27-12-2016, 12:49   Relacje pomiędzy tabelami

Witam,

Bardzo proszę o pomoc.
Zaczynam swoją przygodę z wewnętrznym modelem danych w Excelu i PovePivotem.

Mam problem z łączeniem tabel po kluczu. Dotychczas małe tabele załatwiałem przez WYSZUKAJ.PIONOWO, większe łączyłem relacjami w Accesie i exportowałem kwerendami.

Teraz chciałbym podobny efekt uzyskać w samym Excelu.
Doradźcie co robię źle:
Mam dwie tabelki (testowe), ustalam sobie relację między nimi, tabele są w wewnętrznym modelu danych, buduję tabelę przestawną opartą o ten model i...
.. wszystko zachowuje się tak, jakby nie było żadnej relacji - w tabeli otrzymuje kombinację komórek, z jednej i drugiej tabeli - tak jakby Excel pomijał moją relację po kluczach w tabeli.

Podobne przykłady robiłem krok po kroku z różnymi książkami i tutorialami dostępnymi w internecie - wynik jest zawsze taki sam - błędny.
Tabele łączyłem też relacją w PoverPivocie, jednak efekt był ten sam.

Co robię źle?
Załączam plik z przykładem - tabele chciałem połączyć po kluczu id_imię,

Pozdrawiam

1.JPG
zrzut ekranu z wynikiem (błędnym)
Plik ściągnięto 22 raz(y) 216.45 KB

przyklad.xlsx
Plik
Pobierz Plik ściągnięto 42 raz(y) 134.37 KB

ID posta: 311420 Skopiuj do schowka
 
 
Cezary Czajka 
ExcelSpec


Pomógł: 98 razy
Posty: 494
Wysłany: 28-12-2016, 20:46   

Zobacz przykład - nie wiem gdzie u Ciebie jest problem, u mnie wyszło jak w załaczniku

Zeszyt1.xlsx
Pobierz Plik ściągnięto 45 raz(y) 126.94 KB

_________________
W sumie - jest git
ID posta: 311544 Skopiuj do schowka
 
 
bodek 


Pomógł: 904 razy
Posty: 2497
Wysłany: 28-12-2016, 21:53   

Samo utworzenie relacji (w tym przypadku, chodzi o cel) to trochę mało. Należy dodać kolumnę obliczaną (jak Wyszukaj.Pionowo) o nazwie powiedzmy "Imie", zdefiniowaną funkcją
Kod:
=RELATED(Tabela2[IMIE])
i użyć jej w tabeli przestawnej.

related.jpg
Plik ściągnięto 10 raz(y) 26.34 KB

MWSnap273.jpg
Plik ściągnięto 9 raz(y) 25.23 KB

_________________
Szkolenia z Excela
Forum nieczynne? Zapraszam na:
Grupa Excel na GL
ID posta: 311551 Skopiuj do schowka
 
 
m.piotr1983
świeżak


Posty: 6
Wysłany: 29-12-2016, 06:19   

@Cezary Czajka

Właśnie o to mi chodziło. Na wszystkich filmikach, tutorialach efekt jest właśnie taki jak u Ciebie, a u mnie jak widziałeś wychodzi kombinacja. Może jakieś ukryte opcje tabeli przestawnej dla pola IMIE zmieniłeś?

W taki sposób można połączyć tabelę dodając je do Wewnętrznego modelu danych (Excel 2013) a potem ustawiając relację w zakładce DANE praktycznie bez korzystania z PowerPivota, prawda?

@bodek

Ten sposób z kolumną dołączoną w PowerPivocie znam i też go używałem.
Wtedy cała dołączona kolumna pojawia się w tabeli OSOBY, tak jak u Ciebie, ale to jest tylko obejście problemu - swoją drogą często polecane na innych forach.

W każdym razie bardzo Wam dziękuję za pomoc.
Spróbuje jeszcze powalczyć ze swoim przykładem - nie wiem co może tam być nie tak.
ID posta: 311557 Skopiuj do schowka
 
 
m.piotr1983
świeżak


Posty: 6
Wysłany: 29-12-2016, 10:06   

No właśnie.. chyba problem tkwił w organizacji samej tabeli. :hamer

Na przykładzie przesłanym przez @Cezary Czajka zbudowałem kolejne wie tabele z markami aut i ustawiłem relację z tabelą typów - wszystko tak samo jak robiłem wcześniej...
Wynik uzyskałem tak samo zły jak wcześniej i dopiero dodanie licznika z kolumny LP do wartości w tabeli pozwoliło uzyskać dobry wynik - każdemu typowi auta przyporządkować dokładnie jedną markę.

Trochę to dla mnie jest mało intuicyjne i nie wiem do końca dlaczego bez licznika z LP jako wartości w tabeli budowana jest kombinacja marek i typów...

wynik_OK.jpg
Plik ściągnięto 20 raz(y) 256.48 KB

ok.xlsx
Pobierz Plik ściągnięto 35 raz(y) 224.87 KB

ID posta: 311570 Skopiuj do schowka
 
 
bodek 


Pomógł: 904 razy
Posty: 2497
Wysłany: 29-12-2016, 10:06   

m.piotr1983, przecież masz dokładnie to samo co Czarek. Wrzuć sobie cokolwiek do obszaru wartości tabeli przestawnej (TP) i relacja natychmiast zadziała. Czarek dodał LP do wartości.
Nie ma żadnych tajnych ustawień itp, wszystko działa u Ciebie poprawnie, jest tylko kwestią z czego i gdzie w TP korzystasz.
_________________
Szkolenia z Excela
Forum nieczynne? Zapraszam na:
Grupa Excel na GL
ID posta: 311571 Skopiuj do schowka
 
 
m.piotr1983
świeżak


Posty: 6
Wysłany: 29-12-2016, 10:24   

Dziękuje Wam bardzo za pomoc - założyłem, że bez pola wartości także powinno pokazać przyporządkowanie 1 do 1 - jak widać mylnie.. :)
ID posta: 311572 Skopiuj do schowka
 
 
bodek 


Pomógł: 904 razy
Posty: 2497
Wysłany: 29-12-2016, 10:43   

Niestety tak już to w modelu danych jest. Możliwe są wyłącznie relacje 1 do wielu.

Ponadto standardową czynnością jest denormalizowanie tabel, właśnie tak jak to zrobiłem w pierwszej odpowiedzi. Jak masz do pobrania jedną do powiedzmy trzech cech z innej tabeli, to RELATED :mrgreen: a tabelę, z której pobrałeś cechy ukrywasz na drzewku w interfejsie obsługującym TP.
_________________
Szkolenia z Excela
Forum nieczynne? Zapraszam na:
Grupa Excel na GL
ID posta: 311574 Skopiuj do schowka
 
 
m.piotr1983
świeżak


Posty: 6
Wysłany: 29-12-2016, 10:55   

Dotychczas uciekałem do Accesa -> relacje ->kwerenda -> export do Excela, rzadziej korzystałem z WYSZUKAJ.PIONOWO, tak więc teraz i tak jest dla mnie superOpcja RELATED bardzo pomocna:) Dzięki.
ID posta: 311575 Skopiuj do schowka
 
 
m.piotr1983
świeżak


Posty: 6
Wysłany: 29-12-2016, 12:43   

bodek napisał/a:
Niestety tak już to w modelu danych jest. Możliwe są wyłącznie relacje 1 do wielu.


Nie ma też chyba możliwości dodania do tabeli przestawnej pola obliczeniowego standardowym sposobem, przy założonej relacji z drugą tabelą, prawda?
W żaden sposób nie mogę tego zrobić, mam opcje wyszarzone.

Przy standardowej tabeli przestawnej opartej o jedną tabelę wszystko działa.

Dopiero jak wejdę do PowerPivota to tutaj już jest większe pole manewru i kolumny obliczeniowe można tworzyć do woli.
ID posta: 311587 Skopiuj do schowka
 
 
bodek 


Pomógł: 904 razy
Posty: 2497
Wysłany: 29-12-2016, 16:39   

m.piotr1983 napisał/a:
Nie ma też chyba możliwości dodania do tabeli przestawnej pola obliczeniowego standardowym sposobem, przy założonej relacji z drugą tabelą, prawda?
W tabelach przestawnych bazujących na modelu danych (nawet bez relacji) nie ma już klasycznych pól obliczeniowych i elementów obliczeniowych. Są za to ich odpowiedniki, czyli:
miary (pola obliczane lub obliczeniowe) oraz
kolumny obliczane (o których piszesz),
które definiujesz w PP. Mają one o wiele większe możliwości itd, itd ...
_________________
Szkolenia z Excela
Forum nieczynne? Zapraszam na:
Grupa Excel na GL
ID posta: 311639 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum