Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Ten przewodnik Szybki start jest dla użytkowników, którzy nie Power Pivot w Excel modelach tabelaracyjnych lub projektach owanych w programie SQL Server Data Tools. Ma on na celu szybkie i łatwe wprowadzenie do rozwiązywania podstawowych problemów związanych z modelowaniem i analitycznem danych przy użyciu języka DAX (Data Analysis Expressions). Ten temat zawiera informacje koncepcyjne, serię zadań, które można wykonać, oraz kilka testów, aby sprawdzić, z czego się dowiedziałeś. Po ukończeniu tego tematu należy dobrze zrozumieć najbardziej podstawowe podstawowe pojęcia podstawowe w języku DAX.

Co to jest język DAX?

Język DAX to zbiór funkcji, operatorów i stałych, których można używać w formule lub wyrażeniu do obliczania i zwracania jednej lub większej liczby wartości. Mówiąc bardziej prosto, język DAX ułatwia tworzenie nowych informacji na temat danych już mamy w modelu.

Dlaczego język DAX jest tak ważny?

Tworzenie skoroszytu i importowanie do niego danych jest łatwe. Można nawet tworzyć tabele przestawne i wykresy przestawne wyświetlając ważne informacje bez używania jakichkolwiek formuł języka DAX. Co jednak zrobić, jeśli konieczne jest analizowanie krytycznych danych sprzedaży w kilku kategoriach produktów i zakresach dat? A może potrzebujesz połączyć ważne dane magazynowe z kilku tabel z różnych źródeł danych? Formuły języka DAX zapewniają tę funkcję i wiele innych ważnych funkcji. Dowiedz się, jak tworzyć efektywne formuły języka DAX, aby jak najlepiej wyeksłować dane. Gdy znajdziesz potrzebne informacje, możesz zacząć rozwiązywać rzeczywiste problemy biznesowe wpływające na dolny wiersz. To jest business intelligence, a język DAX pomoże Ci tam uzyskać dostęp.

Wymagania wstępne

Być może wiesz już, jak tworzyć formuły w programie Microsoft Excel. Ta wiedza będzie pomocna w zrozumieniu języka DAX, ale nawet jeśli nie masz doświadczenia w formułach programu Excel, opisane tutaj pojęcia pomogą Ci od razu rozpocząć tworzenie formuł języka DAX i rozwiązywanie problemów z bip.

Skoncentrem się w szczególności na zrozumieniu formuł języka DAX używanych w obliczeniach. Należy już zapoznać się z podstawowymi pojęciami, zarówno kolumn obliczeniowych, jak i miar (nazywanych również polami obliczeniowymi), które opisano Power Pivot pomocy. Należy również zapoznać się ze środowiskiem tworzenia Power Pivot i narzędziami Excel tworzenia.

Przykładowy skoroszyt

Najlepszym sposobem na naukę języka DAX jest tworzenie podstawowych formuł, używanie ich z niektórymi danymi rzeczywistymi i wyświetlanie wyników dla siebie. W przykładach i zadaniach w tym miejscu jest Formulas.xlsx przykładowy Formulas.xlsx języka DAX Contoso. Skoroszyt można pobrać ze strony http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Po pobraniu skoroszytu na komputer otwórz go, a następnie otwórz Power Pivot dialogowe.

Zaczynajmy!

Będziemy ramki języka DAX wokół trzech bardzo ważnych podstawowych pojęć: składni, funkcji i kontekstu. Oczywiście istnieją inne ważne pojęcia związane z językem DAX, ale zrozumienie tych trzech pojęć zapewni najlepszą podstawę tworzenia umiejętności języka DAX.

Składnia

Przed utworzeniem własnych formuł przyjrzyjmy się składni formuł języka DAX. Składnia obejmuje różne elementy, które składa się na formułę, lub bardziej prosto, w jaki jest napisana formuła. Na przykład przyjrzyjmy się prostej formule języka DAX służącej do tworzenia nowych danych (wartości) dla każdego wiersza w kolumnie obliczeniowej, o nazwie Margines, w tabeli SprzedażyRzeczywistej: (kolory tekstu formuły służą tylko do celów poglądowych)

Formuła kolumny obliczeniowej

