Applies ToExcel dla Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

Ten przewodnik Szybki start jest przeznaczony dla użytkowników, którzy nie Power Pivot w programie Excel lub projektach modelu tabelarycznego, autorów w narzędziach danych programu SQL Server. Ma to na celu szybkie i łatwe wprowadzenie do sposobu rozwiązywania wielu podstawowych problemów związanych z modelowaniem i analizą danych za pomocą języka DAX (Data Analysis Expressions). Ten temat zawiera informacje koncepcyjne, serię zadań, które można wykonać, oraz kilka testów, aby sprawdzić, czego się nauczysz. Po zakończeniu tego tematu należy dobrze zrozumieć najbardziej podstawowe pojęcia 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 w celu obliczenia i zwrócenia co najmniej jednej wartości. Mówiąc prościej, język DAX ułatwia tworzenie nowych informacji na podstawie danych już w modelu.

Dlaczego język DAX jest tak ważny?

Utworzenie skoroszytu i zaimportowanie do niego danych jest łatwe. Można nawet tworzyć tabele przestawne lub wykresy przestawne, które wyświetlają ważne informacje bez używania formuł języka DAX. Ale co zrobić, jeśli trzeba przeanalizować krytyczne dane sprzedaży w kilku kategoriach produktów i dla różnych zakresów dat? A może potrzebujesz połączenia ważnych danych magazynowych z kilku tabel w różnych źródłach danych? Formuły języka DAX udostępniają tę funkcję i wiele innych ważnych możliwości. Nauka tworzenia skutecznych formuł języka DAX pomoże Ci w jak największym wykorzystaniu możliwości danych. Po uzyskaniu potrzebnych informacji możesz zacząć rozwiązywać rzeczywiste problemy biznesowe, które wpływają na wyniki finansowe. To jest analiza biznesowa, a język DAX pomoże Ci się tam dostać.

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 z formułami programu Excel, opisane tutaj pojęcia pomogą Ci od razu rozpocząć tworzenie formuł języka DAX i rozwiązywanie rzeczywistych problemów z analizą biznesową.

Skupimy się w szczególności na zrozumieniu formuł języka DAX używanych w obliczeniach. Należy już zapoznać się z podstawowymi pojęciami kolumn obliczeniowych i miar (nazywanych również polami obliczeniowymi), które zostały opisane w pomocy Power Pivot. Należy również zapoznać się z Power Pivot w środowisku tworzenia i narzędziach programu Excel.

Przykładowy skoroszyt

Najlepszym sposobem poznania języka DAX jest utworzenie podstawowych formuł, użycie go z rzeczywistymi danymi i samodzielne sprawdzenie wyników. W przykładach i zadaniach użyto skoroszytu Formulas.xlsx przykładowego języka DAX firmy Contoso. Skoroszyt można pobrać z http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Po pobraniu skoroszytu na komputer otwórz go, a następnie otwórz okno Power Pivot.

Zaczynamy!

W języku DAX przedstawimy trzy bardzo ważne podstawowe pojęcia: składnię, funkcje i kontekst. Oczywiście w języku DAX istnieją inne ważne koncepcje, ale zrozumienie tych trzech koncepcji zapewni najlepsze podstawy do budowania umiejętności języka DAX.

Składnia

Przed utworzeniem własnych formuł przyjrzyjmy się składni formuły języka DAX. Składnia zawiera różne elementy, które tworzą formułę, a bardziej po prostu sposób pisania formuły. 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żRzeczywkowa: (kolory tekstu formuły są przeznaczone tylko do celów ilustracyjnych)

Formuła kolumny obliczeniowej

W składni tej formuły znajdują się następujące elementy:

  1. Operator znaku równości (=) oznacza początek formuły, a po obliczeniu tej formuły zwraca wynik lub wartość. Wszystkie formuły obliczające wartość zaczynają się od znaku równości.

  2. Kolumna z odwołaniem [KwotaSprzedaży] zawiera wartości, które mają zostać odjęte. Odwołanie do kolumny w formule jest zawsze otoczone nawiasami kwadratowymi []. W przeciwieństwie do formuł programu Excel, które odwołują się do komórki, formuła języka DAX zawsze odwołuje się do kolumny.

  3. Odejmowanie (-) operator matematyczny.

  4. Kolumna[ TotalCost] zawiera wartości, które mają zostać odjęte od wartości w kolumnie [KwotaSprzedaży].

