Kolumny oraz pola obliczeniowe służą do pozyskania dodatkowych danych. W przypadku kolumny obliczamy indywidualną wartość dla każdego wiersza. W przypadku pól obliczeniowych sprawa ma się nieco inaczej – tam operacje wykonuje się na całych kolumnach bądź tabelach. Klasycznymi przykładami pól obliczeniowych są sumy czy też średnie.
Dodatek Power Pivot umożliwia tworzenie formuł w kolumnach obliczeniowych i obszarach obliczeń.
1. Kolumna obliczeniowa
W PowerPivot kolumnę do tabeli dodajemy poprzez wpisanie odpowiedniej formuły przy użyciu języka DAX do komórki kolumny obliczeniowej (patrz obrazek wyżej). Tak zdefiniowanych wartości możemy używać w tabeli przestawnej bądź też w raporcie PowerView jak zwykłej kolumny. Wartość wpisanej przez nas funkcji jest obliczana dla każdego wiersza zaraz po utworzeniu formuły. Ponowna kalkulacja zachodzi tylko w przypadku odświeżenia danych źródłowych lub – przy używaniu trybu obliczania ręcznego – ponownego obliczenia.
Uwaga: Tryb obliczania (automatyczny bądź też ręczny) możemy zmienić w oknie PowerPivot w zakładce Projekt > Opcje obliczeń:
Jeżeli mamy włączony tryb obliczania automatycznego, wszystkie formuły obliczają się natychmiast po jej wpisaniu do kolumny/pola obliczeniowego. Jeżeli włączymy tryb obliczania ręcznego, formuły będą się obliczały tylko po naciśnięciu przycisku Oblicz teraz.
Kolumny obliczeniowe można również tworzyć na podstawie miar tworzonych w obszarach obliczeń i innych kolumn obliczeniowych. Nie ma możliwości powtórzenia nazwy kolumny lub pola obliczeniowego –w przypadku takich prób program wyświetli następującą wiadomość.
Nie ma znaczenia wielkość liter – wyrazy Cena Sprzedaży i CENA SPRZEDAŻY reprezentują tą samą kolumnę.
2. Pola obliczeniowe
W obszarach obliczeniowych poprzez język DAX definiuje się miary jawne.
Uwaga: W programie Excel sformułowanie „miara” i „pole obliczeniowe” oznacza to samo i można stosować je wymiennie. Pole obliczeniowe jest stosowane w aktualnej wersji PowerPivot. Sformułowanie „miara” jest używane w poprzednich wersjach tego dodatku oraz w niektórych usługach Analysis Services.
Aby poprawnie zdefiniować miarę jawną, należy najpierw zająć się pojęciem miary w ogólności. Miara to formuła utworzona specjalnie do obsługi danych liczbowych, które mają być analizowane w tabeli przestawnej, na wykresie przestawnym lub w raporcie Power View. Miary mogą być oparte na standardowych funkcjach agregujących, takich jak COUNT lub SUM, ale można też zdefiniować własną formułę, używając języka DAX.
Miara niejawna jest tworzona w programie Excel podczas przeciągania kolumny do obszaru Wartości w oknie Pola tabeli przestawnej bądź też w Liście pól programu PowerView. Są one automatycznie generowane przez program Excel. Przykładowo: załóżmy, że mamy kolumnę Cena sprzedaży z wartością zbytych produktów. Przesunięcie jej do obszaru Wartości w Polach tabeli przestawnej spowoduje stworzenie miary niejawnej – pojawi się napis Suma Cena sprzedaży, co oznacza że wszystkie wartości występujące w tabeli zostały zsumowane.
W miarach niejawnych tabel przestawnych można używać tylko standardowych funkcji i sposobu wyświetlania danych. Zarówno funkcję, jak i sposób wyświetlania zmieniamy klikając na oznaczenie miary w obszarze WARTOŚCI i wybranie opcji Ustawienia. W tym miejscu możemy tez zmienić jej nazwę.
W raportach PowerView nie ma podziału na filtry, kolumny, wiesze i wartości jak w przypadku tabel przestawnych. Na początku przeciągamy obiekty do jedynego dostępnego obszaru POLA. W przypadku gdy jest to kolumna z samymi wartościami liczbowymi, to automatycznie utworzy nam się miara. Wyraz „suma” jest w niej zastąpiony symbolem „∑”
Wszystkie miary oznaczone są symbolem „∑” Oczywiście możemy zmienić miarę i wykonać inne działanie niż sumowanie wszystkich wierszy w kolumnie. Aby tego dokonać musimy kliknąć w nasz obiekt w obszarze POLA i wybrać interesującą nas opcję:
Opcja Liczność (niepuste) zlicza wszystkie wiersze w kolumnie oprócz pustych. Liczność (unikatowe) zwraca ilość unikalnych (nie powtarzających się) wartości występujących w danej kolumnie. Opcja Nie sumuj powoduje, że dany obiekt przestaje być miarą. Nie wszystkie kolumny z wartościami liczbowymi powinny ją stanowić – przykładowo, jeżeli w kolumnie znajdują się numery identyfikacyjne sprzedanych produktów bądź sprzedawców, to czystym nonsensem jest wykonywanie na nich jakichkolwiek operacji arytmetycznych. W takich przypadkach jest to dana jakościowa, a nie ilościowa. Jeżeli w kolumnie znajdują się dane w typie innym niż liczbowy (np. Imiona i nazwiska sprzedawców), to także da się utworzyć z niej miarę – w takich przypadkach mamy do wyboru ograniczoną liczbę opcji.
Niestety w PowerView nie ma opcji zmiany nazwy miary niejawnej oraz zmiany sposobu jej wyświetlania.
Miara jawna jest tworzona przez użytkownika podczas wpisywania lub wybierania formuły w komórce w obszarze obliczeń (rysunek na początku artykułu) lub po kliknięciu przycisku Nowe pole obliczeniowe… na Wstążce programu PowerPivot:
Pojawia się okno, w którym oprócz sformułowania pola możemy od razu ustawić właściwe formatowanie.
Po jej zdefiniowaniu pojawia się na liście Pól Tabeli Przestawnej oraz Pól programu PowerView (tutaj można rozpoznać ją po symbolu kalkulatora obok nazwy):
Przy tworzeniu miar jawnych nie musimy ograniczać się do podstawowych funkcji – możemy formułować złożone wyrażenia oraz wykorzystywać funkcje języka DAX. Jawne pola obliczeniowe wnoszą szczególnie dużo jeżeli chodzi o zastosowanie miar w raportach PowerView. W przeciwieństwie od miar niejawnych ich nazwa i format liczby zależy tylko od użytkownika.
Na ich podstawie można także tworzyć wskaźniki KPI.
Tworzenie kolumny oraz pola obliczeniowego
a) kolumna
Otwórzmy tabelę w której znajdują interesujące nas dane w widoku danych w PowerPivot. Przykładowe dane możecie znaleźć w pliku do którego odnośnik znajduje się pod tekstem. Można oczywiście użyć własnych danych. W naszym przykładzie jest to tabela Województwa zawierająca informację na temat województw, w tym PKB na 1 mieszkańca w 2009 roku w poszczególnych województwach.
Na jej podstawie obliczymy dodatkową kolumnę, zawierającą obliczoną dwukrotność PKB na jednego mieszkańca. W tym celu klikamy lewym klawiszem myszy na nagłówku wolnej kolumny z napisem „dodaj kolumnę”:
Po tym wpisujemy znak równości „=”, a następnie klikamy na nagłówek „PKB na 1 mieszkańca” i dopisujemy *2. Formuła pojawi się na pasku funkcji:
Po zatwierdzeniu jej klawiszem Enter w całej kolumnie pojawi się obliczona dwukrotność PKB na osobę w danym województwie. Warto zwrócić uwagę, iż nie zawsze kolumna zawierająca liczby ma typ danych skonfigurowany jako liczbowy. Wystarczy spacja pomiędzy tysiącami a setkami, aby program przyporządkował do danych wartości typ tekstowy (tak jest w naszych przykładowych danych). Mimo to, podczas wykonywania działań spacje zostają zlikwidowane, dane tekstowe – których nie da się mnożyć – zostają automatycznie przekonwertowane na typ liczbowy. Dzięki temu użytkownik nie musi za każdym razem martwić się określaniem typu danych w kolumnie.
Na koniec zmieńmy nazwę naszej kolumny, w której nagłówku widnieje na razie napis CalculatedColumn1. W tym celu klikamy na nią prawym klawiszem myszy, wybieramy opcję Zmień nazwę kolumny i wybieramy odpowiednią nazwę np. Dwukrotność.
Można też dodać kolumnę w oparciu o funkcję DAX. W tym celu otwórzmy w PowerPivot interesującą nas tabelę (w przypadku przykładowego pliku będzie to tabela Klienci). Naszym celem będzie stworzyć kolumnę, która będzie zawierała sam kod pocztowy, a nie, tak jak kolumna Kod, kod pocztowy, znak „_” oraz nazwę miejscowości.
W tym celu wykorzystamy funkcję LEFT. Jest ona analogiczna do funkcji w programie Microsoft Excel o nazwie LEWY (w wypadku polskiej wersji językowej – w wersji angielskiej funkcja ta również nazywa się LEFT). Obcina ona ciąg tekstowy do określonej liczby znaków zaczynając od początku tego ciągu (inaczej mówiąc – zwraca określoną liczbę znaków z lewej strony ciągu tekstowego). Tworzymy nową kolumnę poprzez kliknięcie nagłówka wolnej kolumny z napisem Dodaj kolumnę:
W ten sposób zaznaczymy całą nową kolumnę. Teraz tworzymy formułę DAX – podobnie jak w skoroszytach Excela, możemy zrobić to na dwa sposoby. Pierwszym jest kliknięcie Projekt -> Wstaw funkcję:
Pojawi się okno zatytułowane Wstawianie funkcji, w którym wybieramy interesującą nas funkcję LEFT.
W pasku funkcji pokaże się wyrażenie „=LEFT ( ”:
Klikamy na nagłówek kolumny „Kod”, po czym stawiamy średnik, wpisujemy liczbę 6 i zamykamy nawias – nasza funkcja powinna wyglądać w następujący sposób:
=LEFT([Kod];6)
Drugim, nieco szybszym sposobem na stworzenie kolumny jest kliknięcie na napis „Dodaj kolumnę” i po prostu wpisanie powyższej formuły. W ten sposób w tabeli „Klienci” stworzyliśmy kolumnę z samymi kodami pocztowymi. Zmieńmy jej nazwę z „CalculatedColumn1” na „Kody pocztowe”.
b) Pole obliczeniowe
Otwórzmy tabelę „województwa” w widoku danych w PowerPivot. Jeżeli nie widzimy obszaru obliczeń, powinnyśmy je włączyć poprzez kliknięcie Narzędzia główne -> widok -> obszar obliczeń:
Obszarem obliczeń nazywamy przestrzeń oddzielnego okna, które pojawia się w widoku danych w PowerPivot:
Stwórzmy miarę która będzie pokazywała średni poziom urbanizacji. Możemy to zrobić na kilka sposobów.
1. Zaznaczamy komórkę w obszarze obliczeń znajdującą się pod kolumną Poziom urbanizacji. Klikamy Narzędzia główne > Autosumowanie > Średnia.
W komórce pojawi się miara o nazwie Średnia z poziom urbanizacji obliczona przy pomocy funkcji AVERAGE:
Średnia z poziom urbanizacji:=AVERAGE([poziom urbanizacji])
2. Stworzenie miary poprzez zaznaczenie dowolnej komórki w obszarze obliczeniowym i wpisanie powyższej funkcji ręcznie.
Nazwa miary jest definiowana przez ciąg tekstowy przed znakiem „:=” – od tego znaku wszystko program interpretuje jako funkcję. W przeciwieństwie do tego, do czego przyzwyczaił nas Excel, język DAX jest bezwzględny i nie toleruje żadnych, nawet najmniejszych błędów. Nie ma automatycznego stawiania zamykającego nawiasu, jak to ma miejsce w funkcjach skoroszytów, ani tego typu pokrewnych rzeczy. Formuła w PowerPivot musi być bezbłędna, ponieważ program nie uzupełni bądź poprawi jej za nas. 3. Wykorzystanie stworzonych kolumn oraz pól obliczeniowych w raportach PowerView oraz tabelach przestawnych Teraz przyszła kolej na zobaczenie efektów swojej pracy i sprawdzenie, czy faktycznie stworzone przez nas kolumny i pola obliczeniowych możemy wykorzystać. W tym celu tworzymy najpierw tabelę przestawną która będzie czerpać dane z modelu znajdującego się w PowerPivot. W tym celu klikamy WSTAWIANIE > Tabela przestawna. Pojawi się okno „Tworzenie tabeli przestawnej” w której wybieramy utworzenie tabeli w nowym arkuszu i używanie zewnętrznego źródła danych. Klikamy „Wybierz połączenie”, a następnie zakładkę Tabele > Tabele w modelu danych skoroszytu:
Na liście pól tabeli przestawnych znajdą się także miary oraz kolumny stworzone przez nas:
Możemy wykorzystać je do tworzenia naszych raportów. Więcej na temat tworzenia raportów w tabelach przestawnych można znaleźć tutaj. Sytuacja w raportach PowerView przedstawia się podobnie. W pierwszej kolejności tworzymy raport klikając WSTAWIANIE > Wstaw raport PowerView:
Po prawej stronie ekranu zauważymy listę pól programu PowerView, w których będą znajdowały się utworzone przez nas kolumny oraz miary oznaczone symbolem kalkulatora:
W ten sposób zapoznaliśmy się z dwoma podstawowymi funkcjami dodatku PowerPivot – tworzeniem kolumny oraz jawnego pola obliczeniowego, przećwiczyliśmy je w praktyce oraz zauważyliśmy, iż faktycznie mogą mieć wpływ na raportowanie w tabeli przestawnej oraz PowerView. Jeżeli macie jakieś pytania bądź sugestie, koniecznie podzielcie się nimi w komentarzu!
Plik z przykładowymi danymi: Tworzenie kolumny oraz pola obliczeniowego w PowerPivot