Składnia tej formuły obejmuje następujące elementy:

  1. Operator znaku równości (=) wskazuje początek formuły, a po obliczce tej formuły zwracany jest wynik lub wartość. Wszystkie formuły obliczace wartość zaczynają się od znaku równości.

  2. Kolumna [WartośćSprzedadze] zawiera wartości, od których chcemy odjąć wartości. Odwołanie do kolumny w formule jest zawsze otoczone nawiasami kwadratowymi []. W Excel formuły odwołujące się do komórki formuła języka DAX zawsze odwołuje się do kolumny.

  3. Operator matematyczny odejmowania (-).

  4. Kolumna [KosztSumowania] zawiera wartości, które mają zostać odjęte od wartości w kolumnie [KwotaSprzedadze].

Podczas próby zrozumienia sposobu odczytywania formuły języka DAX często warto rozbić każdy z tych elementów na język, który myślisz i mówisz codziennie. Tę formułę można na przykład odczytać w następujący sposób:

Wtabeli SprzedażRzeczywsta dla każdego wiersza w kolumnie obliczeniowej Margines oblicz (=) wartość,odejmując wartości (-) z kolumny [KosztSprzedażny] od wartości w kolumnie[KwotaSprzedalności].

Przyjrzyjmy się innej formule, używanej jako miara:

Formuła kolumny obliczeniowej

Ta formuła zawiera następujące elementy składni:

  1. Nazwa miary Suma kwoty sprzedaży. Formuły miar mogą zawierać nazwę miary, po której następuje dwukropek i formuła obliczeń.

  2. Operator znaku równości (=) wskazuje początek formuły obliczeniowej. Podczas obliczania zwracany jest wynik.

  3. Funkcja SUMA sumuje wszystkie liczby w kolumnie [KwotaSprzedazy]. Więcej informacji o funkcjach dowiesz się później.

  4. Nawiasy () otaczają jeden lub więcej argumentów. Wszystkie funkcje wymagają co najmniej jednego argumentu. Argument przekazuje wartość funkcji.

  5. Tabela, do których odwołuje się TabelaRzeczywnia.

  6. Kolumna [WartośćSprzedagi] z tabeli SprzedażRzeczywsta. W przypadku tego argumentu funkcja SUMA wie, która kolumna ma być agregowana.

Tę formułę można odczytać w następujący sposób:

Dlamiary o nazwie Suma kwoty sprzedaży oblicz (=)sumę wartości w kolumnie [ KwotaSprzedatki] w tabeli SprzedażRzeczywsta.

Po umieszczeniu w strefie upuszczania Wartości na liście pól tabeli przestawnej ta miara oblicza i zwraca wartości zdefiniowane przez każdą komórkę tabeli przestawnej, na przykład telefony komórkowe w USA.

Zwróć uwagę, że istnieje kilka różnych rzeczy w tej formule w porównaniu z formułą używaną dla kolumny obliczeniowej Margines. W szczególności wprowadzono funkcję SUMA. Funkcje to wstępnie napisane formuły, które ułatwiają złożone obliczenia i manipulowanie liczbami, datami, godziną, tekstem i innymi danymi. Więcej informacji o funkcjach dowiesz się później.

W przeciwieństwie do wcześniejszej kolumny obliczeniowej Margines, kolumna [WartośćSprzedaży] została poprzedzona tabelą SprzedażRzeczywsta, do której należy kolumna. Jest to w pełni kwalifikowana nazwa kolumny, ponieważ zawiera nazwę kolumny poprzedzoną nazwą tabeli. Kolumny, do których odwołuje się ta sama tabela, nie wymagają uwzględniania w formule nazwy tabeli. Dzięki temu długie formuły odwołujące się do wielu kolumn będą krótsze i bardziej czytelne. Warto jednak zawsze uwzględniać nazwę tabeli w formułach miar, nawet gdy znajduje się w tej samej tabeli.

Uwaga: Jeśli nazwa tabeli zawiera spacje, słowa kluczowe zastrzeżone lub niedozwolone znaki, należy ująć nazwę tabeli w pojedynczy cudzysłów. Nazwy tabel należy również ująć w cudzysłów, jeśli nazwa zawiera jakiekolwiek znaki spoza zakresu znaków alfanumerycznych ANSI, niezależnie od tego, czy ustawienia locale obsługują zestaw znaków.

Bardzo ważne jest, aby formuły mają prawidłową składnię. W większości przypadków, jeśli składnia jest poprawna, jest zwracany błąd składni. W innych przypadkach składnia może być poprawna, ale zwracane wartości mogą być inne niż oczekiwano. Power Pivot (i narzędzia SQL Server danych) obejmują IntelliSense; funkcja używana do tworzenia formuł poprawnej składniowo przez pomoc w zaznaczaniu właściwych elementów.