Podczas próby zrozumienia sposobu czytania formuły języka DAX często warto podzielić poszczególne elementy na język, który myślisz i mówisz codziennie. Możesz na przykład odczytać tę formułę jako:

W tabeli SprzedażRzeczywość dla każdego wiersza w kolumnie obliczeniowej Margines oblicz (=) wartość, odejmując (-) wartości w kolumnie [TotalCost] od wartości w kolumnie [KwotaSprzedaży].

Przyjrzyjmy się innemu typowi formuły, która jest używana 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 niej dwukropek, a następnie formułę obliczeń.

  2. Operator znaku równości (=) oznacza początek formuły obliczeniowej. Obliczony wynik zostanie zwrócony.

  3. Funkcja SUMA sumuje wszystkie liczby w kolumnie [KwotaSprzedaży]. Później dowiesz się więcej o funkcjach.

  4. Nawias () otacza co najmniej jeden argument. Wszystkie funkcje wymagają co najmniej jednego argumentu. Argument przekazuje wartość do funkcji.

  5. Tabela, do których odwołuje się tabela SprzedażRzeczywłasna.

  6. Kolumna[ KwotaSprzedaży] w tabeli SprzedażRzeczywiadcza. Dzięki temu argumentowi funkcja SUMA wie, w której kolumnie zagregować sumę.

Tę formułę można odczytać w następujących postaciach:

Dla miary o nazwie Suma kwoty sprzedaży oblicz (=) sumę wartości w kolumnie [KwotaSprzedaży] w tabeli SprzedażRzeczywiadcza.

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ę w tabeli przestawnej, na przykład Telefony komórkowe w Stanach Zjednoczonych.

Zwróć uwagę, że ta formuła różni się kilka rzeczy w porównaniu z formułą użytą w kolumnie obliczeniowej Margines. W szczególności wprowadziliśmy funkcję SUMA. Funkcje to wstępnie napisane formuły, które ułatwiają wykonywanie złożonych obliczeń i manipulowania liczbami, datami, godziną, tekstem i nie tylko. Później dowiesz się więcej o funkcjach.

Inaczej niż w kolumnie obliczeniowej Margines, kolumna [KwotaSprzedaży] była poprzedzona tabelą SprzedażRzeczywiadcza, do której należy kolumna. Jest to nazywane w pełni kwalifikowaną nazwą kolumny, ponieważ zawiera nazwę kolumny poprzedzoną nazwą tabeli. Kolumny, do których odwołuje się ta sama tabela, nie wymagają uwzględniania nazwy tabeli w formule. Dzięki temu długie formuły odwołjące się do wielu kolumn mogą być krótsze i łatwiejsze do odczytania. Warto jednak zawsze uwzględniać nazwę tabeli w formułach miar, nawet jeśli znajdują się one w tej samej tabeli.

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

Prawidłowa składnia formuł jest bardzo ważna. W większości przypadków, jeśli składnia jest niepoprawna, zostanie zwrócony błąd składni. W innych przypadkach składnia może być poprawna, ale zwracane wartości mogą nie być oczekiwane. Power Pivot (i sql server data tools) obejmuje IntelliSense; funkcja służąca do tworzenia formuł poprawianych syntaktycznie poprzez pomoc w zaznaczaniu prawidłowych elementów.

Utwórzmy prostą formułę. To zadanie ułatwi zrozumienie składni formuły i sposobu, w jaki funkcja IntelliSense na pasku formuły może pomóc.

