Język DAX (Data Analysis Expressions) w dodatku Power Pivot

Język DAX (Data Analysis Expressions) w dodatku Power Pivot

Uwaga:  Staramy się udostępniać najnowszą zawartość Pomocy w Twoim języku tak szybko, jak to możliwe. Ta strona została przetłumaczona automatycznie i może zawierać błędy gramatyczne lub nieścisłości. Chcemy, aby ta zawartość była dla Ciebie przydatna. Prosimy o powiadomienie nas, czy te informacje były pomocne, u dołu tej strony. Oto angielskojęzyczny artykuł do wglądu.

Data Analysis Expressions (DAX) może wydawać się nieco zastraszenia na początku, ale Niech nazwę oszukania użytkownika. Podstaw języka DAX są naprawdę bardzo proste. Najpierw najpierw — języka DAX nie jest językiem programowania. Język DAX jest językiem formuły. Język DAX umożliwia definiowanie niestandardowych obliczeń dla Kolumn obliczeniowych i miar (nazywane także pola obliczeniowe). Język DAX zawiera niektóre funkcje używane w formułach programu Excel i dodatkowe funkcje przeznaczona do pracy z danymi relacyjnymi i wykonać dynamiczne agregacji.

Opis formuł języka DAX

Formuły języka DAX bardzo przypominają formuły programu Excel. Aby utworzyć formułę, należy wpisać znak równości, a po nim nazwę funkcji lub wyrażenie i wszelkie wymagane wartości lub argumenty. Podobnie jak w programie Excel, w języku DAX są dostępne rozmaite funkcje, których można używać do operowania ciągami, wykonywania obliczeń z użyciem dat i godzin lub tworzenia wartości warunkowych.

Jednak formuły języka DAX istotnie różnią się pod następującymi względami:

  • Jeśli zachodzi potrzeba dostosowania obliczeń wiersz po wierszu, język DAX oferuje funkcje, które umożliwiają używanie bieżącej wartości wiersza lub wartości powiązanej w celu wykonywania obliczeń zmieniających się zależnie od kontekstu.

  • Język DAX zawiera typ funkcji, która jako swój wynik zwraca tabelę, a nie pojedynczą wartość. Tych funkcji można używać w celu dostarczania wartości wejściowych do innych funkcji.

  • Funkcje analizy czasowejw języku DAX umożliwiają tworzenie obliczeń przy użyciu zakresów dat i porównywanie wyników uzyskanych równoległych okresów.

Gdzie używać formuł języka DAX

Umożliwia tworzenie formuł w Power Pivotobliczeniowe columny lub f obliczeniowepola.

Kolumny obliczeniowe

Kolumna obliczeniowa to kolumna dodawana do istniejącej tabeli dodatku Power Pivot. Zamiast wklejać lub importować wartości kolumny, użytkownik tworzy formułę języka DAX, która definiuje wartości w kolumnie. Umieszczenie tabeli dodatku Power Pivot w tabeli przestawnej (lub na wykresie przestawnym) spowoduje, że kolumny obliczeniowej będzie można używać 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 ponownie tylko w przypadku odświeżenia danych źródłowych lub użycia trybu ręcznego ponownego obliczania.

Możesz utworzyć kolumny obliczeniowe, które są oparte na miary i innych kolumn obliczeniowych. Jednak nie korzystaj z tej samej nazwy dla kolumny obliczeniowe i miary, gdyż może prowadzić do mylące wyników. Odwołanie do kolumny, najlepiej użyć odwołania do w pełni kwalifikowana nazwa kolumny, unikanie stosowania przypadkowo miara.

Aby uzyskać bardziej szczegółowe informacje zobacz Kolumn obliczeniowych w dodatku Power Pivot.

Miary

Miara jest formułą, która jest tworzona specjalnie przeznaczone do użycia w tabeli przestawnej (lub wykresu przestawnego), która korzysta z danych Power Pivot. Miary mogą być oparte na standardowe funkcje agregacji, takie jak liczba lub Suma, lub własne formuły można zdefiniować za pomocą języka DAX. Miara jest używane w obszarze wartości w tabeli przestawnej. Aby umieścić obliczonych wyników w obszarze innej tabeli przestawnej, należy użyć kolumny obliczeniowej.

Po zdefiniowaniu formuły środek jawne nic się nie dzieje do momentu dodania miary w tabeli przestawnej. Po dodaniu mierzone formuła jest obliczane dla każdej komórki w obszarze wartości w tabeli przestawnej. Ponieważ wynik jest tworzony dla każdej kombinacji nagłówki wierszy i kolumn, wynik miary mogą się różnić w każdej komórce.