Utwórzmy prostą formułę. To zadanie pomoże Ci w dalszym zrozumieniu składni formuły i tego, IntelliSense funkcja formuły na pasku formuły może być pomocna.

Zadanie: Tworzenie prostej formuły dla kolumny obliczeniowej

  1. Jeśli jeszcze tego nie ma w oknie Power Pivot, w programie Excel na wstążce programu Power Pivot kliknij pozycję Power Pivotokno.

  2. W Power Pivot TabeliRzeczywdz (karta).

  3. Przewiń do prawej kolumny, a następnie w nagłówku kolumny kliknij pozycję Dodaj kolumnę.

  4. Kliknij pasek formuły u góry okna projektanta modeli.

    Pasek formuły programu PowerPivot

    Kursor zostanie wyświetlony na pasku formuły. Pasek formuły umożliwia wpisanie formuły dla kolumny obliczeniowej lub pola obliczeniowego.

    Przyjrzyjmy się teraz trzem przyciskom po lewej stronie paska formuły.

    Formula bar

    Gdy kursor jest aktywny na pasku formuły, te trzy przyciski stają się aktywne. Skrajny z lewej strony przycisk Xto po prostu przycisk anuluj. Klikaj je. Kursor nie będzie już wyświetlany na pasku formuły, a przycisk Anuluj i przycisk znacznika wyboru nie będą już wyświetlane. Kliknij ponownie pasek formuły. Przycisk Anuluj i przycisk znacznika wyboru pojawiają się teraz ponownie. Oznacza to, że możesz rozpocząć wprowadzanie formuły.

    Przycisk znacznika wyboru to przycisk sprawdź formułę. Nie ma w tym żadnych znaczenia, dopóki nie zostanie wprowadzona formuła. Powrócimy do tego za trochę.

    Kliknij przycisk Fx. Zostanie wyświetlone nowe okno dialogowe. oknie dialogowym Wstawianie funkcji. Okno dialogowe Wstawianie funkcji jest najprostszym sposobem rozpoczęcia wprowadzania formuły języka DAX. Dodaję funkcję do formuły, gdy utworzymy miarę nieco później, ale obecnie nie trzeba dodawać funkcji do formuły kolumny obliczeniowej. Zamknij okno dialogowe Wstawianie funkcji.

  5. Na pasku formuły wpisz znak równości "=", a następnie wpisz otwierający nawias kwadratowy [. Zostanie wyświetlone małe okno z wszystkimi kolumnami w tabeli TabelaRzeczywna. To IntelliSense działanie.

    Ponieważ kolumny obliczeniowe są zawsze tworzone w aktywnej tabeli, w których się znajdujesz, nie trzeba poprzedzać nazwy kolumny nazwą tabeli. Przewiń w dół, a następnie kliknij dwukrotnie pozycję [Ilość sprzedaży]. Możesz także przewinąć do nazwy kolumny, której chcesz użyć, a następnie nacisnąć klawisz Tab.

    Kursor jest teraz aktywny po prawej stronie pozycji [Ilość sprzedaży].

  6. Wpisz spację, a następnie wpisz operator odejmowania — (znak minus), a następnie wpisz kolejną spację.

  7. Teraz wpisz kolejny otwierający nawias kwadratowy [. Tym razem zaznacz kolumnę [Ilość zwrócona], a następnie naciśnij klawisz Enter.

    Jeśli zostanie komunikat o błędzie, należy dokładnie przyjrzeć się składni. W razie potrzeby porównaj go z formułą w opisanej wcześniej kolumnie obliczeniowej Margines.

    Po naciśnięciu klawisza Enter w celu ukończenia formuły na pasku stanu zostanie wyświetlony tekst Obliczanie u dołu Power Pivot danych. To szybko się udaje, mimo że właśnie obliczono nowe wartości dla ponad trzech milionów wierszy.

  8. Kliknij prawym przyciskiem myszy nagłówek kolumny i zmień nazwę kolumny, NetSales.

To wszystko! Właśnie została utworzona prosta, a jednocześnie bardzo zaawansowana formuła języka DAX. Dla każdego wiersza w tabeli SprzedażRzeczywsta formuła SprzedażRzeczywsta oblicza wartość, odejmując wartość w kolumnie [Ilość Zwracana] od wartości w kolumnie [IlośćSprzedatki]. Zwróć uwagę, jak właśnie wpisano "Dla każdego wiersza". To jest wgląd w inną bardzo ważną koncepcję w języku DAX. kontekst wiersza. Więcej informacji o kontekście wierszy dowiesz się później.

Podczas wpisywania operatora do formuły języka DAX należy pamiętać o typie danych w argumentach. Gdyby na przykład wpisać następującą formułę: = 1 & 2, zwrócona wartość będzie wartością tekstową "12". Jest tak dlatego, że operator "i" (&) dotyczy concatenation tekstu. Język DAX interpretuje tę formułę do odczytania: Oblicz wynik, uwzględniając wartość 1 jako tekst i dodaj wartość 2 jako tekst. Gdyby teraz wpisać = 1 + 2, język DAX odczytuje tę formułę jako: Oblicz wynik, korzystając z wartości liczbowej 1 i dodając wartość liczbową 2. Wynikiem jest oczywiście "3", wartość liczbowa. Język DAX oblicza wartości wynikowe w zależności od operatora w formule, a nie na podstawie typu danych kolumn użytych w argumentie. Typy danych w języku DAX są bardzo ważne, ale znajdują się poza zakresem tego przewodniku Szybki start. Aby dowiedzieć się więcej o typach danych i operatorach w formułach języka DAX, zobacz podręcznik języka DAX (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) w podręcznikach online.

Spróbujmy jeszcze raz. Tym razem utworzysz miarę, wpisując formułę i używając IntelliSense. Nie przejmuj się tym, jeśli nie rozumiesz w pełni formuły. Ważne jest, aby dowiedzieć się, jak utworzyć formułę używającą razem kilku elementów w poprawnej składni.

Zadanie: Tworzenie formuły miary

  1. W tabeli TabelaRzeczywstka kliknij dowolną pustą komórkę w obszarze obliczeń. To jest obszar pustych komórek tuż poniżej tabeli w oknie Power Pivot tabeli.

Obszar obliczeń programu PowerPivot

  1. Na pasku formuły wpisz nazwę Sprzedaż w poprzednim kwartale:.

  2. Wpisz znak równości =, aby rozpocząć formułę obliczeń.

  3. Wpisz kilka pierwszych liter cal, a następnie kliknij dwukrotnie funkcję, której chcesz użyć. W tej formule należy użyć funkcji OBLICZ.

  4. Wpisz nawias otwierający (aby rozpocząć argumenty przekazywane do funkcji CALCULATE).

    Zwróć uwagę, że po wpisaniu nawiasu otwierającego IntelliSense z argumentami wymaganymi dla funkcji OBLICZ. W nieco innym przypadku dowiesz się o argumentach.

  5. Wpisz kilka pierwszych liter tabeli SprzedażRzeczywaja, a następnie na liście rozwijanej kliknij dwukrotnie pozycję SprzedażRzeczywaja[Sprzedaż].

  6. Wpisz przecinek (,), aby określić pierwszy filtr, wpisz pre, a następnie kliknij dwukrotnie funkcję POPRZEDNI.KWADRAT.

    Po wybraniu funkcji PREVIOUSQUARTER zostanie wyświetlony kolejny nawias otwierający wskazujący wymagany inny argument. tym razem dla funkcji POPRZEDNI.KWADRAT.

  7. Wpisz kilka pierwszych liter Dim, a następnie kliknij dwukrotnie pozycję DimDate[DateKey].

  8. Zamknij oba argumenty przekazywane do funkcji PREVIOUSQUARTER i funkcję CALCULATE, wpisując dwa nawiasy zamykające )).

    Formuła powinna teraz wyglądać tak:

    Sprzedaż w poprzednim kwartale:=OBLICZ(SprzedażRzeczywiwa[Sprzedaż];POPRZEDNI.KWARTER(DimDate[KluczDaty]))

  9. Kliknij przycisk sprawdź formułę na pasku formuły, aby sprawdzić poprawność formuły. Jeśli zostanie wyświetlany komunikat o błędzie, sprawdź każdy element składni.

