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

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

Ważne : Ten artykuł został przetłumaczony maszynowo, zobacz zastrzeżenie. Angielskojęzyczną wersję tego artykułu można znaleźć tutaj .

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 obliczeń niestandardowych do Kolumny obliczeniowe i miary (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ć więcej szczegółowych informacji, zobacz Kolumny obliczeniowe 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. Funkcja autouzupełniania formuły wyświetli listę rozwijaną zawierającą prawidłowe nazwy zaczynające się od wpisanych liter.

Aby wprowadzić nazwę kolumny.   Wpisz nawias kwadratowy, a następnie wybierz kolumnę z listy kolumn w bieżącej tabeli. W przypadku kolumny z innej tabeli zacznij wpisywać pierwsze litery nazwy tej tabeli, a następnie wybierz kolumnę 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

Dane można importować do modelu danych dodatku Power Pivot z wielu różnych źródeł danych, które mogą obsługiwać różne typy danych. W przypadku zaimportowania lub załadowania danych, a następnie użycia ich w obliczeniach lub tabelach przestawnych, dane są konwertowane na jeden z typów danych dodatku Power Pivot. Aby przejrzeć listę typów danych, zobacz Typy danych w modelach danych.

Typ danych „table” (tabela) to nowy typ danych w języku DAX używany w danych wejściowych i wyjściowych wielu nowych funkcji. Na przykład funkcja FILTER używa tabeli jako danych wejściowych i zwraca inną tabelę, która zawiera tylko wiersze spełniające warunki filtru. Łącząc funkcje tabeli z funkcjami agregacji, można przeprowadzać złożone obliczenia na dynamicznie definiowanych zestawach 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.

  • Gdy tabele są połączone relacją, należy dopilnować, aby dwie kolumny używane jako klucze miały pasujące wartości. Dodatek Power Pivot nie wymusza integralności referencyjnej, więc jest możliwe, że w kolumnie klucza będą znajdować się niepasujące wartości tworzące relację. Jednak obecność pustych lub niepasujących wartości może mieć wpływ na wyniki formuł i wygląd tabel przestawnych. Aby uzyskać więcej informacji, zobacz 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 to proces aktualizowania danych w skoroszycie przy użyciu nowych danych z zewnętrznego źródła danych. Dane można odświeżać ręcznie zgodnie z interwałem określonym przez użytkownika. Jeśli jednak skoroszyt został opublikowany w witrynie programu SharePoint, można zaplanować automatyczne odświeżanie danych ze źródeł zewnętrznych.

Ponowne obliczanie to proces aktualizowania wyników formuł i kolumn obliczeniowych w skoroszycie w celu odzwierciedlenia zmian w formułach oraz zmian w danych źródłowych. Ponowne obliczanie może w następujący sposób wpływać na wydajność:

  • 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.

Uwaga : Zrzeczenie dotyczące tłumaczenia maszynowego: Ten artykuł został przetłumaczony przez system komputerowy bez interwencji człowieka. Firma Microsoft udostępnia te tłumaczenia maszynowe, aby ułatwić użytkownikom, którzy nie znają języka angielskiego, korzystanie z zawartości dotyczącej produktów, usług i technologii firmy Microsoft. Ponieważ ten artykuł został przetłumaczony maszynowo, może zawierać błędy w słownictwie, składniowe lub gramatyczne.

Rozwijaj swoje umiejętności
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.

×