Udostępnij za pośrednictwem


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

Język wyrażeń analizy danych (DAX) jest formuła języka, który pozwala użytkownikom na definiowanie niestandardowych obliczeń w PowerPivot tabele (kolumn obliczeniowych) i w tabelach przestawnych programu Excel (środki).Język DAX zawiera niektóre funkcje używane w formułach programu Excel oraz funkcje dodatkowe, zaprojektowane na potrzeby pracy z danymi relacyjnymi i wykonywania dynamicznych agregacji.

W tej sekcji omówiono następujące zagadnienia:

  • Gdzie używać formuł języka DAX

  • Jak tworzyć formuły języka DAX

  • Typy operacji wykonywanych przy użyciu języka DAX

Omówienie 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:

  • Funkcja języka DAX zawsze odwołuje się do pełnej kolumny lub tabeli.Aby użyć tylko określonych wartości z tabeli lub kolumny, do formuły można dodać filtry.

  • Jeśli chcesz dostosować obliczeń na podstawie wiersz po wierszu, PowerPivot zawiera funkcje, które pozwalają Ci użyć bieżącej wartości wiersza lub powiązanych wartości do obliczeń, które są zależne 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 przekazywania danych wejściowych do innych funkcji, które obliczają wartości dla całych tabel lub kolumn.

  • Niektóre funkcje DAX dostarcza czas analizy, który pozwala tworzyć obliczenia z użyciem znaczące zakresy dat i porównać wyniki różnych okresów równolegle.

Gdzie używać formuł

Formuł języka DAX można używać w tabelach programu PowerPivot lub w tabelach przestawnych w programie Excel:

  • Można użyć formuły w kolumn obliczeniowych, dodanie kolumna, a następnie wpisując wyrażenie w pasku formuły.Te formuły można tworzyć w oknie programu PowerPivot.Aby uzyskać więcej informacji, zobacz Tworzenie kolumny obliczeniowej.

  • Można użyć formuły w środki.Tworzenie formuły w programie Excel, klikając Dodać środek w istniejących PowerPivot tabela przestawna lub wykresu przestawnego.Aby uzyskać więcej informacji, zobacz Tworzenie miary.

Jedna formuła może zachowywać się w różny sposób zależnie od tego, czy jest używana w kolumnach obliczeniowych, czy w miarach.W kolumnie obliczeniowej formuła zawsze jest stosowana do każdego wiersza w kolumnie tabeli.Wartość może się zmieniać w zależności od kontekstu wiersza.Jednak w przypadku miary wyniki obliczeń są bardzo zależne od kontekstu.Oznacza to, że projekt tabeli przestawnej oraz wybór nagłówków wierszy i kolumn ma wpływ na wartości używane w obliczeniach.Aby uzyskać więcej informacji, zobacz Kontekst w formułach języka DAX.

Tworzenie formuł za pomocą paska formuły

Program PowerPivot, 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 składni.

Wprowadź nazwę tabela zacząć wpisywać nazwę tabela.Funkcja autouzupełniania formuły wyświetli listę rozwijaną zawierającą prawidłowe nazwy zaczynające się od wpisanych liter.

Wprowadź nazwę kolumna wpisz nawias, a następnie wybierz kolumna na liście kolumn w bieżącej tabela.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 Instruktaż sposób tworzenia formuł, zobacz Tworzenie formuł w celu wykonywania obliczeń.

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

  • PowerPivot nie zamykający funkcji Dodaj lub automatyczne dopasowanie nawiasów.Użytkownik musi 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 PowerPivot funkcje są przeznaczone do użycia wyłącznie jako funkcji zagnieżdżonych.Funkcje te zwracają tabela nie można bezpośrednio zapisana w wyniku PowerPivot skoroszyt; należy przewidzieć jako dane wejściowe do funkcja tabela.Na przykład funkcje SUMX, AVERAGEX i MINX wymagają tabeli jako pierwszego argumentu.

Ostrzeżenie

Istnieją pewne ograniczenia dotyczące zagnieżdżania funkcji w miarach. Mają one na celu zapewnienie, że wydajność nie spadnie znacząco z powodu 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.Na ogół nie można używać formuł DAX skoroszyt programu Excel lub formuły programu Excel PowerPivot skoroszyt bez niektórych modyfikacji.

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

  • Data DAX i czas funkcje zwrotu datetime typu danych.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ść łatwo odwołać pełną tabel i kolumn jest nową funkcją w PowerPivot.

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

  • DAX nie obsługuje variant Typ danych w programie Excel.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.

Powrót do początku

Typy danych języka DAX

Można importować dane do PowerPivot arkusza z wielu źródeł danych, które mogą obsługiwać dane różnych typów.Podczas importowania lub załadować dane do skoroszyt, a następnie użyj danych w obliczeniach lub w tabelach przestawnych, dane są konwertowane na jedną z PowerPivot typów danych.Aby uzyskać listę typów danych, zobacz Typy danych obsługiwane w skoroszytach programu PowerPivot.

Typ danych table 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 formułach.

Powrót do początku

Formuły i model relacyjny

