Czym jest układ klasyczny w tabeli przestawnej?

Tworząc tabele przestawne, czyli tzw. pivoty często nie generujemy wyników, które są dla nas ostateczne a jedynie w formie przejściowej, którą kolejno będziemy potrzebowali dalej modyfikować. Posługując się fragmentem danych o kursach akcji z witryny bankier.pl stworzymy właściwą tabelę przestawną.

Notowania akcji
Fragment notowań akcji ze strony bankier.pl

Na podstawie danych powyżej, wybierając pola Walor AD, Wzrost/Spadek oraz Liczba transakcji AD stworzymy pivota, który będzie wyglądał następująco:

Widok domyślny tabeli przestawnej
Tabela przestawna w układzie domyślnym

Czemu warto stosować układ klasyczny?

Dane są przedstawione w formie ładnie zgrupowanej ale nie nadają się do przekazania dalej. Ponadto pola są przedstawione i z zgrupowane w jednej kolumnie i nie sposób je odróżnić. Nie możemy na tabeli w takiej formie dokonać wielu operacji jak czy nawet funkcji jak wyszukaj.pionowo. Również taka forma nie jest wskazana do eksportu do csv. Taką wersję danych można potraktować jako układ domyślny.

To co potrzebujemy to przestawienie tabeli przestawnej do układu klasycznego, który umożliwia przeciąganie pól po siatce

Przechodzimy tam klikając prawym przyciskiem myszy na tabelę przestawną: Opcje tabeli przestawnej -> Wyświetlanie -> Układ klasyczny tabeli przestawnej

Ustawienie wyświetlania jako układ klasyczny
Opcje wyświetlania tabeli przestawnej

Wtedy tabela z danymi będzie wyglądać jak poniżej:

Notowania akcji w układzie klasycznym
Tabela przestawna w układzie klasycznym

Następnie warto usunąć sumy częściowe oraz dodatkowo ustawić powtarzanie pól w ustawieniach pola. Przy czym powtarzanie pól należy ustawiać dla każdego pola osobno.

Ustawienia pola w tabeli przestawnej
Powtarzanie elementów w ustawieniach danego pola

Wtedy otrzymamy dane w formie, która nadają się do dalszej obróbki, czy też do wykorzystania różnych funkcji.

Powtarzanie pól w tabeli przestawnej
Układ klasyczny z powtarzaniem pól

Układ klasyczny w VBA

Programistycznie zmiana do układu klasycznego będzie wyglądać następująco. W zależności od naszej tabeli przestawnych i pól jakie wykorzystujemy powinniśmy podać właściwe nazwy w kodzie.

Sub UkladKlasyczny()
    With ActiveSheet.PivotTables("Tabela przestawna1")
    'Ustawienie wyglądu klasycznego
        .InGridDropZones = True
    'Powtarzanie się wartości w zadanym polu
        .PivotFields("Walor AD").RepeatLabels = True
        .PivotFields("Wzrost/Spadek").RepeatLabels = True
    End With
End Sub 

Dodaj komentarz