Miary, które są tworzone jest zapisywana z jego źródła danych tabeli. Pojawia się na liście pól tabeli przestawnej i jest dostępny dla wszystkich użytkowników skoroszytu.

Aby uzyskać bardziej szczegółowe informacje zobacz miar w dodatku Power Pivot.

Tworzenie formuł za pomocą paska formuły

Dodatek Power Pivot, podobnie jak program Excel, oferuje pasek formuły, który ułatwia tworzenie i edytowanie formuł, oraz funkcję autouzupełniania, która minimalizuje liczbę błędów pisowni i błędów składniowych.

Aby wprowadzić nazwę tabeli   Zacznij wpisywać nazwę tabeli. Autouzupełnianie formuł zapewnia listę rozwijaną zawierającą prawidłowych nazw, które zaczynają się od tych liter.

Aby wprowadzić nazwę kolumny   Wpisz nawias, a następnie wybierz kolumny z listy kolumn w bieżącej tabeli. Dla kolumny z innej tabeli wpisz pierwsze litery nazwy tabeli, a następnie wybierz kolumny z listy rozwijanej funkcji autouzupełniania.

Aby uzyskać więcej szczegółowych informacji oraz skorzystać z przewodnika tworzenia formuł zobacz Tworzenie formuł na potrzeby obliczeń w dodatku Power Pivot.

Porady dotyczące korzystania z funkcji autouzupełniania

Funkcji autouzupełniania formuł można używać w środku istniejącej formuły z funkcjami zagnieżdżonymi. Tekst bezpośrednio poprzedzający punkt wstawiania jest używany do wyświetlania wartości na liście rozwijanej, a cały tekst następujący po punkcie wstawiania pozostaje niezmieniony.

Nazwy zdefiniowane utworzone dla stałych nie są wyświetlane na liście rozwijanej funkcji autouzupełniania, ale nadal można je wpisywać.

Dodatek Power Pivot nie dodaje nawiasu zamykającego funkcji ani nie dopasowuje nawiasów w automatycznie. Musisz się upewnić, że każda funkcja jest poprawna pod względem składni. W przeciwnym wypadku nie można zapisać ani używać formuły. 

Używanie wielu funkcji w formule

Funkcje można zagnieżdżać, co oznacza, że wyniku jednej funkcji można używać jako argumentu innej funkcji. W kolumnach obliczeniowych funkcje można zagnieżdżać do 64 poziomów. Jednak zagnieżdżanie może utrudniać tworzenie formuł lub rozwiązywanie związanych z nimi problemów.

Wiele funkcji języka DAX zaprojektowano specjalnie w celu ich używania wyłącznie jako funkcji zagnieżdżonych. Te funkcje zwracają tabelę, której nie można zapisać bezpośrednio jako wyniku; musi ona zostać przekazana jako dane wejściowe do funkcji tabeli. Na przykład funkcje SUMX, AVERAGEX i MINX wymagają tabeli jako pierwszego argumentu.

Uwaga: Istnieją pewne ograniczenia dotyczące Zagnieżdżanie funkcji w miar, aby upewnić się, że wydajność nie ma wpływu wielu obliczeń wymaganych przez zależności między kolumnami.

Porównanie funkcji języka DAX i funkcji programu Excel

Biblioteka funkcji języka DAX jest oparta na bibliotece funkcji programu Excel, ale istnieje wiele różnic między tymi bibliotekami. W tej sekcji podsumowano różnice i podobieństwa między funkcjami programu Excel i funkcjami języka DAX.

  • Wiele funkcji języka DAX ma takie same nazwy i takie samo ogólne zachowanie jak funkcje programu Excel, lecz zmodyfikowano je w taki sposób, że przyjmują inne typy danych wejściowych, a w niektórych przypadkach mogą zwracać inny typ danych. Ogólnie funkcji języka DAX nie można używać w formułach programu Excel, a formuł programu Excel nie można używać w dodatku Power Pivot bez pewnych modyfikacji.

  • Funkcje języka DAX nigdy nie odwołują się do komórki lub zakresu komórek, ale do kolumny lub tabeli.

  • Funkcje daty i godziny języka DAX zwracają dane typu datetime. Tymczasem funkcje daty i godziny programu Excel zwracają liczbę całkowitą przedstawiającą datę jako liczbę seryjną.

  • Wiele z nowych funkcji języka DAX zwraca tabelę wartości lub wykonuje obliczenia, dla których danymi wejściowymi jest tabela wartości. Tymczasem w programie Excel nie ma funkcji zwracających tabelę, ale kilka funkcji umożliwia wykonywanie operacji na tablicach. Możliwość łatwego odwoływania się do pełnych tabel i kolumn to nowa funkcja w dodatku Power Pivot.

  • W języku DAX są dostępne nowe funkcje wyszukiwania, które przypominają funkcje przeszukiwania tablic i wektorów w programie Excel. Jednak funkcje języka DAX wymagają ustanowienia relacji między tabelami.

  • Przyjmowane jest założenie, że dane w kolumnie zawsze są tego samego typu. Jeśli dane są danymi różnych typów, język DAX zmienia typ danych w całej kolumnie na typ najlepiej pasujący do wszystkich wartości.