PowerPivot Okno jest obszar, w którym można pracować z wieloma tabelami danych i łączenia tabel w modelem relacyjnym.W ramach tego modelu tabele są zazwyczaj połączone relacjami, które umożliwiają tworzenie korelacji z kolumnami w innych tabelach oraz wykonywanie bardziej zaawansowanych obliczeń.Na przykład można tworzyć formuły sumujące wartości dla powiązanej tabeli i zapisujące obliczoną wartość w jednej komórce.Można też zastosować filtry do tabel i kolumn, aby kontrolować wiersze pochodzące z powiązanej tabeli.Aby uzyskać więcej informacji, zobacz Omówienie relacji.

Ponieważ łączysz tabel za pomocą relacji z tabel przestawnych może także zawierać dane z wielu kolumn, które są z różnych tabel.

Jednak ponieważ formuł można pracować z całych tabel i kolumn, należy zaprojektować obliczeń inaczej niż w programie Excel.

  • Ogólnie rzecz biorąc formuła DAX kolumna jest zawsze stosowany do całego zestaw wartości kolumna (nigdy nie tylko kilka wierszy lub komórki).

  • Tabele w PowerPivot musi zawsze mieć taką samą liczbę kolumn w każdym wierszu oraz wszystkie wiersze kolumna musi zawierać ten sam typ danych.

  • Gdy tabele są połączone relacją, należy oczekiwać, że dwie kolumny używane jako klucze mają pasujące wartości.Ponieważ PowerPivot nie wymusza więzów integralność jest możliwe-dopasowywania wartości kolumna klucz i utworzyć relację.Jednak obecność pustych lub niepasujących wartości może mieć wpływ na wyniki formuł i wygląd tabel przestawnych.

  • Podczas łączenia tabel skoroszyt za pomocą relacji, aby powiększyć zakres, lub kontekst, w które są oceniane w formułach.Na przykład na formuły w tabeli przestawnej mogą wpływać dowolne filtry lub nagłówki kolumn i wierszy w tabeli przestawnej.Można pisać formuły zmieniające kontekst, ale kontekst może też powodować nieprzewidywalne zmiany wyników.Aby uzyskać więcej informacji, zobacz Kontekst w formułach języka DAX.

Powrót do początku

Kolumny obliczeniowe i miary

Można tworzyć formuły w PowerPivot w kolumn obliczeniowych lub środki.

Kolumny obliczeniowe

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.Umieszczenie tabeli programu PowerPivot 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.

Kolumny obliczeniowe można również tworzyć na podstawie miar i innych kolumn obliczeniowych.Należy jednak unikać nadawania jednej nazwy kolumnie obliczeniowej i mierze, ponieważ może to powodować powstawanie niejednoznacznych wyników.W przypadku odwoływania się do kolumny najlepiej jest używać w pełni kwalifikowanego odwołania do kolumny, aby uniknąć przypadkowego wywołania miary.

Miary

Miara to formuła utworzona specjalnie do użycia w tabeli przestawnej (lub na wykresie przestawnym), w której są używane dane programu PowerPivot.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 jest używany w wartości obszaru tabela przestawna.Aby umieścić obliczone wyniki w innym obszarze tabeli przestawnej, należy użyć kolumny obliczeniowej.

Aby utworzyć miarę, należy najpierw dodać do skoroszytu programu PowerPivot tabelę przestawną lub wykres przestawny.Po zdefiniowaniu formuły dla miary nic się nie dzieje, dopóki miara nie zostanie upuszczona w tabeli przestawnej.Po dodaniu miara formuła jest wyznaczana dla każdej komórka w wartości obszaru tabela przestawna.Wynik jest tworzony dla poszczególnych kombinacji nagłówków wierszy i kolumn, więc wynik miary może być inny w każdej komórce.

Definicja tworzonej miary jest zapisywana w tabeli z jej danymi źródłowymi.Pojawia się w Lista pól programu PowerPivot i jest dostępny dla wszystkich użytkowników skoroszyt.

Powrót do początku

Aktualizowanie wyników formuł

Odświeżanie danych i Ponowne obliczenie są dwie operacje oddzielnej, ale pokrewnej, które należy zrozumieć przy projektowaniu modelu danych, który zawiera złożone formuły, dużych ilości danych lub dane uzyskane z zewnętrznych źródeł danych.

Odświeżanie danych to proces aktualizowania danych skoroszyt za pomocą nowych danych z zewnętrznego źródło 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 jest proces aktualizowania wyniki formuł i kolumn obliczeniowych skoroszyt, aby odzwierciedlić zmiany do formuły i aby odzwierciedlić zmiany danych źródłowych.Ponowne obliczanie może w następujący sposób wpływać na wydajność:

  • Dla kolumna obliczeniowa wynik formuły musi zawsze być ponownie obliczane dla całej kolumny zawsze, gdy zmienia się formułę.

  • Jednak w przypadku miary wyniki formuły nie są obliczane do czasu umieszczenia miary w kontekście tabeli przestawnej lub wykresu przestawnego.Formuła będzie także obliczana ponownie, gdy użytkownik zmieni dowolny nagłówek wiersza lub kolumny wpływający na filtry dotyczące danych lub ręcznie odświeży tabelę przestawną.

Aby uzyskać więcej informacji, zobacz następujące tematy:

Powrót do początku