Zadanie: tworzenie prostej formuły dla kolumny obliczeniowej

  1. Jeśli nie jesteś jeszcze w oknie Power Pivot, w programie Excel na wstążce Power Pivot kliknij pozycję Power Pivot okno.

  2. W oknie Power Pivot kliknij tabelę SprzedażRzeczywość (karta).

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

  4. Kliknij pasek formuły w górnej części okna projektanta modeli.

    Pasek formuły programu PowerPivot

    Kursor zostanie wyświetlony na pasku formuły. Na pasku formuły można wpisać formułę kolumny obliczeniowej lub pola obliczeniowego.

    Przyjrzyjmy się 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 przycisk z lewej strony, X, jest po prostu przyciskiem anulowania. Śmiało i kliknij go. Kursor nie jest już wyświetlany na pasku formuły, a przycisk anuluj i przycisk znacznika wyboru nie są już wyświetlane. Przejdź do przodu i kliknij ponownie pasek formuły. Przycisk Anuluj i przycisk znacznika wyboru pojawiają się teraz ponownie. Oznacza to, że możesz zacząć wprowadzać formułę.

    Przycisk znacznika wyboru to przycisk sprawdź formułę. Nie robi wiele, dopóki nie wprowadzisz formuły. Wrócimy do niego za chwilę.

    Kliknij przycisk Fx . Zostanie wyświetlone nowe okno dialogowe. Okno dialogowe Wstawianie funkcji. Okno dialogowe Wstawianie funkcji jest najprostszym sposobem rozpoczęcia wprowadzania formuły języka DAX. Funkcja zostanie dodana do formuły, gdy utworzymy miarę nieco później, ale na razie nie trzeba dodawać funkcji do formuły kolumny obliczeniowej. Przejdź do przodu i 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 ze wszystkimi kolumnami w tabeli SprzedażRzeczywładna. Jest to funkcja IntelliSense w działaniu.

    Ponieważ kolumny obliczeniowe są zawsze tworzone w aktywnej tabeli, w której się znajdujesz, nie ma potrzeby poprzedzania nazwy kolumny nazwą tabeli. Przewiń w dół, a następnie kliknij dwukrotnie pozycję [WielkośćSprzedaży]. Możesz również przewinąć do odpowiedniej nazwy kolumny, a następnie nacisnąć Tab.

    Kursor jest teraz aktywny z prawej strony pozycji [WielkośćSprzedaży].

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

  7. Teraz wpisz inny otwierający nawias kwadratowy [. Tym razem zaznacz kolumnę [ReturnQuantity] , a następnie naciśnij Enter.

    Jeśli zostanie wyświetlony komunikat o błędzie, dokładnie przejrzyj składnię. W razie potrzeby porównaj ją z formułą w opisanej wcześniej kolumnie obliczeniowej Margines.

    Po naciśnięciu Enter w celu ukończenia formuły na pasku stanu u dołu okna Power Pivot pojawia się wyraz Obliczanie . Jest to szybkie rozwiązanie, nawet jeśli zostały obliczone nowe wartości dla ponad trzech milionów wierszy.

  8. Kliknij prawym przyciskiem myszy nagłówek kolumny i zmień nazwę kolumny — Sprzedaż_sieci.

To wszystko! Właśnie utworzono prostą, ale bardzo zaawansowaną formułę języka DAX. Dla każdego wiersza w tabeli SprzedażRzeczywłasna formuła Sprzedaż_sieci oblicza wartość, odejmując wartość w kolumnie [Ilość_zwracana] od wartości w kolumnie [WielkośćSprzedaży]. Zwróć uwagę, jak właśnie powiedzieliśmy "Dla każdego wiersza". Jest to spojrzenie na inną bardzo ważną koncepcję w języku DAX; kontekst wiersza. Później dowiesz się więcej o kontekście wierszy.

Podczas wpisywania operatora w formule języka DAX należy pamiętać o typie danych używanych argumentów. Jeśli na przykład wpiszesz następującą formułę = 1 & 2, zwróconą wartością będzie wartość tekstowa "12". Jest to spowodowane tym, że operator "i" (&) służy do łączenia tekstu. Język DAX interpretuje tę formułę do odczytania: Oblicz wynik, pobierając wartość 1 jako tekst i dodając wartość 2 jako tekst. Jeśli chcesz wpisać = 1 + 2, język DAX odczyta tę formułę jako: Oblicz wynik, pobierając wartość liczbową 1 i dodając wartość liczbową 2. Wynikiem jest oczywiście "3", czyli 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 argumule. Typy danych w języku DAX są bardzo ważne, ale poza zakresem tego przewodnika Szybki start. Aby dowiedzieć się więcej o typach danych i operatorach w formułach języka DAX, zobacz Dokumentacja języka DAX (http://go.microsoft.com/fwlink/?LinkId=239769&clcid=0x409) w aplikacji Books Online.

Spróbujmy jeszcze raz. Tym razem miara zostanie utworzona przez wpisanie formuły i użycie funkcji IntelliSense. Nie martw się zbytnio, jeśli nie do końca rozumiesz formułę. Ważne jest, aby dowiedzieć się, jak utworzyć formułę przy użyciu kilku elementów w poprawnej składni.

Zadanie: tworzenie formuły miary

  1. W tabeli SprzedażRzeczywistość kliknij dowolną pustą komórkę w obszarze obliczeń. Jest to obszar pustych komórek tuż pod tabelą w oknie Power Pivot.

Obszar obliczeń programu PowerPivot

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

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

  3. Wpisz kilka pierwszych liter CAL, a następnie kliknij dwukrotnie funkcję, która ma zostać użyta. W tej formule należy użyć funkcji CALCULATE .

  4. Wpisz nawias otwierający ( aby rozpocząć przekazywanie argumentów do funkcji CALCULATE.

    Zwróć uwagę, że po wpisaniu nawiasu otwierającego funkcja IntelliSense wyświetli argumenty wymagane dla funkcji CALCULATE. Dowiesz się nieco o argumentach.

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

  6. Wpisz przecinek (,), aby określić pierwszy filtr, wpisz ciąg PRZED, a następnie kliknij dwukrotnie funkcję PREVIOUSQUARTER .

    Po wybraniu funkcji POPRZEDNI.KWARTER zostanie wyświetlony kolejny nawias otwierający wskazujący, że jest wymagany inny argument; tym razem dla funkcji POPRZEDNI.KWARTER.

  7. Wpisz kilka pierwszych liter: Wygaszone, a następnie kliknij dwukrotnie pozycję WymiarDate[DateKey].

  8. Zamknij zarówno argument przekazywany do funkcji POPRZEDNI.KWARTER, jak i funkcję CALCULATE, wpisując dwa nawiasy zamykające )).

    Formuła powinna teraz wyglądać następująco:

    Poprzedni kwartał Sprzedaż:=CALCULATE(SprzedażRzeczywkowa[Sprzedaż]; POPRZEDNIA KWARTYL(WymiarData[KluczDaty]))

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

Udało Ci się! Właśnie utworzono miarę przy użyciu języka DAX, a nie łatwy w tym. Działanie tej formuły polega na obliczeniu całkowitej sprzedaży za poprzedni kwartał w zależności od filtrów zastosowanych w tabeli przestawnej lub na wykresie przestawnym.

Właśnie wprowadzono Cię do kilku ważnych aspektów formuł języka DAX. Najpierw ta formuła zawierała dwie funkcje. Zwróć uwagę, że funkcja POPRZEDNI.KWARTER jest zagnieżdżona jako argument przekazywany do funkcji CALCULATE . Formuły języka DAX mogą zawierać maksymalnie 64 funkcje zagnieżdżone. Jest mało prawdopodobne, aby formuła kiedykolwiek zawierała tak wiele funkcji zagnieżdżonych. W rzeczywistości taka formuła byłaby bardzo trudna do utworzenia i debugowania i prawdopodobnie też nie byłaby zbyt szybka.

W tej formule użyto również filtrów. Filtry zawężą zakres obliczeń. W takim przypadku jako argument wybrano jeden filtr, który jest w rzeczywistości inną funkcją. Później dowiesz się więcej o filtrach.

Na koniec użyto funkcji CALCULATE. Jest to jedna z najbardziej zaawansowanych funkcji w języku DAX. Podczas tworzenia modeli danych i tworzenia bardziej złożonych formuł prawdopodobnie będziesz używać tej funkcji wiele razy. Omawianie funkcji CALCULATE wykracza poza zakres tego przewodnika Szybki start, ale wraz ze wzrostem wiedzy na temat języka DAX należy zwrócić szczególną uwagę na tę funkcję.

Uwaga: Aby zazwyczaj używać funkcji analizy czasowej w formułach języka DAX, należy określić unikatową kolumnę daty przy użyciu okna dialogowego Oznacz jako tabelę daty. W skoroszycie formuły języka DAX firmy Contoso Samples.xlsx kolumna DateKey w tabeli WymiarDate jest zaznaczona jako unikatowa kolumna daty.

Dodatkowe środki

Być może pytasz: "Jaka jest najprostsza formuła języka DAX, jaką mogę utworzyć?". Cóż, odpowiedź na to: "formuła, których nie musisz". I to jest dokładnie to, co można zrobić przy użyciu standardowej funkcji agregacji w miarę. Niemal każdy model danych musi filtrować i obliczać dane zagregowane. Na przykład funkcja SUMA z wyświetlonej wcześniej miary Suma kwoty sprzedaży służy do sumowania wszystkich liczb w określonej kolumnie. Język DAX zawiera kilka innych funkcji, które agregują również 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 Autosumowanie

  1. W tabeli SprzedażRzeczywość przewiń do kolumny ReturnQuantity, 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 pozycji Autosumowanie, a następnie kliknij pozycję Średnia (zwróć uwagę na inne standardowe funkcje agregacji, których możesz użyć).

Natychmiast zostanie utworzona nowa miara o nazwie Średnia z zwracanej ilości: a następnie formuła =ŚREDNIA([ReturnQuantity]).

Nie było to łatwe? Oczywiście nie wszystkie tworzone formuły będą takie proste. Korzystając z funkcji Autosumowanie, można jednak tworzyć szybkie i łatwe formuły przy użyciu standardowych obliczeń agregacji.

Powinno to zapewnić prawidłowe zrozumienie składni używanej w formułach języka DAX. Wprowadzono Cię także do bardzo ciekawych funkcji, takich jak IntelliSense i Autosumowanie, które ułatwiają tworzenie szybkich, łatwych i dokładnych formuł. Oczywiście o składni możesz dowiedzieć się o wiele więcej. Warto dowiedzieć się więcej o odwołaniu do języka DAX lub usłudze SQL Books Online.

Składnia QuickQuiz

  1. Do czego służy 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 tabeli:W tabeli WymiarProdukt dla każdego wiersza w kolumnie obliczeniowej UnitMargin oblicz wartość, odejmując wartości w kolumnie UnitCost od wartości w kolumnieCenaJednkowa?

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

Funkcje

Funkcje to wstępnie zdefiniowane formuły wykonujące obliczenia 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 lub stałe.

Język DAX zawiera następujące kategorie funkcji: Funkcje daty i godziny, informacje, logiczne, matematyczne, statystyczne, tekstowe i analizy czasowej. Jeśli znasz funkcje w formułach programu Excel, wiele funkcji w języku DAX będzie wyglądać podobnie do Ciebie. Jednak funkcje języka DAX są unikatowe w następujący sposób:

  • Funkcja języka DAX zawsze odwołuje się do pełnej kolumny lub tabeli. Jeśli chcesz użyć tylko określonych 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 umożliwiające używanie bieżącej wartości wiersza lub powiązanej wartości jako swego rodzaju argumentu w celu wykonywania obliczeń, które różnią się w zależności od kontekstu. Później dowiesz się więcej o kontekście.

  • 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ć różne wartości w tabeli lub obliczyć sumy dynamiczne w przefiltrowanych tabelach lub kolumnach.

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

Czasami trudno jest określić, których funkcji należy użyć w formule. Power Pivot i projektant modelu tabelarycznego w programie SQL Server Data Tools zawierają funkcję Wstaw funkcję— okno dialogowe, które ułatwia wybieranie funkcji według kategorii i zawiera krótkie opisy poszczególnych funkcji.Wstaw funkcję

Utwórzmy nową formułę zawierającą funkcję, którą wybierzesz za pomocą funkcji Wstaw funkcję:

Zadanie: dodawanie funkcji do formuły przy użyciu funkcji Wstaw

  1. W tabeli SprzedażRzeczywość 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ę Zostanie otwarte okno dialogowe Wstawianie funkcji .

  4. W oknie dialogowym Wstawianie funkcji kliknij pole listy Wybierz kategorię . Domyślnie jest zaznaczona opcja Wszystkie , a poniżej wymieniono wszystkie funkcje z kategorii Wszystkie . To dużo funkcji, dlatego warto filtrować te funkcje, aby ułatwić znajdowanie szukanego typu funkcji.

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

  6. Użyj funkcji IntelliSense, aby łatwiej znaleźć i wybrać kolumnę DimChannel[ChannelName].

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

  8. Po naciśnięciu Enter w celu ukończenia formuły na pasku stanu u dołu okna Power Pivot pojawia się wyraz Obliczanie. Teraz zobaczysz, że właśnie utworzono nową kolumnę w tabeli SprzedażRzeczywska z informacjami o kanałach z tabeli DimChannel.

  9. Zmień nazwę kolumny Kanał.

    Formuła powinna wyglądać następująco: =RELATED(DimChannel[ChannelName])

Właśnie wprowadzono Cię do innej bardzo ważnej funkcji w języku DAX— funkcji RELATED . Funkcja RELATED zwraca wartości z innej tabeli. Możesz użyć funkcji RELATED pod warunkiem, że istnieje relacja między bieżącą tabelą a tabelą zawierającą wartości, które chcesz uzyskać. Oczywiście funkcja RELATED ma ogromne możliwości. W takim przypadku możesz teraz dołączyć kanał sprzedaży dla każdej sprzedaży do tabeli SprzedażRzeczywłasna. Teraz można ukryć tabelę DimChannel na liście pól tabeli przestawnej, co ułatwia nawigację i wyświetlanie tylko najważniejszych informacji, których naprawdę potrzebujesz. Podobnie jak w przypadku opisanej wcześniej funkcji CALCULATE, funkcja RELATED jest bardzo ważna i prawdopodobnie będzie można jej używać wiele razy.

Jak widać, funkcje w języku DAX mogą ułatwić tworzenie bardzo zaawansowanych formuł. Naprawdę dotknęliśmy tylko podstaw funkcji. W miarę doskonalenia umiejętności języka DAX będziesz tworzyć formuły przy użyciu wielu różnych funkcji. Jednym z najlepszych miejsc do poznania szczegółów na temat wszystkich funkcji języka DAX jest odwołanie do wyrażeń analizy danych (DAX).

Funkcje QuickQuiz

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

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

  3. Jaka kategoria funkcji służy do łączenia dwóch ciągów tekstowych w jeden ciąg?

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

Kontekst

Kontekst jest jedną z najważniejszych koncepcji języka DAX, które należy zrozumieć. Istnieją dwa typy kontekstu w języku DAX; kontekst wiersza i kontekst filtru. Najpierw przyjrzymy się kontekstowi wiersza.

Kontekst wiersza

Kontekst wiersza jest najłatwiej uważany za bieżący wiersz. Pamiętasz na przykład kolumnę obliczeniową Margines, która była wcześniej wyszukiwana podczas poznania składni? Formuła =[KwotaSprzedaży] — [TotalCost] 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ży] i [SumCost] w tym samym wierszu. Język DAX może obliczyć 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ży].

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 [TotalCost] od wartości 101,08 zł w kolumnie [KwotaSprzedaży].

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 z natury zastosuje kontekst wierszy dla każdego wiersza tabeli, nad którym jest filtrowana. Ten typ kontekstu wiersza najczęściej dotyczy miar.

