Udostępnij za pośrednictwem


Kolumny obliczeniowe

W tym temacie pokazano sposób tworzenia kolumny obliczeniowej na podstawie przykładowego skoroszytu języka DAX i przedstawiono informacje dotyczące używania funkcji autouzupełniania podczas tworzenia formuły. Aby uzyskać więcej informacji dotyczących formuł, zobacz temat Tworzenie formuł na potrzeby obliczeń.

Opis kolumn obliczeniowych

Kolumna obliczeniowa to kolumna dodawana do istniejącej tabeli programu PowerPivot. Zamiast wklejać lub importować wartości kolumny, użytkownik tworzy formułę języka DAX, która definiuje wartości w kolumnie. Kolumny obliczeniowej można używać w tabeli przestawnej, na wykresie przestawnym lub w raporcie programu Power View jak dowolnej innej kolumny danych.

Formuły w kolumnach obliczeniowych są bardzo podobne do formuł tworzonych w programie Excel. Jednak w przeciwieństwie do programu Excel nie można tworzyć różnych formuł dla poszczególnych wierszy tabeli; formuła języka DAX jest automatycznie stosowana do całej kolumny.

Gdy kolumna zawiera formułę, wartość jest obliczana dla każdego wiersza. Wyniki są obliczane dla kolumny zaraz po utworzeniu formuły. Wartości w kolumnie są obliczane, gdy jest to konieczne, na przykład w przypadku odświeżenia danych źródłowych.

Można również tworzyć kolumny obliczeniowe na podstawie miar i innych kolumn obliczeniowych. Można na przykład utworzyć jedną kolumnę obliczeniową w celu wyodrębnienia liczby z ciągu tekstowego, a następnie użyć tej liczby w innej kolumnie obliczeniowej.

Tworzenie kolumny obliczeniowej

Kolumna obliczeniowa jest oparta na danych dodanych do istniejącej tabeli. Na przykład można połączyć wartości, wykonać dodawanie, wyodrębnić podciągi lub porównać wartości w innych polach. Aby można było dodać kolumnę obliczeniową, do skoroszytu programu PowerPivot musi już być dodana przynajmniej jedna tabela.

W tym przykładzie pokazano użycie funkcji autouzupełniania w celu utworzenia prostej formuły, która będzie używana w nowej kolumnie obliczeniowej. Formuła jest następująca:

=EOMONTH([StartDate],0])

Formuła wyodrębnia miesiąc z kolumny StartDate w tabeli Promotion znajdującej się w przykładowym skoroszycie języka DAX. Następnie oblicza wartość końca miesiąca dla każdego wiersza w tabeli Promotion. Drugi parametr określa liczbę miesięcy przed lub po miesiącu w kolumnie StartDate; w tym przypadku 0 oznacza ten sam miesiąc. Na przykład jeśli wartość w kolumnie StartDate jest równa 2001-06-01, wartość w kolumnie obliczeniowej będzie równa 2001-06-30.

Aby uzyskać informacje dotyczące przykładowego skoroszytu, zobacz temat Pobieranie przykładowych danych dla programu PowerPivot.

[!UWAGA]

W systemach Windows Vista i Windows 7 funkcje okna programu PowerPivot są dostępne na Wstążce, którą omówiono w tym temacie. W systemie Windows XP te funkcje są dostępne za pośrednictwem zestawu menu. Użytkownicy systemu Windows XP, którzy chcą zobaczyć, jak polecenia menu są powiązane z poleceniami Wstążki, powinni zapoznać się z tematem Interfejs użytkownika programu PowerPivot w systemie Windows XP.