Typy danych języka DAX

Możesz zaimportować dane do modelu danych Power Pivot z wielu różnych źródeł danych może być obsługujące różne typy danych. Podczas importowania lub załadować dane, a następnie użyj danych, w obliczeniach lub w tabelach przestawnych, dane jest konwertowane na jednym z typów danych Power Pivot. Aby uzyskać listę typów danych zobacz typy danych w modelach danych.

Typ danych tabeli jest nowy typ danych w języku DAX, który jest używany jako dane wejściowe lub dane wyjściowe do wiele nowych funkcji. Na przykład funkcja FILTER przyjmuje tabelę jako danych wejściowych i wyświetla innej tabeli zawierającej wiersze, które spełniają warunki filtru. Łącząc funkcje tabeli za pomocą funkcji agregacji, można wykonywać obliczenia złożonych przez dynamiczne zdefiniowanych zestawów danych. Aby uzyskać więcej informacji zobacz agregacje w dodatku Power Pivot.

Formuły i model relacyjny

Okno Power Pivot jest obszar, w którym możesz pracować z wieloma tabelami danych i łączenia tabel w modelu relacyjnych. W tym modelu danych tabele są połączone ze sobą za relacje, które umożliwiają tworzenie korelacji z kolumnami w innych tabelach i tworzenie bardziej interesujące obliczeń. Na przykład można tworzyć formuł tego sumowanie wartości w polu powiązana tabela, a następnie zapisz tę wartość w jednej komórce. Lub, aby kontrolować wiersze z tabeli pokrewnej, filtry można stosować do tabel i kolumn. Aby uzyskać więcej informacji zobacz relacje między tabelami w modelu danych.

Tabele można łączyć przy użyciu relacji, więc tabele przestawne również mogą zawierać dane z wielu kolumn znajdujących się w różnych tabelach.

Jednak formuły mogą wykonywać operacje na całych tabelach i kolumnach, należy więc projektować obliczenia inaczej niż w programie Excel.

  • Ogólnie formuła języka DAX w kolumnie jest zawsze stosowana do całego zestawu wartości w kolumnie, a nie tylko do kilku wierszy lub komórek.

  • Tabele w dodatku Power Pivot zawsze muszą mieć taką samą liczbę kolumn w każdym wierszu, a wszystkie wiersze w kolumnie muszą zawierać dane tego samego typu.

  • Jeśli tabele są połączone przez relacji, mają upewnij się, że wartości, które odpowiadają w większości przypadków dwóch kolumn używanych jako klucze. Ponieważ Power Pivot Wymuszaj więzy integralności, jest możliwe mają niepasujące wartości w kolumnie klucza i nadal tworzenie relacji. Jednak obecności wartości pustych lub niepasujące mogą mieć wpływ na wyniki formuł, a wygląd tabel przestawnych. Aby uzyskać więcej informacji zobacz temat odnośniki w formułach dodatku Power Pivot.

  • Podczas łączenia tabel przy użyciu relacji, możesz powiększyć zakres lub context , w której są obliczane w formułach. Na przykład formuł w tabeli przestawnej może zależeć od filtrów ani nagłówki kolumn i wierszy w tabeli przestawnej. Możesz pisać formuły, które manipulować kontekstu, ale kontekstowe mogą powodować wyników zmienić w sposób, który może nie przewiduje się. Aby uzyskać więcej informacji zobacz temat kontekst w formułach języka DAX.

Aktualizowanie wyników formuł

R danych Odśwież i ponowne obliczanie są dwie operacje oddzielnej, ale pokrewnej, które należy zrozumieć podczas projektowania modelu danych, który zawiera złożonych formuł, dużych ilości danych lub dane, które są uzyskiwane z zewnętrznych źródeł danych.