Kontekst filtru

Kontekst filtru jest nieco trudniejszy do zrozumienia niż kontekst wierszy. Kontekst filtru można najłatwiej określić jako: Jeden lub więcej filtrów zastosowanych w obliczeniach, które określają wynik lub wartość.

Kontekst filtru nie istnieje w miejscu kontekstu wiersza; Jest ona stosowana oprócz kontekstu wiersza. Aby na przykład zawęzić wartości do uwzględnienia w obliczeniach, można zastosować kontekst filtru, który nie tylko określa kontekst wiersza, ale także określa tylko określoną wartość (filtr) w kontekście tego wiersza.

Kontekst filtru jest łatwo widoczny w tabelach przestawnych. Jeśli na przykład dodasz wartość TotalCost do obszaru Wartości, a następnie dodasz rok i region do obszaru Wiersz lub Kolumny, 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 najczęściej stosować, dodając etykiety kolumn i wierszy oraz fragmentatory 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, według relacji oraz innych miar i kolumn. Na przykład przyjrzyjmy się następującej formule w miarę o nazwie StoreSales:

Formuła

Oczywiście ta formuła jest bardziej złożona niż niektóre inne formuły, które widziałeś. Jednak aby lepiej zrozumieć tę formułę, możemy ją podzielić, podobnie jak w innych formułach.

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

  1. Nazwa miary StoreSales, a następnie dwukropek :.

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

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

  4. Nawias () otacza co najmniej jeden argument.

  5. Miara [Sprzedaż] w tej samej tabeli co wyrażenie. Miara Sprzedaż zawiera formułę: =SUMA(SprzedażRzeczywiadcza[KwotaSprzedaży]).

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

  7. Kolumna z odwołaniem i określona wartość DimChannel[ChannelName] ="Store" jako filtr.

