W tym artykule omówiono podstawy tworzenia formuł obliczeniowych zarówno dla kolumn obliczeniowych , jak i miar w dodatku Power Pivot. Jeśli jesteś nowym użytkownikiem języka DAX, zapoznaj się z przewodnikiem Szybki start: nauka podstaw języka DAX w 30 minut.
Podstawowe informacje o formułach
Dodatek Power Pivot zawiera język DAX (Data Analysis Expressions) do tworzenia niestandardowych obliczeń w tabelach dodatku Power Pivot i tabelach przestawnych programu Excel. Język DAX zawiera niektóre funkcje używane w formułach programu Excel oraz dodatkowe funkcje przeznaczone do pracy z danymi relacyjnymi i wykonywania agregacji dynamicznej.
Oto kilka podstawowych formuł, których można używać w kolumnie obliczeniowej:
| Formuła | Opis |
|---|---|
| =DZIŚ() | Wstawia bieżącą datę w każdym wierszu kolumny. |
| =3 | Wstawia wartość 3 w każdym wierszu kolumny. |
| =[Kolumna1] + [Kolumna2] | Dodaje wartości w tym samym wierszu [Kolumna1] i [Kolumna2] oraz umieszcza wyniki w tym samym wierszu kolumny obliczeniowej. |
Formuły dodatku Power Pivot można tworzyć dla kolumn obliczeniowych w taki sam sposób, w jaki tworzy się formuły w programie Microsoft Excel.
Podczas tworzenia formuły należy wykonać następujące czynności:
- Każda formuła musi zaczynać się znakiem równości.
- Możesz wpisać lub wybrać nazwę funkcji albo wpisać wyrażenie.
- Zacznij wpisywać kilka pierwszych liter szukanej funkcji lub nazwy, a funkcja Autouzupełnianie wyświetli listę dostępnych funkcji, tabel i kolumn. Naciśnij klawisz TAB, aby dodać element z listy Autouzupełnianie do formuły.
- Kliknij przycisk Fx , aby wyświetlić listę dostępnych funkcji. Aby wybrać funkcję z listy rozwijanej, wyróżnij ją za pomocą klawiszy strzałek, a następnie kliknij przycisk OK , aby dodać funkcję do formuły.
- Podaj argumenty funkcji, wybierając je z rozwijanej listy dostępnych tabel i kolumn albo wpisując wartości lub inną funkcję.
- Sprawdź, czy nie ma błędów składniowych: upewnij się, że wszystkie nawiasy są zamknięte oraz że występują poprawne odwołania do kolumn, tabel i wartości.
- Naciśnij klawisz ENTER, aby zaakceptować formułę.
Uwaga
W kolumnie obliczeniowej po zaakceptowaniu formuły kolumna zostanie wypełniona wartościami. Naciśnięcie klawisza ENTER w przypadku miary powoduje zapisanie definicji miary.
Tworzenie prostej formuły
| Aby utworzyć kolumnę obliczeniową przy użyciu prostej formuły DataSprzedażyPodkategoriaProduktSprzedażIlość1/5/2009AkcesoriaWalizka254995681/5/2009AkcesoriaMini Ładowarka1099.56441/5/2009DigitalSlim Digital6512441/6/2009AkcesoriaTeleobiektyw konwersyjny1662.5181/6/2009AkcesoriaStatyw938.34181/6/2009AkcesoriaKabel USB1230.2526
|
|---|
Porady dotyczące korzystania z funkcji Autouzupełnianie
- Funkcji Autouzupełnianie formuł można używać wewnątrz istniejącej formuły z funkcjami zagnieżdżonymi. Tekst znajdujący się bezpośrednio przed punktem wstawiania jest używany do wyświetlania wartości na liście rozwijanej, a cały tekst za punktem wstawiania pozostaje bez zmian.
- W dodatku Power Pivot nawiasy zamykające funkcji nie są dodawane ani automatycznie dopasowywane. Należy się upewnić, że każda funkcja jest poprawna składniowo — w przeciwnym razie nie będzie można zapisać lub użyć formuły. Dodatek Power Pivot wyróżnia nawiasy, co ułatwia sprawdzanie, czy są poprawnie zamknięte.
Praca z tabelami i kolumnami
Tabele programu Power Pivot są podobne do tabel programu Excel, ale różnią się sposobem pracy z danymi i formułami:
- Formuły w dodatku Power Pivot działają tylko z tabelami i kolumnami, a nie z pojedynczymi komórkami, odwołaniami do zakresów czy tablicami.
- Formuły mogą używać relacji w celu pobierania wartości z tabel pokrewnych. Pobierane wartości są zawsze powiązane z bieżącą wartością wiersza.
- Formuł dodatku Power Pivot nie można wklejać do arkusza programu Excel i na odwrót.
- Dane nie mogą być nieregularne ani poszarpane, jak w arkuszu programu Excel. Każdy wiersz tabeli musi zawierać taką samą liczbę kolumn. Jednak w niektórych kolumnach mogą znajdować się puste wartości. Tabele danych programu Excel i tabele danych dodatku Power Pivot nie są zamienne, ale można tworzyć połączenia z tabelami programu Excel z poziomu dodatku Power Pivot i wklejać dane programu Excel do dodatku Power Pivot. Aby uzyskać więcej informacji, zobacz Dodawanie danych arkusza do modelu danych przy użyciu tabeli połączonej oraz Kopiowanie i wklejanie wierszy do modelu danych w dodatku Power Pivot.
Odwoływanie się do tabel i kolumn w formułach i wyrażeniach
Do każdej tabeli i kolumny można odwołać się, używając jej nazwy. Na przykład poniższa formuła ilustruje sposób odwoływania się do kolumn z dwóch tabel przy użyciu w pełni kwalifikowanej nazwy:
= SUMA('Nowe sprzedaż'[Kwota]) + SUMA('Przeszła sprzedaż'[Kwota])
Podczas szacowania formuły dodatek Power Pivot najpierw sprawdza ogólną składnię, a następnie porównuje podane nazwy kolumn i tabel z kolumnami i tabelami, które są możliwe w bieżącym kontekście. Jeśli nazwa jest niejednoznaczna lub jeśli nie można odnaleźć kolumny lub tabeli, w formule zostanie wyświetlony błąd (ciąg #ERROR zamiast wartości danych w komórkach, w których występuje błąd). Aby uzyskać więcej informacji na temat wymagań dotyczących nazewnictwa tabel, kolumn i innych obiektów, zobacz "Wymagania dotyczące nazewnictwa w specyfikacji składni języka DAX dla dodatku Power Pivot.
Uwaga
Kontekst to ważna funkcja modeli danych dodatku Power Pivot, która umożliwia tworzenie formuł dynamicznych. Kontekst jest określany na podstawie tabel w modelu danych, relacji między tabelami i wszelkich zastosowanych filtrów. Aby uzyskać więcej informacji, zobacz Kontekst w formułach języka DAX.
Relacje między tabelami
Tabele mogą być powiązane z innymi tabelami. Tworząc relacje, uzyskujesz możliwość wyszukiwania danych w innej tabeli i używania powiązanych wartości do wykonywania złożonych obliczeń. Możesz na przykład użyć kolumny obliczeniowej, aby wyszukać wszystkie rekordy wysyłki związane z bieżącym sprzedawcą, a następnie zsumować koszty wysyłki dla każdego z nich. Efekt jest taki, jak w przypadku zapytania sparametryzowanego: możesz obliczyć inną sumę dla każdego wiersza bieżącej tabeli.
Wiele funkcji języka DAX wymaga, aby istniała relacja między tabelami lub wieloma tabelami w celu zlokalizowania kolumn, do których istnieją odwołania, i zwrócenia sensownych wyników. Inne funkcje będą próbowały zidentyfikować relację; Jednak w celu uzyskania najlepszych wyników zawsze należy tworzyć relację tam, gdzie to możliwe.
Podczas pracy z tabelami przestawnymi jest szczególnie istotne połączenie wszystkich tabel używanych w tabeli przestawnej, aby można było poprawnie obliczyć dane podsumowania. Aby uzyskać więcej informacji, zobacz Praca z relacjami w tabelach przestawnych.
Rozwiązywanie problemów z błędami w formułach
Jeśli podczas definiowania kolumny obliczeniowej wystąpi błąd, może to oznaczać, że formuła zawiera błąd składniowy lub semantyczny.
Błędy składniowe są najłatwiejsze do usunięcia. Zazwyczaj dotyczą one brakującego nawiasu okrągłego lub przecinka. Aby uzyskać pomoc dotyczącą składni poszczególnych funkcji, zobacz Dokumentacja funkcji języka DAX.
Drugi typ błędu występuje, gdy składnia jest poprawna, ale wartość lub kolumna, do której prowadzi odwołanie, nie ma sensu w kontekście formuły. Takie błędy semantyczne mogą być spowodowane przez dowolny z następujących problemów:
- Formuła odwołuje się do nieistniejącej kolumny, tabeli lub funkcji.
- Formuła wydaje się poprawna, ale podczas pobierania danych przez dodatek Power Pivot znajduje niezgodność typów i zgłasza błąd.
- Formuła przekazuje do funkcji nieprawidłową liczbę lub nieprawidłowy typ parametru.
- Formuła odwołuje się do innej kolumny, w której wystąpił błąd, przez co jej wartości są nieprawidłowe.
- Formuła odwołuje się do kolumny, która nie została przetworzona. Może się tak zdarzyć, jeśli zmieniono skoroszyt na tryb ręczny, wprowadzono zmiany, a następnie nigdy nie odświeżono danych ani nie zaktualizowano obliczeń.
W pierwszych czterech przypadkach język DAX oflagowuje całą kolumnę zawierającą nieprawidłową formułę. W ostatnim przypadku język DAX wyszarza kolumnę, aby wskazać, że kolumna jest w stanie nieprzetworzonym.