Zrobiłeś(-a)! Właśnie została utworzona miara przy użyciu języka DAX, a nie łatwa w tym przypadku. Ta formuła umożliwia obliczenie całkowitej sprzedaży w poprzednim kwartale w zależności od filtrów zastosowanych w tabeli przestawnej lub w wykres przestawny.

Właśnie wprowadzono kilka istotnych aspektów formuł języka DAX. Po pierwsze ta formuła zawierała dwie funkcje. Zauważ, że funkcja PREVIOUSQUARTER jest zagnieżdżona jako argument przekazany do funkcji CALCULATE. Formuły języka DAX mogą zawierać maksymalnie 64 funkcje zagnieżdżone. Jest mało prawdopodobne, że formuła będzie zawierać tak wiele funkcji zagnieżdżonych. W rzeczywistości tworzenie i debugowanie takiej formuły byłoby bardzo trudne i prawdopodobnie nie byłoby jej zbyt szybko.

W tej formule także używaliśmy filtrów. Filtry zawężają zakres obliczania. W tym przypadku jako argument wybrano jeden filtr, który w rzeczywistości jest inną funkcją. Więcej informacji o filtrach dowiesz się później.

Na koniec została użyta funkcja CALCULATE. Jest to jedna z najbardziej zaawansowanych funkcji języka DAX. Podczas tworzenia modeli danych i tworzenia bardziej złożonych formuł prawdopodobnie będziesz używać tej funkcji wiele razy. Omówienie funkcji CALCULATE nie należy do zakresu tego przewodnika Szybki start, ale w miarę rozwoju wiedzy na temat języka DAX należy zwrócić szczególną uwagę na ten proces.

