Jeżeli dodajemy własne obliczenia w tabeli przestawnej, zwykle jest to pole obliczeniowe. W moim mniemaniu jego zastosowanie jest dużo bardziej intuicyjne. Spróbuję jednak pokazać jaki efekt można uzyskać i do czego wykorzystać numerowany element obliczeniowy, by zachęcić do wykorzystania go na co dzień .
Przygotowanie danych
Dane jakie wykorzystam do budowania tabeli przestawnej dotyczą ofert (zapytań) wysyłanych na stronę Allegro dotyczących różnych rodzajów butów. Tabelę przestawną konstruuję w wierszach umieszczając markę obuwia, zaś w obszarze wartości umieszczam sumę z pozostałej liczby par (jaką w danej ofercie posiada jeszcze sprzedawca).
Wstawianie elementu obliczeniowego do tabeli przestawnej
Pierwszą rzeczą o której należy pamiętać przy wstawaniu elementu obliczeniowego to ustawienie w odpowiednim miejscu (raportu tabeli przestawnej) kursora myszki, bowiem od tego będą zależały aktywne opcje – możliwość wstawienia pola lub elementu obliczeniowego. Poniżej schemat obrazujący możliwości działania w zależności od położenia kursora w obszarze tabeli przestawnej.
Z powyższego schematu wynika, że będę mieć możliwość wstawienia elementu obliczeniowego jeżeli znajdę się w obszarze elementów etykiet wierszy.
Wstawiam pierwszy element obliczeniowy > ustawiam kursor w obszarze tabeli przestanej > Analiza > Obliczenia > Pola, elementy, zastawy > Element obliczeniowy.
Pojawia się okno Wstaw element obliczeniowy. W polu nazwa wpisuję nazwę z jaką element obliczeniowy pojawi się w tabeli przestawnej: „ Element kalkulowany1”. W polu formuła wpisuję działanie jakie ma być wykonane na elementach z pola „marka”.
Element obliczeniowy z odwołaniem pozycyjnym bezwzględnym
Wpisuję zatem formułę, która odejmie od pierwszego elementu w tabeli (czyli marka 4F) wartość dla marki numer 2 w obecnej tabeli przestawnej (adidas). Aby pole „marka” pojawiło się w polu wpisywanej formuły należy je dwukrotnie kliknąć , a w nawiasie kwadratowym wpisać numer indeksu czyli numer porządkowy danego elementu, na którym ma być wykonane działanie.
Wybieram Dodaj > OK i w tabeli przestawnej pojawia się „Element kalkulowany1”.
Widać dokładnie, że wartość wstawionego elementu to różnica 932-1380 (jak na załączonym powyżej rysunku). Element możemy przesuwać w tabeli przestawnej, zawsze będzie odwoływał się do pierwszego i drugiego elementu.
Ograniczenia
Jednak przy stworzeniu takiego elementu (pozycyjnego), danych nie możemy sortować w tabeli przestawnej według wartości. Pojawia się następujący komunikat:
Sortowanie według etykiet wierszy jest wciąż możliwe. Jeżeli zmienią się w wyniku sortowania wartości dla pierwszego i drugiego elementu w tabeli przestawnej wówczas wartość elementu obliczeniowego zostanie zaktualizowana.
Zastosowanie
Element obliczeniowy z odwołaniem pozycyjnym bezwzględnym może być zastosowany przy datach , kiedy wiemy że np. w tabeli mamy określoną ilość elementów (12 miesięcy , ilość dni w miesiącu itp.) i zawsze przy pomocy elementu obliczeniowego odwołujemy się do konkretnych elementów (np. stycznia i grudnia).
Element obliczeniowy z odwołaniem pozycyjnym względnym
Od poprzedniego rozwiązania rożni się tym, że w zależności o umieszczenia utworzonego elementu w tabeli przestawnej, będzie się on odwoływał do elementów względem własnego położenia. Na przykładzie będzie to dużo prostsze.
Powtarzam kroki dotyczące wstawienia elementu obliczeniowego. Tym razem odwołanie będzie względne, więc w formule kalkulującej wartość nowego elementu („Element kalkulowany2”), poprzez znaki „+” i „-” będę odwoływać się do wierszy w tabeli przestawnej, odsunięte od mojego elementu obliczeniowego o dwa i jeden wiersz (znaki minus „-” oznaczają że cofam się z numerem wiersza = idę w górę tabeli przestawnej, znaki plus „+” oznaczają, że zwiększam numer wiersza = idę w dół tabeli).
Poniżej efekt dodania nowego elementu. Od wiersza (-2) odejmuję wiersz (-1) czyli 0-735 = -735.
Przesuwając element obliczeniowy w tabeli przestawnej , jego wartość będzie się zmieniała, dla odpowiednich wartości z wierszy -1 i -2.
Ograniczenia
Podobnie jak w przypadku odwołania bezwzględnego danych nie możemy sortować w tabeli przestawnej według wartości. Sortowanie według etykiet wierszy jest wciąż możliwe.
Zastosowanie
Rozwiązanie z względnym odwołaniem elementu obliczeniowego jest bardziej elastyczne, daje możliwość analizowania większej ilości danych, różnych danych.
Plik do pobrania
Pobierz plik kalkulowany-element-obliczeniowy-w-tabeli-przestawnej i wstaw swoje dane.
Dzień dobry, mam pytanie, możne uda mi się tu uzyskać odpowiedź(excel 365)
W przypadku moich tabel przestawnych, które buduję na danych z modelu danych (dane podłączone z access, przetworzone w power query i połączone pivotem do modelu) nie mogę użyć opcji pole, czy element obliczeniowy – są niedostępne. Da się jakoś to obejść? Jest jakiś powód dla którego excel blokuje mi tę opcję? (dla tabel przestawnych tworzonych od zera w arkuszu na danych z arkusza wszystko działa jak należy)
Chciałabym przedstawić wartości procentowe marży w obrotach. Moje tabele mają taka kolumnę dla poszczególnych pozycji, ale przy grupowaniu, np. po marce, czy regionie, jedynie dostępne są sumy i średnie – co nie jest prawdziwą wartością w przypadku procentów (nie wiem czy jest opcja średniej ważonej w tabeli, dlatego chciałam dodać ręcznie pole obliczania).
Dziękuję za pytanie. Rzeczywiście, wykorzystując model danych nie mamy do dyspozycji pól i elementów obliczeniowych, ale mamy dostępne miary tworzone z Power Pivotem w modelu danych za pomocą języka DAX. Dają one dużo większą elastyczność, bo można tworzyć dowolne kalkulacje w tym średnią ważoną. Ponieważ miary zależą od modelu danych, trudno podać tu konkretny wzór do wykorzystania. Polecamy naszą pomocą w postaci konsultacji z DAX.
Dzień Dobry,
Mam pytanie o pokazywanie wartości w elemencie obliczeniowym w formacie %. Potrzebuję pokazać w analizie rentowność poszczególnych umów. Tabela przestawna pokazuje mi dane w poszczególnych miesiącach natomiast wyrzuca mi #DZIEL/0! w kolumnie suma – czy można to jakoś obejść?
Hej Marta, możesz podesłać na kontakt@skuteczneraporty.pl przykładową tabelkę?