Odświeżanie danych jest proces aktualizacji danych w skoroszycie nowymi danymi z zewnętrznego źródła danych. Możesz ręcznie odświeżyć dane w odstępach czasu, przez użytkownika. Lub, jeśli skoroszyt zostały opublikowane w witrynie programu SharePoint, można zaplanować automatyczne odświeżanie z zewnętrznych źródeł.

Ponowne obliczanie polega na aktualizowanie wyników formuł, aby odzwierciedlić zmiany do formuły i aby uwzględnić zmiany w danych źródłowych. Ponowne obliczanie może mieć wpływ na wydajność, w następujący sposób:

  • W przypadku kolumny obliczeniowej wynik formuły musi zawsze zostać ponownie obliczony dla całej kolumny, zawsze gdy zostanie zmieniona formuła.

  • Miary wyniki formuły nie są obliczane, aż środek zostanie umieszczony w kontekście tabeli przestawnej lub wykresu przestawnego. Formuła także zostaną obliczone ponownie po zmianie dowolnego wiersza lub nagłówek kolumny, którą ma wpływ na filtrów danych lub ręcznie odświeżyć tabelę przestawną.

Rozwiązywanie problemów z formułami

Błędy związane z pisaniem formuł

Jeśli podczas definiowania formuły występuje błąd, może to oznaczać, że formuła ma błąd składni, błąd semantyczny lub błąd w obliczeniach.

Rozwiązywanie błędów składni jest najłatwiejsze. Zazwyczaj polegają one na brakujących nawiasach lub przecinkach. Aby uzyskać pomoc dotyczącą składnik poszczególnych funkcji, zobacz dokumentację funkcji DAX.

Błędy innego typu występują, gdy składnia jest poprawna, ale wartość lub kolumna, do której prowadzi odwołanie, nie ma sensu w kontekście formuły. Przyczyną takich błędów semantycznych lub błędów w obliczeniach mogą być następujące problemy:

  • Formuła odwołuje się do nieistniejącej kolumny, tabeli lub funkcji.

  • Formuła wydaje się poprawna, ale kiedy aparat danych pobiera dane, wykrywa niezgodność typu i zgłasza błąd.

  • Formuła przekazuje do funkcji niepoprawną liczbę parametrów lub typ parametrów.

  • Formuła odwołuje się do innej kolumny niż ta, której dotyczy błąd, dlatego jej wartości są nieprawidłowe.

  • Formuła odwołuje się do kolumny, która nie została przetworzona, co oznacza, że zawiera ona metadane, ale nie zawiera rzeczywistych danych do użycia w obliczeniach.

W czterech pierwszych przypadkach funkcja DAX oflagowuje całą kolumnę zawierającą nieprawidłową formułę. W ostatnim przypadku funkcja DAX wyszarza kolumnę w celu wskazania, że nie została ona przetworzona.

Niepoprawne lub nietypowe wyniki podczas klasyfikowania wartości kolumn lub określania ich kolejności

W przypadku klasyfikowania lub określania kolejności kolumny zawierającej wartość NaN (wartość nieliczbową) można uzyskać niepoprawne lub nieoczekiwane wyniki. Kiedy na przykład jest wykonywane dzielenie 0 przez 0, zwracany jest wynik NaN.

Jest to spowodowane tym, że aparat formuł określa kolejność i klasyfikuje wartości przez porównanie wartości liczbowych. Jednak wartości NaN nie można porównać z innymi liczbami w kolumnie.

Aby zagwarantować poprawność wyników, można użyć instrukcji warunkowych za pomocą funkcji JEŻELI w celu sprawdzenia obecności wartości NaN i zwrócenia wartości liczbowej 0.

Zgodność z modelami tabelarycznymi i trybem zapytania bezpośredniego usług Analysis Services

Na ogół formuły języka DAX konstruowane w dodatku Power Pivot są całkowicie zgodne z modelami tabelarycznymi usług Analysis Services. Jednak w przypadku migrowania modelu dodatku Power Pivot do wystąpienia usług Analysis Services i wdrożenia modelu w trybie zapytania bezpośredniego występują pewne ograniczenia.

  • Niektóre formuły języka DAX mogą zwracać inne wyniki po wdrożeniu modelu w trybie zapytania bezpośredniego.

  • Niektóre formuły mogą powodować błędy sprawdzania poprawności po wdrożeniu modelu w trybie zapytania bezpośredniego, ponieważ zawierają funkcję języka DAX, która nie jest obsługiwana przez relacyjne źródło danych.

Aby uzyskać więcej informacji, zobacz dokumentację modelowania tabelarycznego w usługach Analysis Services w witrynie SQL Server 2012 — książki online.

Rozwijaj umiejętności związane z pakietem Office
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×