Uwaga: Zazwyczaj, aby używać funkcji analizy czasowej w formułach języka DAX, należy określić unikatową kolumnę daty przy użyciu okna dialogowego Oznaczanie jako tabeli daty. W skoroszycie formuły Contoso daX Samples.xlsx kolumna KluczDaci w tabeli DimDate jest zaznaczona jako unikatowa kolumna daty.

Dodatkowe informacje

Być może zostaniesz pytany: "Co to jest najprostsza formuła języka DAX, jaką mogę utworzyć?". Odpowiedź na to pytanie brzmi: "formuła, nie musi". I właśnie to można zrobić przy użyciu standardowej funkcji agregacji w miarzie. Niemal każdy model danych wymaga filtrowania i obliczania na podstawie zagregowanych danych. Na przykład funkcja SUMA w ramach wcześniej użytej miary Suma kwoty sprzedaży służy do sumowanie wszystkich liczb w określonej kolumnie. Język DAX zawiera również kilka innych funkcji, które agreguje wartości. Za pomocą funkcji Autosumowanie można automatycznie tworzyć formuły przy użyciu standardowych agregacji.

Dodatkowe zadanie kredytowe: tworzenie formuły miary przy użyciu funkcji Autosumowania

  1. W tabeli TabelaRzeczywsta przewiń do kolumny Ilość Zwrócona, a następnie kliknij nagłówek kolumny, aby zaznaczyć całą kolumnę.

  2. Na karcie Narzędzia główne na wstążce w grupie Obliczenia kliknij przycisk Autosumowanie.

Autosumowanie w programie PowerPivot

Kliknij strzałkę w dół obok przycisku Autosumowanie, a następnie kliknij pozycję Średnia (zwróć uwagę, że inne standardowe funkcje agregacji, których możesz użyć).

Natychmiast jest tworzona nowa miara o nazwie Average of ReturnQuantity: i formule =AVERAGE([Ilość Zwracana]).

To nie było łatwe? Oczywiście nie wszystkie formuły, które utworzysz, będą tak proste. Jednak za pomocą funkcji Autosumowanie można szybko i łatwo tworzyć formuły przy użyciu standardowych obliczeń agregacji.

Powinno to zapewnić dość dobry opis składni używanej w formułach języka DAX. Wprowadzono również kilka naprawdę ciekawych funkcji, takich jak IntelliSense i Autosumienie, które ułatwiają szybkie, łatwe i dokładne formuły. O składni można również dowiedzieć się więcej. Warto dowiedzieć się więcej na temat podręczników i książek SQL DAX Online.

Szybki dostęp do składni

  1. Do czego ten przycisk na pasku formuły?
    Przycisk funkcji

  2. Co zawsze otacza nazwę kolumny w formule języka DAX?

  3. Jak napisać formułę dla następującej formuły: W tabeli
    DimProductdla każdego wiersza w kolumnie obliczeniowej UnitMargin oblicz wartość, odejmując wartości w kolumnie UnitCost od wartości w kolumnie CenaJednostka?

Odpowiedzi znajdują się na końcu tego tematu.

Funkcje