Ta formuła gwarantuje, że tylko wartości sprzedaży, zdefiniowane przez miarę Sprzedaż, jako filtr, są obliczane tylko dla wierszy w kolumnie DimChannel[ChannelName] z wartością "Store" jako filtrem.

Jak można sobie wyobrazić, możliwość definiowania kontekstu filtru w formule ma ogromne i zaawansowane możliwości. Jednym z takich przykładów jest możliwość odwoływania się tylko do określonej wartości w powiązanej tabeli. Nie martw się, jeśli nie do końca rozumiesz kontekst od razu. Podczas tworzenia własnych formuł lepiej zrozumiesz kontekst i powód, dla którego jest on tak ważny w języku DAX.

Kontekst QuickQuiz

  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.

Krótki opis

Teraz, gdy masz podstawowe zrozumienie najważniejszych pojęć w języku DAX, możesz rozpocząć samodzielne tworzenie formuł języka DAX dla kolumn obliczeniowych i miar. Język DAX może być nieco trudny do nauczenia się, ale dostępnych jest wiele zasobów. Po kilkukrotnym zapoznaniu się z tym tematem i eksperymentowaniu 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 w rozwiązaniu własnych problemów biznesowych. Dostępnych jest wiele zasobów języka DAX w witrynie Pomoc Power Pivot, w witrynie SQL Server Books Online, w witrynie whitepapers oraz w blogach firmy Microsoft i czołowych specjalistów ds. analizy biznesowej. Witryna typu wiki centrum zasobów języka DAX (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) to doskonałe miejsce na początek. Dobrym zasobem jest również odwołanie do wyrażeń analizy danych (DAX, Data Analysis Expressions ). Pamiętaj, aby zapisać go w ulubionych.

Dokument dax w modelu tabelarycznym analizy biznesowej dostępny do pobrania (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) zawiera bardziej szczegółowe spojrzenie na wprowadzone tutaj koncepcje, a także wiele innych zaawansowanych koncepcji i formuł. Ten oficjalny dokument zawiera również ten sam przykładowy Formulas.xlsx języka DAX firmy Contoso, który już istnieje.

Szybkie odpowiedzi

Składnia:

  1. Otwiera funkcję Wstaw funkcję.

  2. Nawiasy kwadratowe [].

  3. =[CenaJednastkowa] - [UnitCost]

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 kontekst filtru.

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