Aby utworzyć kolumnę obliczeniową, używając funkcji autouzupełniania

  1. W oknie programu PowerPivot kliknij kartę zawierającą tabelę Promotion. Aby wyświetlić kartę Promotion, może być konieczne kliknięcie strzałki w dół znajdującej się z prawej strony wyświetlanych kart.

  2. W oknie programu PowerPivot na karcie Projekt w grupie Kolumny kliknij przycisk Dodaj.

    Na znajdującej się najdalej z prawej strony pustej kolumnie zostanie wyróżniana pozycja Dodaj kolumnę, a kursor zostanie przeniesiony na pasek formuły.

  3. Wpisz znak równości, a następnie kliknij przycisk funkcji (fx).

  4. Funkcja EOMONTH to funkcja daty/godziny, więc z listy Wybierz kategorię wybierz pozycję Data i godzina.

    Funkcje języka DAX dostępne w oknie dialogowym Wstawianie funkcji są zgrupowane według kategorii. Wybranie pozycji Wszystkie umożliwia wyświetlenie pełnej listy dostępnych funkcji.

    • Klawisz TAB umożliwia przechodzenie między listą rozwijaną kategorii funkcji, listą rozwijaną funkcji oraz przyciskami OK i Anuluj.

    • Klawisze strzałek w dół i w górę umożliwiają wybieranie kategorii funkcji lub poszczególnych funkcji.

    • Podczas wybierania każdej funkcji program PowerPivot wyświetla Pomoc dotyczącą danej funkcji, w tym jej opis oraz listę wymaganych i opcjonalnych argumentów.

  5. Z listy rozwijanej Wybierz funkcję wybierz funkcję EOMONTH i kliknij przycisk OK.

    Na pasku formuły zostanie wyświetlona funkcja i nawias otwierający, a kursor zostanie automatycznie umieszczony w miejscu, w którym należy wpisać następny argument:

    =EOMONTH( 

    Etykietka narzędzia poniżej paska formuły wskazuje, że funkcja EOMONTH wymaga dwóch argumentów — daty i wartości liczbowej przedstawiającej liczbę miesięcy.

  6. Wpisz lewy nawias kwadratowy [, aby wyświetlić listę kolumn z bieżącej tabeli.

    Wskazówka: jeśli kolumna znajduje się w innej tabeli, wpisz kilka pierwszych liter nazwy tej tabeli, a następnie wybierz z listy w pełni kwalifikowaną nazwę kolumny.

    W tym przykładzie wybierz z listy pozycję [StartDate] i naciśnij klawisz TAB.

    Nazwa kolumny zostanie wstawiona do formuły w następujący sposób:

    =EOMONTH ([StartDate]
  7. Wpisz przecinek, wartość 0, a następnie nawias zamykający.

    Ostateczna formuła powinna wyglądać następująco:

    =EOMONTH([StartDate], 0)
  8. Naciśnij klawisz ENTER, aby zaakceptować formułę.

    Cała kolumna zostanie wypełniona formułą i zostaną obliczone wartości dla poszczególnych wierszy.

Nadawanie nazwy kolumnie obliczeniowej

Domyślnie nowe kolumny obliczeniowe są dodawane z prawej strony innych kolumn w arkuszu, a kolumnie jest automatycznie przypisywana nazwa domyślna — CalculatedColumn1, CalculatedColumn2 itd. Można zmienić rozmieszczenie oraz nazwy utworzonych kolumn. Należy pamiętać o następujących ograniczeniach dotyczących zmian dokonywanych w kolumnach obliczeniowych:

  • Każda nazwa kolumny musi być unikatowa w tabeli.

  • Należy unikać nadawania nazw takich samych jak nazwy miar używane w tym samym skoroszycie. Mimo że jest możliwe, aby miara i kolumna obliczeniowa miały taką samą nazwę, użycie nieunikatowych nazw może spowodować błędy w obliczeniach. Aby uniknąć przypadkowego wywołania miary, podczas odwoływania się do kolumny należy zawsze używać w pełni kwalifikowanego odwołania do kolumny.

  • W przypadku zmiany nazwy kolumny obliczeniowej muszą zostać zaktualizowane wszelkie formuły zależne od tej kolumny. Jeśli nie jest włączony tryb aktualizacji ręcznych, wyniki formuł są aktualizowane automatycznie. Jednak ta operacja może zająć trochę czasu.

  • W nazwach kolumn i obiektów w skoroszycie programu PowerPivot nie można używać pewnych znaków. Aby uzyskać więcej informacji, zobacz sekcję „Wymagania dotyczące nazewnictwa” w temacie Specyfikacja składni języka DAX dla programu PowerPivot.

Aby zmienić nazwę istniejącej kolumny obliczeniowej lub edytować tę kolumnę

  1. W oknie programu PowerPivot kliknij prawym przyciskiem myszy nagłówek kolumny obliczeniowej, której nazwę chcesz zmienić, a następnie kliknij polecenie Zmień nazwę kolumny.

  2. Wpisz nową nazwę, a następnie naciśnij klawisz ENTER, aby ją zaakceptować.

Zmienianie typu danych

Typ danych kolumny obliczeniowej można zmienić w taki sam sposób jak typ danych dla wszystkich kolumn nieobliczeniowych. Nie można wprowadzać następujących zmian typów danych: z tekstu na wartości dziesiętne, z tekstu na liczby całkowite, z tekstu na wartości walutowe oraz z tekstu na daty. Tekst można zmieniać na wartości logiczne.

Opis wydajności kolumn obliczeniowych

Formuła dla kolumny obliczeniowej może wymagać większej ilości zasobów niż formuła dla miary. Jedną z przyczyn tego faktu jest to, że wynik kolumny obliczeniowej jest zawsze obliczany dla każdego wiersza w tabeli, podczas gdy miara jest obliczana tylko dla komórek używanych w tabeli przestawnej lub na wykresie przestawnym.

Na przykład tabela zawierająca milion wierszy zawsze będzie miała kolumnę obliczeniową zawierającą milion wyników, co ma odpowiedni wpływ na wydajność. Jednak ogólnie tabela przestawna filtruje dane, stosując nagłówki wierszy i kolumn, więc miara jest obliczana tylko dla podzbioru danych w każdej komórce tabeli przestawnej.

Formuła zwykle zawiera zależności od obiektów, do których się odwołuje, takich jak inne kolumny czy wyrażenia obliczające wartości. Na przykład kolumny obliczeniowej opartej na innej kolumnie lub obliczenia zawierającego wyrażenie odwołujące się do kolumny nie można obliczyć do czasu obliczenia tej innej kolumny. Domyślnie w skoroszytach jest włączone odświeżanie automatyczne i dlatego wszystkie takie zależności mogą mieć wpływ na wydajność, gdy wartości są aktualizowane, a formuły odświeżane.

Aby uniknąć problemów z wydajnością związanych z tworzeniem kolumn obliczeniowych, należy postępować zgodnie z następującymi wskazówkami:

  • Zamiast tworzyć jedną formułę zawierającą wiele złożonych zależności, należy tworzyć formuły krokowo z zapisywaniem ich wyników w kolumnach, co umożliwi sprawdzanie poprawności wyników i ocenę wydajności.

  • Modyfikacja danych często wymaga ponownego przeprowadzenia obliczeń w kolumnach obliczeniowych. Można temu zapobiec, ustawiając ręczny tryb ponownego obliczania, jednak jeśli dowolne wartości w kolumnie obliczeniowej będą niepoprawne, kolumna zostanie wyszarzona do czasu odświeżenia i ponownego obliczenia danych przez użytkownika.

  • Zmiana lub usunięcie relacji między tabelami może spowodować, że formuły używające kolumn znajdujących się w tych tabelach staną się nieprawidłowe.

  • Utworzenie formuły zawierającej zależność cykliczną lub odwołującą się do samej siebie powoduje wystąpienie błędu.

Zobacz także

Koncepcje

Dodawanie obliczeń do raportów, wykresów i tabel przestawnych

Tworzenie formuł na potrzeby obliczeń

Omówienie języka DAX (Data Analysis Expressions)

Agregacje w formułach

Inne zasoby

Relacje między tabelami