Funkcje to wstępnie zdefiniowane formuły służące do wykonywania obliczeń przy użyciu określonych wartości, zwanych argumentami, w określonej kolejności lub strukturze. Argumentami mogą być inne funkcje, inna formuła, odwołania do kolumn, liczby, tekst, wartości logiczne, takie jak PRAWDA lub FAŁSZ, albo stałe.

Język DAX zawiera następujące kategorie funkcji: funkcje daty i czasu, informacji, logicznych, matematycznych, statystycznych, tekstowych i analizy czasowej. Jeśli znasz funkcje w Excel, wiele funkcji języka DAX będzie wyglądać podobnie do Ciebie. Funkcje języka DAX są jednak unikatowe pod następującymi względami:

  • Funkcja języka DAX zawsze odwołuje się do pełnej kolumny lub pełnej tabeli. Jeśli chcesz użyć tylko konkretnych wartości z tabeli lub kolumny, możesz dodać filtry do formuły.

  • Jeśli chcesz dostosować obliczenia dla poszczególnych wierszy, język DAX udostępnia funkcje, które umożliwiają używanie bieżącej wartości wiersza lub powiązanej wartości jako rodzaju argumentu do wykonywania obliczeń, które różnią się w zależności od kontekstu. Więcej informacji o kontekście dowiesz się później.

  • Język DAX zawiera wiele funkcji, które zwracają tabelę, a nie wartość. Tabela nie jest wyświetlana, ale służy do wprowadzania danych do innych funkcji. Można na przykład pobrać tabelę, a następnie zliczyć w jej obrębie odrębne wartości lub obliczyć sumy dynamiczne dla przefiltrowanych tabel lub kolumn.

  • Język DAX zawiera wiele funkcji analizy czasowej. Te funkcje umożliwiają definiowanie lub wybieranie zakresów dat oraz wykonywanie dynamicznych obliczeń na ich podstawie. Możesz na przykład porównać sumy w okresach równoległych.

Czasami trudno jest wiedzieć, których funkcji użyć w formule. Power Pivot, a projektantem modeli tabelarskich w narzędziach danych programu SQL Server jest funkcja Wstaw funkcję, okno dialogowe, które ułatwia wybieranie funkcji według kategorii i krótkie opisy poszczególnych funkcji.

Wstaw funkcję

Utwórzmy nową formułę, która zawiera funkcję, którą wybierzesz przy użyciu funkcji Wstaw funkcję:

Zadanie: Dodawanie funkcji do formuły przy użyciu funkcji Wstaw funkcję

  1. W tabeli Tabela SprzedażyRzeczywsta przewiń do najbardziej prawej kolumny, a następnie w nagłówku kolumny kliknij pozycję Dodaj kolumnę.

  2. Na pasku formuły wpisz znak równości (=).

  3. Kliknij przycisk Wstaw funkcję. Wstaw funkcję Spowoduje to otwarcie okna dialogowego Wstawianie funkcji.

  4. W oknie dialogowym Wstawianie funkcji kliknij pole listy Wybierz kategorię. Domyślnie zaznaczona jest opcja Wszystkie, a poniżej wymieniono wszystkie funkcje z kategorii Wszystkie. Jest to mnóstwo funkcji, dlatego warto je filtrować, aby ułatwić zlokalizowanie szukanych typów funkcji.

  5. Dla tej formuły chcesz zwrócić niektóre dane, które już istnieją w innej tabeli. W tym celu użyj funkcji w kategorii Filtruj. Kliknij kategorię Filtr, a następnie w menu Wybierzfunkcję przewiń w dół i kliknij dwukrotnie funkcję RELATED. Kliknij przycisk OK, aby zamknąć okno dialogowe Wstawianie funkcji.

  6. Użyj IntelliSense, aby znaleźć i zaznaczyć kolumnę DimChannel[ChannelName].

  7. Zamknij formułę, a następnie naciśnij klawisz Enter.

  8. Po naciśnięciu klawisza Enter w celu ukończenia formuły w dolnej części okna programu Power Pivot zostanie wyświetlony wyraz Obliczanie. Teraz zobaczysz, że właśnie została utworzona nowa kolumna w tabeli SprzedażyRzeczywcza z informacjami o kanale z tabeli DimChannel.

  9. Zmień nazwę kolumny Kanał.

    Formuła powinna wyglądać tak: =RELATED(DimChannel[ChannelName])

Właśnie została wprowadzona do innej bardzo ważnej funkcji języka DAX, funkcji RELATED. Funkcja RELATED zwraca wartości z innej tabeli. Możesz użyć funkcji RELATED, jeśli istnieje relacja między tabelą, w której obecnie się znajdujesz, a tabelą zawierającą wartości, które chcesz uzyskać. Oczywiście funkcja RELATED ma ogromną możliwości. W tym przypadku kanał sprzedaży dla każdej sprzedaży można teraz uwzględnić w tabeli SprzedażRzeczywają. Tabelę DimChannel można teraz ukryć na liście pól tabeli przestawnej, co ułatwia nawigowanie i wyświetlanie tylko najważniejszych informacji, których potrzebujesz. Bardzo ważna, podobnie jak w przypadku opisanej wcześniej funkcji CALCULATE, jest bardzo ważna i prawdopodobnie będzie ona działać wielokrotnie.

Jak widać, funkcje w języku DAX ułatwiają tworzenie bardzo zaawansowanych formuł. W pracy nad podstawowymi funkcjami bardzo się stykaliśmy. Gdy Twoje umiejętności używania języka DAX będą się poprawiać, będziesz tworzyć formuły przy użyciu wielu różnych funkcji. Jednym z najlepszych miejsc, w których można uzyskać szczegółowe informacje o wszystkich funkcjach języka DAX, jest odwołanie do języka DAX (Data Analysis Expressions).

Functions QuickQuiz

  1. Do czego zawsze odwołuje się funkcja?

  2. Czy formuła może zawierać więcej niż jedną funkcję?

  3. Z jakiej kategorii funkcji można skorzystać w celu połączenia dwóch ciągów tekstowych w jeden ciąg?

Odpowiedzi znajdują się na końcu tego tematu.

Kontekst

Kontekst jest jednym z najważniejszych pojęć dotyczących języka DAX do zrozumienia. Istnieją dwa typy kontekstu w języku DAX; kontekst wiersza i filtrowanie kontekstu. Najpierw przyjrzymy się kontekstowi wiersza.

Kontekst wiersza

Kontekst wiersza można łatwo sobie pomylić z bieżącym wierszem. Pamiętasz na przykład wcześniejszą kolumnę obliczeniową Margines podczas nauki o składni? Formuła =[KwotaSprzedazy] - [KosztSumowania] oblicza wartość w kolumnie Margines dla każdego wiersza w tabeli. Wartości dla każdego wiersza są obliczane na podstawie wartości w dwóch innych kolumnach: [KwotaSprzedaż] i [KosztSprzedażowy] w tym samym wierszu. Język DAX może obliczać wartości dla każdego wiersza w kolumnie Margines, ponieważ ma kontekst: Dla każdego wiersza pobiera wartości z kolumny [TotalCost] i odejmuje je od wartości w kolumnie [KwotaSprzedażu].

W zaznaczonej komórce pokazanej poniżej wartość 49,54 zł w bieżącym wierszu została obliczona przez odjęcie wartości 51,54 zł w kolumnie [KosztSumowania] od wartości 101,08 zł w kolumnie [KwotaSprzedaż].

Kontekst wiersza w programie PowerPivot

Kontekst wiersza nie dotyczy tylko kolumn obliczeniowych. Kontekst wiersza ma zastosowanie również wtedy, gdy formuła zawiera funkcję, która stosuje filtry w celu zidentyfikowania pojedynczego wiersza w tabeli. Funkcja będzie natury stosować kontekst wiersza dla każdego wiersza tabeli, według którego jest filtrowana. Kontekst tego typu wiersza jest najczęściej używany do miar.

Kontekst filtru

Kontekst filtru jest nieco trudniejszy do zrozumienia niż kontekst wiersza. Kontekst filtru można łatwo pojąć jako: Co najmniej jeden filtr zastosowany w obliczeniach, który określa wynik lub wartość.

Kontekst filtru nie istnieje w miejscu kontekstu wiersza; jest stosowana nie tylko w kontekście wiersza. Aby na przykład dodatkowo zawęzić wartości do obliczeń, można zastosować kontekst filtru, który nie tylko określa kontekst wiersza, ale również określa tylko określoną wartość (filtr) w tym kontekście wiersza.

Kontekst filtru jest łatwo widoczny w tabelach przestawnych. Jeśli na przykład dodasz kolumnę KosztCałowy do obszaru Wartości, a następnie dodasz kolumny Wiersz lub Kolumny jako rok i region, definiujesz kontekst filtru, który wybiera podzbiór danych na podstawie danego roku i regionu.

Dlaczego kontekst filtru jest tak ważny dla języka DAX? Ponieważ kontekst filtru można łatwo zastosować przez dodanie etykiet kolumn i wierszy oraz fragmentatorów w tabeli przestawnej, kontekst filtru można również zastosować w formule języka DAX, definiując filtr przy użyciu funkcji, takich jak ALL, RELATED, FILTER, CALCULATE, by relationships i według innych miar i kolumn. Na przykład przyjrzyjmy się następującej formule w miarzie o nazwie StoreSales:

Formuła

Wyraźnie mówiąc, ta formuła jest bardziej złożona niż inne widoczne formuły. Jednak aby lepiej zrozumieć tę formułę, możemy ją rozbić, podobnie jak z innymi formułami.

Ta formuła zawiera następujące elementy składni:

  1. Nazwa miary StoreSales i dwukropek :.

  2. Operator znaku równości (=) wskazuje początek formuły.

  3. Funkcja CALCULATE oblicza wyrażenie jako argument w kontekście zmodyfikowanym przez określone filtry.

  4. Nawiasy () otaczają jeden lub więcej argumentów.

  5. Miara [Sprzedaż] w tej samej tabeli, co wyrażenie. Miara Sprzedaż zawiera formułę: =SUMA(SprzedażRzeczywcza[KwotaSprzedatki]).

  6. Każdy filtr jest oddzielony przecinkiem (;).

  7. Kolumna, do których odwołuje się odwołanie, i określonej wartości, DimChannel[ChannelName] ="Store" jako filtr.

Ta formuła zapewni, że tylko wartości sprzedaży określone w miarę Sprzedaż jako filtr będą obliczane tylko dla wierszy w kolumnie DimChannel[Nazwa_kanału] z wartością "Store" jako filtrem.

Jak możesz sobie wyobrazić, możliwość definiowania kontekstu filtru w formule ma ogromną i zaawansowaną funkcję. Taki przykład to możliwość odwołania się tylko do określonej wartości w powiązanej tabeli. Nie martw się, jeśli nie rozumiesz kontekstu od razu. Podczas tworzenia własnych formuł lepiej będzie zrozumieć kontekst i dlaczego jest to tak ważne w języku DAX.

Szybki dostęp do kontekstu

  1. Jakie są dwa typy kontekstu?

  2. Co to jest kontekst filtru?

  3. Co to jest kontekst wiersza?

Odpowiedzi znajdują się na końcu tego tematu.

Podsumowanie

Teraz, gdy masz już podstawową wiedzę na temat najważniejszych pojęć związanych z językem DAX, możesz samodzielnie rozpocząć tworzenie formuł języka DAX dla kolumn obliczeniowych i miar. Język DAX naprawdę może być nieco kłopotliwy do nauki, ale dostępnych jest wiele zasobów. Po kilku przeczytaniu tego tematu i poeksperymentowania z kilkoma własnymi formułami możesz dowiedzieć się więcej o innych pojęciach i formułach języka DAX, które mogą pomóc Ci rozwiązać własne problemy biznesowe. Wiele zasobów na temat języka DAX jest dostępnych w pomocy programu Power Pivot, książkach online SQL Server, oficjalnych listach i blogach od firmy Microsoft i najlepszych specjalistów w zakresie usług bi. Warto zacząć od strony typu wiki (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) centrum zasobów języka DAX. Świetnym zasobem jest również język Reference (Data Analysis Expressions) (DAX). Pamiętaj, aby zapisać go w Ulubionych.

Język DAX dostępny do pobrania w białej tablicy modelów tabelartycznych (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) udostępnia bardziej szczegółowe spojrzenie na pojęcia wprowadzone w tym miejscu, a także na wiele innych zaawansowanych pojęć i formuł. Ten oficjalny oficjalny skoroszyt używa również tego samego przykładowego Formulas.xlsx języka Contoso DAX, który już masz.

QuickQuiz Answers

Składnia:

  1. Otwiera funkcję Wstaw funkcję.

  2. Nawiasy kwadratowe [].

  3. =[CenaJednostk] - [CenaJednostka]

Funkcje:

  1. Tabela i kolumna.

  2. Tak. Formuła może zawierać maksymalnie 64 funkcje zagnieżdżone.

  3. Funkcje tekstowe.

Kontekst:

  1. Kontekst wiersza i filtrowanie kontekstu.

  2. Jeden lub więcej filtrów w obliczeniach, które określają pojedynczą wartość.

  3. Bieżący wiersz.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×