Szybki start: Nauka podstaw języka DAX w 30 minut

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

Ten przewodnik Szybki start jest przeznaczony dla użytkowników, którzy nie znają dodatku Power Pivot w programie Excel ani nie tworzyli projektów modeli tabelarycznych w programie SQL Server Data Tools. Ma on pełnić funkcję rolę szybkiego i prostego wprowadzenia do używania języka DAX (Data Analysis Expressions) w celu rozwiązywania wielu podstawowych problemów z zakresu modelowania danych i analityki. Ten temat zawiera informacje koncepcyjne, serię zadań do wykonania oraz kilka kwizów umożliwiających sprawdzenie postępów w nauce. Przerobienie tego tematu gwarantuje dobrą znajomość większości podstawowych koncepcji języka DAX.

Co to jest język DAX?

Język DAX to kolekcja funkcji, operatorów i stałych, których można używać w formule lub wyrażeniu w celu obliczania i zwracania co najmniej jednej wartości. Mówiąc prościej, język DAX pomaga tworzyć nowe informacje na podstawie danych, które są już dostępne w modelu.

Dlaczego język DAX jest tak ważny?

Bardzo łatwo można utworzyć skoroszyt i zaimportować do niego dane. Bez użycia formuł języka DAX można nawet tworzyć tabele przestawne i wykresy przestawne, w których będą wyświetlane ważne informacje. Ale co zrobić w sytuacji, gdy trzeba przeanalizować najważniejsze dane dotyczące sprzedaży w kilku kategoriach produktów dla różnych zakresów dat? Albo jeśli trzeba połączyć ważne dane magazynowe z kilku tabel, które znajdują się w różnych źródłach danych? Formuły języka DAX oferują tę możliwość, a ponadto oferują wiele innych ważnych możliwości. Nauczenie się tworzenia efektywnych formuł języka DAX pomoże w jak najlepszym wykorzystaniu używanych danych. Po uzyskaniu potrzebnych informacji można zacząć rozwiązywać prawdziwe problemy biznesowe, które wpływają na wyniki firmy. Jest to analiza biznesowa, a język DAX pomaga w jej prowadzeniu.

Wymagania wstępne

Prawdopodobnie użytkownik umie już tworzyć formuły w programie Microsoft Excel. Ta wiedza będzie pomagać w zrozumieniu zasady działania języka DAX, ale nawet w przypadku braku doświadczenia w tworzeniu formuł programu Excel koncepcje opisane w tym temacie pomogą zacząć tworzyć formuły języka DAX i rozwiązywać prawdziwe problemy biznesowe.

Firma Microsoft mają fokusu szczegółowe informacje dotyczące opis formuł języka DAX używanych w obliczeniach. Należy już znanych z podstawowych koncepcji kolumn obliczeniowych i miar (nazywane także pola obliczeniowe), są one opisane w Power Pivot pomocy. Należy również zapoznać z Power Pivot w programie Excel do tworzenia środowiska i narzędzi.

Przykładowy skoroszyt

Najlepszą metodą nauczenia się korzystania z języka DAX jest utworzenie kilku podstawowych formuł, użycie ich wraz z rzeczywistymi danymi i obejrzenie uzyskanych wyników. W przykładach i zadaniach opisanych w tym temacie jest używany skoroszyt Contoso Sample DAX Formulas.xlsx. Ten skoroszyt można pobrać pod adresem http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Po pobraniu skoroszytu na komputer należy go otworzyć, a następnie otworzyć okno dodatku Power Pivot.

Zaczynamy!

Nauka korzystania z języka DAX będzie oparta na trzech bardzo ważnych fundamentalnych koncepcjach: składni, funkcjach i kontekście. Oczywiście istnieje wiele innych ważnych koncepcji związanych z językiem DAX, ale zrozumienie tych trzech koncepcji da solidną podstawę do rozwijania umiejętności używania języka DAX.

Składnia

Przed utworzeniem własnych formuł warto przyjrzeć się składni formuł języka DAX. Składnia obejmuje różne elementy tworzące formułę. Mówiąc prościej, określa 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 Margin w tabeli FactSales (kolory tekstu formuły są używane tylko w celach ilustracyjnych):

Formuła kolumny obliczeniowej

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

  1. Operator znaku równości (=) wskazuje początek formuły, a gdy formuła zostanie obliczona, zwróci wynik (wartość). Wszystkie formuły obliczające wartość będą rozpoczynać się od znaku równości.

  2. Kolumna, której dotyczy odwołanie ([SalesAmount]), zawiera wartości, od których będą odejmowane inne wartości. Odwołanie do kolumny w formule zawsze jest ujęte w nawiasy kwadratowe „[]”. W przeciwieństwie do formuł programu Excel, które odwołują się do komórki, formuły języka DAX zawsze odwołują się do kolumny.

  3. Matematyczny operator odejmowania (-).

  4. Kolumna, której dotyczy odwołanie ([TotalCost]), zawiera wartości, które będą odejmowane od wartości w kolumnie [SalesAmount].

Podczas próby zrozumienia, jak należy czytać formułę języka DAX, często pomocne jest przełożenie jej elementów na język, którego używa się na co dzień. Na przykład tę formułę można przeczytać w sposób następujący:

w FactSales tabeli, dla każdego wiersza kolumny obliczeniowej Margin Oblicz (=) wartość, odejmując (-) wartości w [ KosztCałkowity ] wartości w kolumnie [ KwotaSprzedaży ] kolumny.

Spójrzmy na inny typ formuł, z których jedna jest używana w miarę:

Formuła kolumny obliczeniowej

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

  1. Nazwa miary Suma Sales Amount. Formuł dla miar mogą zawierać Nazwa miary, której następuje dwukropek, a po nim formułę obliczeń.

  2. Operator znaku równości (=) wskazuje początek formuły obliczeń. Po obliczeniu zostanie zwrócony wynik.

  3. Funkcja SUM dodaje wszystkie liczby znajdujące się w kolumnie [SalesAmount]. W dalszej części tego tematu zostanie przedstawionych więcej informacji o funkcjach.

  4. Nawias okrągły () otacza co najmniej jeden argument. Każda funkcja musi mieć co najmniej jeden argument. Argument przekazuje wartość do funkcji.

  5. Tabela, której dotyczy odwołanie — FactSales.

  6. Kolumna w tabeli FactSales, której dotyczy odwołanie — [SalesAmount]. Dzięki temu argumentowi funkcja SUM wie, która kolumna ma być agregowana za pomocą sumowania.

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

Dla miary o nazwie Suma Sales Amount Oblicz (=) SUMĘ wartości w [ KwotaSprzedaży ] kolumny w FactSales Tabela.

Gdy umieszczane w strefie na liście pól tabeli przestawnej upuszczania wartości, środek ten oblicza i zwraca wartości zdefiniowanych przez każdą komórkę w tabeli przestawnej, na przykład telefony komórkowe w USA.

Należy zauważyć, że istnieje kilka różnic między tą formuła a formułą używaną w kolumnie obliczeniowej Margin. W szczególności została wprowadzona funkcja — SUM. Funkcje to wstępnie napisane formuły, które ułatwiają wykonywanie złożonych obliczeń i operacji na liczbach, datach, godzinach, tekście i innych wartościach. W dalszej części tego tematu zostanie przedstawionych więcej informacji o funkcjach.

W przeciwieństwie do kolumny obliczeniowej Margin wcześniej widać, że kolumnie [SalesAmount] był wyświetlany FactSales tabeli, do której należy kolumny. Jest to określane jako w pełni kwalifikowana nazwa kolumny w tym zawiera nazwę kolumny poprzedzone nazwy tabeli. Kolumny, do których odwołuje się w tej samej tabeli nie wymaga nazwy tabeli zostaną uwzględnione w formule. Dzięki temu długiej formuły odwołujące się wiele kolumn krótsza i czytelności. Jest jednak zaleca się zawsze należy uwzględnić nazwy tabeli w formułach miary, nawet w tej samej tabeli.

Uwaga : Jeśli nazwa tabeli zawiera spacje, zastrzeżone słowa kluczowe lub niedozwolone znaki, trzeba ją ująć w apostrofy. Nazwy tabel należy też ujmować w apostrofy, jeśli zawierają znaki spoza zakresu znaków alfanumerycznych ANSI niezależnie od tego, czy ustawienia regionalne obsługują dany znak, czy nie.

Należy zwrócić szczególną uwagę, aby formuły miały poprawny kontekst. W większości przypadków niepoprawna składnia spowoduje zwrócenie błędu składniowego. Możliwe są jednak sytuacje, w których mimo poprawnej składni zwracane wartości mogą być inne niż oczekiwane. Dodatek Power Pivot (i program SQL Server Data Tools) oferuje funkcję IntelliSense, która ułatwia tworzenie poprawnych składniowo formuł, pomagając w wybieraniu poprawnych elementów.

Utwórzmy prostą formułę. To zadanie pomoże lepiej zrozumieć składnię formuły i pokaże, w jaki sposób dostępna na pasku formuły funkcja IntelliSense może pomóc użytkownikowi.

Zadanie: tworzenie prostej formuły dla kolumny obliczeniowej

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

  2. W oknie dodatku Power Pivot kliknij tabelę FactSales (karta).

  3. Przewiń do ostatniej kolumny z prawej strony, 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 jest teraz widoczny na pasku formuły. Pasek formuły to miejsce, w którym można wpisać formułę dla kolumny obliczeniowej lub pola obliczeniowego.

    Poświęćmy chwilę czasu na przyjrzenie się trzem przyciskom po lewej stronie paska formuły.

    Pasek formuły

    Gdy kursor jest aktywny na pasku formuły, te trzy przyciski też stają się aktywne. Znajdujący się najdalej z lewej strony przycisk X to przycisk anulowania. Kliknij go. Kursor nie będzie już widoczny na pasku formuły, a przycisk anulowania i przycisk znacznika wyboru nie będą już widoczne. Kliknij ponownie pasek formuły. Przycisk anulowania i przycisk znacznika wyboru znowu będą widoczne. Oznacza to, że można zacząć wprowadzanie formuły.

    Przycisk znacznika wyboru to przycisk sprawdzania formuły. Nie ma potrzeby używania go przed wprowadzeniem formuły. Wrócimy do niego za chwilę.

    Kliknij przycisk Fx . Pojawi się, że pojawi się nowe okno dialogowe; okno dialogowe Wstawianie funkcji. Okno dialogowe Wstawianie funkcji jest najprostszym sposobem, aby rozpocząć wprowadzanie formuły języka DAX. Będziemy dodawać funkcji do formuły gdy tworzymy miara nieco później, ale teraz, nie musisz dodać funkcję do formuły kolumny obliczeniowej. Teraz, a następnie zamknij okno dialogowe Wstawianie funkcji.

  5. Na pasku formuły wpisz znak równości =, a następnie wpisz nawias otwierający [. Zostanie wyświetlone małe okno, w którym będą widoczne wszystkie kolumny z tabeli FactSales. Tak działa funkcja IntelliSense.

    Kolumny obliczeniowe zawsze są tworzone w aktywnej tabeli, więc nie ma potrzeby poprzedzania nazwy kolumny nazwą tabeli. Przewiń w dół i kliknij dwukrotnie pozycję [SalesQuantity]. Możesz także przewinąć do odpowiedniej nazwy kolumny, a następnie nacisnąć klawisz Tab.

    Kursor jest obecnie aktywny z prawej strony [kolumny SalesQuantity].

  6. Wpisz spację, a następnie wpisz operator odejmowania - (znak minus), po czym wpisz jeszcze jedną spację.

  7. Teraz wpisz inną otwierający nawias kwadratowy [. Tym razem wybierz [kolumnyReturnQuantity] , a następnie naciśnij klawisz Enter.

    Jeśli zostanie zwrócony błąd, przyjrzyj się dokładnie składni. W razie potrzeby porównaj ją z formułą w kolumnie obliczeniowej Margin, którą opisano wcześniej.

    Po naciśnięciu klawisza Enter w celu ukończenia formuły na pasku stanu u dołu okna dodatku Power Pivot zostanie wyświetlony tekst Obliczanie. Ten tekst szybko zniknie, nawet jeśli obliczano nowe wartości dla ponad trzech milionów wierszy.

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

Otóż to! Właśnie utworzyliśmy prostą, ale bardzo wydajną formułę języka DAX. Formuła NetSales oblicza wartość dla każdego wiersza w tabeli FactSales, odejmując wartość znajdującą się w kolumnie [ReturnQuantity] od wartości znajdującej się w kolumnie [SalesQuantity]. Warto zwrócić uwagę na stwierdzenie „dla każdego wiersza”. Jest ono powiązane z inną bardzo ważną koncepcją języka DAX, jaką jest kontekst wiersza. W dalszej części tego tematu zostanie przedstawionych więcej informacji dotyczących kontekstu wiersza.

Porada : 

Coś naprawdę ważne poznać podczas wpisywania operatora w formule języka DAX jest typem danych w argumentach, którego używasz. Na przykład, gdyby wpisz następującą formułę = 1 i 2, wartość zwracana jest wartość tekstową "12". Jest tak, ponieważ jest handlowe "i" (&) operator łączenia tekstu. Język DAX zinterpretowany tę formułę do czytania: obliczyć wynik przyjmując wartość 1 jako tekst, a następnie dodaj wartość 2 jako tekst. Teraz, gdyby wpisz = 1 + 2, ta formuła jako odczytuje języka DAX: obliczyć wynik przez pobranie na wartość liczbową 1 i dodanie wartości liczbowej 2. Wynik to "3" wartość liczbową. Język DAX oblicza wynikowy wartości w zależności od operatora w formule nie oparte na typ danych kolumn używanych w argumencie. Typy danych w języku DAX są bardzo ważne, ale poza zakresem Szybki Start. Aby uzyskać więcej informacji na temat typów danych i operatorów w formułach języka DAX, zobacz informacje dotyczące języka DAX (http://go.microsoft.com/fwlink/?LinkId=239769 & clcid = 0x409) w — książki Online.

Spróbuj innej. Tym razem będzie tworzenie miary, wpisując formułę i przy użyciu technologii IntelliSense. Nie martw się zbyt dużo Jeżeli nie lepiej zrozumieć formułę. Najważniejsze w tym miejscu jest Dowiedz się, jak tworzyć formuły za pomocą kilku elementów razem w poprawnej składni.

Zadanie: Tworzenie formuły miary

  1. W tabeli FactSales kliknij dowolną pustą komórkę w obszarze obliczeń. Jest to obszar pustych komórek znajdujący się tuż pod tabelą w oknie dodatku Power Pivot.

Obszar obliczeń programu PowerPivot

  1. Na pasku formuły wpisz nazwę Previous Quarter Sales:.

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

  3. Wpisz pierwsze litery CAL, a następnie kliknij dwukrotnie funkcję, której chcesz użyć. W tej formule należy użyć funkcji CALCULATE.

  4. Wpisz nawias otwierający (, aby rozpocząć wpisywanie argumentów, które zostaną przekazane do funkcji CALCULATE.

    Należy zauważyć, że po wpisaniu nawiasu otwierającego funkcja IntelliSense pokazuje argumenty wymagane w funkcji CALCULATE. Informacje dotyczące argumentów zostaną przedstawione za chwilę.

  5. Wpisz pierwsze litery nazwy tabeli FactSales , a następnie na liście rozwijanej kliknij dwukrotnie pozycję FactSales[sprzedaży].

  6. Wpisz przecinek (,), aby określić pierwszy filtr, wpisz litery PRE, a następnie kliknij dwukrotnie funkcję PREVIOUSQUARTER.

    Po wybraniu funkcji PREVIOUSQUARTER zostanie wyświetlony kolejny nawias otwierający, który będzie wskazywał, że jest wymagany kolejny argument; tym razem będzie to argument funkcji PREVIOUSQUARTER.

  7. Wpisz pierwsze litery Dim, a następnie kliknij dwukrotnie pozycję tabeli Wymiardata[Kluczdaty].

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

    Formuła powinna wyglądać podobnie do następującej:

    Previous Quarter Sales:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Kliknij przycisk sprawdzania formuły na pasku formuły, aby sprawdzić poprawność formuły. Jeśli zostanie zwrócony błąd, sprawdź każdy element składni.

Czy jest on! Miara przy użyciu języka DAX oraz łatwo jeden w tym właśnie utworzony. Ta formuła będzie do czego jest obliczyć sumę sprzedaży dla w poprzednim kwartale, w zależności od filtrów w tabeli przestawnej lub wykresu przestawnego.

Do tej pory użytkownik zapoznał się już z kilkoma ważnymi aspektami formuł języka DAX. Po pierwsze, ta formuła zawiera dwie funkcje. Należy zauważyć, że funkcja PREVIOUSQUARTER jest zagnieżdżona jako argument przekazywany do funkcji CALCULATE. Formuły języka DAX mogą zawierać do 64 zagnieżdżonych funkcji. Praktycznie niemożliwe jest, aby formuła kiedykolwiek zawierała tak dużo zagnieżdżonych funkcji. W rzeczywistości taką formułę bardzo trudno byłoby utworzyć i debugować, a ponadto raczej nie działałaby ona zbyt szybko.

W tej formule są także używane filtry. Filtry zawężają zakres obliczeń. W tym przypadku jeden filtr określono jako argument i jest on w rzeczywistości inną funkcją. W dalszej części tego tematu zostanie przedstawionych więcej informacji o filtrach.

Na końcu jest używana funkcja CALCULATE. Jest to jedna z mających największe możliwości funkcji języka DAX. Ta funkcja z pewnością będzie wielokrotnie używana podczas opracowywania modeli danych oraz tworzenia bardziej złożonych formuł. Omówienie funkcji CALCULATE wykracza poza zakres tego przewodnika Szybki start, ale wraz z nabywaniem wiedzy dotyczącej języka DAX warto zwrócić szczególną uwagę na tę funkcję.

Uwaga : Zazwyczaj, aby używać funkcji analizy czasowej w formułach języka DAX, należy określić unikatową kolumnę dat, używając okna dialogowego Oznaczanie jako tabeli dat. W skoroszycie Contoso DAX Formula Samples.xlsx unikatową kolumną dat jest kolumna DateKey w tabeli DimDate.

Dodatkowe informacje

Może być monitu o: "Co to jest najprostszym formuły języka DAX można utworzyć?" Dobrze odpowiedzi, który jest "formułę, której nie trzeba". I dokładnie to co można zrobić za pomocą funkcji standardowej agregacji w miarę. Niemal każde modelu danych musi filtrowanie i obliczanie zagregowane dane. Na przykład funkcja suma w miarę Suma Sales Amount, który został wyświetlony wcześniej umożliwia dodawanie wszystkich liczb w określonej kolumnie. Język DAX zawiera kilka funkcji agregowane także wartości. Można automatycznie utworzyć formuł za pomocą standardowej agregacji za pomocą funkcji AutoSumowanie.

Zadanie dodatkowe: Tworzenie formuły miary przy użyciu funkcji Autosumowania

  1. W tabeli FactSales 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

  1. Kliknij strzałkę w dół obok pozycji Autosumowanie, a następnie kliknij pozycję średnia (powiadomienie o standardowej agregacji funkcje możesz możesz skorzystać, zbyt).
    Od razu, utworzenia nowej miary o nazwie średnia z ReturnQuantity: obserwowane przez formułę = AVERAGE([ReturnQuantity]).

Znowu było łatwo? Oczywiście nie wszystkie tworzone formuły będą takie proste. Ale za pomocą funkcji autosumowania można szybko i łatwo tworzyć formuły oparte na standardowych obliczeniach agregacji.

Przerobienie tego przykładu powinno dać użytkownikowi dobre zrozumienie składni używanej w formułach języka DAX. W ramach tego przykładu zamieszczono też wprowadzenie do naprawdę przydatnych funkcji, takich jak IntelliSense i AutoSumowanie, które pomagają w szybkim i prostym tworzeniu dokładnych formuł. Oczywiście istnieje jeszcze wiele informacji na temat składni, z którymi warto się zapoznać. Dobrym miejscem dalszej nauki jest witryna Język DAX — kompendium oraz dokumentacja SQL Server — książki online.

Szybki kwiz dotyczący składni

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

  2. W czym zawsze znajduje się nazwa kolumny używana w formule języka DAX?

  3. Jak można zapisać formuły dla następujących:
    w Wymiarprodukt tabeli, dla każdego wiersza w UnitMargin kolumny obliczeniowej, obliczanie wartości przez odjęcie wartości w Koszt_jednostkowy kolumny z wartościami w UnitPrice kolumny?

Odpowiedzi znajdują się na końcu tematu.

Funkcje

Funkcje to wstępnie zdefiniowane formuły umożliwiające przeprowadzanie obliczeń z użyciem określonych wartości, nazywanych argumentami, które mają określony porządek lub strukturę. Argumentami mogą być inne funkcje, inna formuła, odwołania do kolumn, liczby, tekst, wartości logiczne, takie jak PRAWDA lub FAŁSZ, oraz stałe.

W języku DAX są dostępne następujące kategorie funkcji: funkcje daty i godziny, informacyjne, logiczne, matematyczne, statystyczne, tekstowe i analizy czasowej. Użytkownicy zaznajomieni z funkcjami używanymi w formułach programu Excel zauważą, że wiele funkcji języka DAX jest do nich podobnych. Jednak funkcje języka DAX są unikatowe 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 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 jako argumentu w celu wykonywania obliczeń zmieniających się zależnie od kontekstu. W dalszej części tego tematu zostanie przedstawionych więcej informacji o kontekście.

  • Język DAX zawiera wiele funkcji, które zwracają tabelę, a nie wartość. Ta tabela nie jest wyświetlana, ale służy do dostarczania danych wejściowych do innych funkcji. Na przykład można pobrać tabelę, a następnie zliczyć znajdujące się w niej unikatowe wartości, albo obliczyć dynamiczne sumy w filtrowanych tabelach lub kolumnach.

  • Język DAX zawiera także różnorodne funkcje analizy czasowej. Te funkcje umożliwiają definiowanie lub wybieranie zakresów dat oraz wykonywanie opartych na tych zakresach obliczeń dynamicznych. Na przykład można porównywać sumy dla równoległych okresów.

Czasami ciężko jest określić, jakich funkcji warto użyć w danej formule. Dodatek Power Pivot oraz projektant danych tabelarycznych w programie SQL Server Data Tools zawierają funkcję Wstawianie funkcji, która ma postać okna dialogowego pomagającego wybierać funkcje według kategorii i wyświetlającego krótkie opisy każdej funkcji.

Wstawianie funkcji

Utwórzmy nową formułę zawierającą funkcję, która zostanie wybrana przy użyciu okna dialogowego Wstawianie funkcji:

Zadanie: dodawanie funkcji do formuły przy użyciu okna dialogowego Wstawianie funkcji

  1. W tabeli FactSales przewiń do ostatniej kolumny z prawej strony, 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 jest wybrana kategoria Wszystkie, a poniżej są wyświetlone wszystkie funkcje należące do kategorii Wszystkie. Tych funkcji jest bardzo dużo, więc warto je przefiltrować, aby łatwiej zidentyfikować typ potrzebnej funkcji.

  5. W przykładowej formule należy zwrócić dane, które istnieją już w innej tabeli. Dlatego też należy użyć funkcji należącej do kategorii Filtru. Kliknij kategorię Filtru, a następnie na liście 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 znaleźć i wybrać 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 na pasku stanu u dołu okna dodatku Power Pivot zostanie wyświetlony tekst Obliczanie. Teraz widać, że została utworzona nowa kolumna w tabeli FactSales, która zawiera informacje dotyczące kanału pochodzące z tabeli DimChannel.

  9. Zmień nazwę kolumny na Channel.

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

Właśnie wprowadzono kolejną bardzo ważną funkcję języka DAX, czyli funkcję RELATED. Funkcja RELATED zwraca wartości z innej tabeli. Funkcji RELATED można użyć pod warunkiem, że istnieje relacja między aktualnie otwartą tabelą a tabelą zawierającą dane, które mają zostać pobrane. Oczywiście funkcja RELATED ma ogromne możliwości. W tym przypadku można teraz dołączyć kanał sprzedaży do każdej sprzedaży wymienionej w tabeli FactSales. Teraz można ukryć tabelę DimChannel na liście pól tabeli przestawnej, aby ułatwić nawigowanie i wyświetlać tylko najważniejsze informacje, które są naprawdę potrzebne. Podobnie jak opisana wcześniej funkcja CALCULATE, funkcja RELATED jest bardzo ważna i jest często używana.

Jak widać, funkcje języka DAX pomagają tworzyć formuły o wielkich możliwościach. Tak naprawdę poruszyliśmy tylko podstawowe informacje dotyczące funkcji. Wraz z postępami w nauce korzystania z języka DAX użytkownik będzie tworzył formuły, używając wielu różnych funkcji. Jednym z najlepszych miejsc, w których można znaleźć szczegółowe informacje dotyczące wszystkich funkcji języka DAX, jest witryna Data Analysis Expressions (DAX) — kompendium.

Szybki kwiz dotyczący funkcji

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

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

  3. Jakiej kategorii funkcji należy użyć, aby połączyć dwa ciągi tekstowe w jeden ciąg?

Odpowiedzi znajdują się na końcu tematu.

Kontekst

Kontekst to jedna z najważniejszych koncepcji języka DAX, z którymi należy się zapoznać. W języku DAX istnieją dwa typy kontekstu: kontekst wiersza i kontekst filtru. Najpierw przyjrzymy się kontekstowi wiersza.

Kontekst wiersza

Kontekst wiersza najprościej jest traktować jako bieżący wiersz. Jako przykładu użyjemy kolumny obliczeniowej Margin, którą opisano w sekcji z informacjami dotyczącymi składni. Formuła „=[SalesAmount] - [TotalCost]” oblicza wartość w kolumnie Margin dla każdego wiersza w tabeli. Wartości dla każdego wiersza są obliczane na podstawie wartości z dwóch innych kolumn ([SalesAmount] i [TotalCost]) znajdujących się w tym samym wierszu. Język DAX może obliczać wartości dla każdego wiersza w kolumnie Margin, ponieważ ma kontekst: dla każdego wiersza pobiera wartość z kolumny [TotalCost] i odejmuje ją od wartości z kolumny [SalesAmount].

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

Kontekst wiersza w programie PowerPivot

Kontekst wiersza, po prostu nie dotyczy kolumn obliczeniowych. Kontekst wiersza dotyczy również zawsze, gdy formuła zawiera funkcję, która ma zastosowanie filtrów w celu identyfikowania jednego wiersza w tabeli. Funkcja założenia zostaną zastosowane kontekst wiersza dla każdego wiersza tabeli, w którym jest filtrowanie. Kontekst wiersza na tego typu najczęściej dotyczy miary.

Kontekst filtru

Kontekst filtru jest nieco trudniejszy do zrozumienia niż kontekst wiersza. Najprościej jest wyobrazić sobie kontekst filtru w następujący sposób: co najmniej jeden filtr zastosowany w obliczeniu, które ustala wynik lub wartość.

Kontekst filtru nie zastępuje kontekstu wiersza, ale raczej jest stosowany jako dodatek do kontekstu wiersza. Na przykład aby jeszcze bardziej zawęzić wartości, które będą używane w obliczeniu, można zastosować kontekst filtru, który nie tylko określa kontekst wiersza, ale także określa tylko daną wartość (filtr) w tym kontekście wiersza.

Kontekst filtru jest dobrze widoczny w tabelach przestawnych. Na przykład dodanie kolumny TotalCost do obszaru Wartości, a następnie kolumn Year i Region do obszaru Wiersze lub Kolumny powoduje zdefiniowanie kontekstu filtru, który wybiera podzestaw danych na podstawie podanych wartości Year i Region.

Kontekst filtru jest tak ważny do języka DAX Ponieważ podczas najłatwiej można stosować kontekst filtru, dodając kolumny i etykiety wierszy i fragmentatorów w tabeli przestawnej, kontekst filtru mogą być również stosowane w formule języka DAX, definiując filtru przy użyciu funkcji, takich jak wszystkie powiązane, filtr, OBLICZ relacjami oraz przez inne miary i kolumny. Na przykład Przyjrzyjmy się następującej formuły w miarę o nazwie StoreSales:

Formuła

Przede wszystkim ta formuła jest bardziej skomplikowana niż formuły dotychczas przedstawione w tym przewodniku. Aby jednak lepiej zrozumieć jej działanie, można ją podzielić, tak jak robiliśmy w przypadku innych formuł.

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

  1. Nazwa miary StoreSales, której następuje dwukropek:.

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

  3. Funkcja CALCULATE obliczająca wyrażenie (podane jako argument) w kontekście modyfikowanym przez określone filtry.

  4. Nawias okrągły () otaczający co najmniej jeden argument.

  5. Miara [Sales] w tej samej tabeli jako wyrażenia. Miary sprzedaży zawiera formułę: = SUM(FactSales[SalesAmount]).

  6. Przecinek (,) rozdzielający filtry.

  7. Kolumna, której dotyczy odwołanie, oraz określona wartość DimChannel[ChannelName] =”Store” jako filtr.

Ta formuła będziesz mieć pewność, że tylko sprzedaży wartości, zdefiniowanych przez miary sprzedaży, jako filtr, są obliczane tylko dla wierszy w kolumnie DimChannel [ChannelName] z wartością "Store" jako filtr.

Łatwo sobie wyobrazić, że możliwość zdefiniowania kontekstu filtru w obrębie formuły daje wielkie możliwości. Możliwość odwoływania się tylko do określonej wartości w powiązanej tabeli to tylko jeden z przykładów. Jeśli w tej chwili kontekst nie jest w pełni zrozumiały, nie należy się tym przejmować. Tworzenie własnych formuł umożliwi lepsze zrozumienie istoty kontekstu i pokaże, dlaczego jest on tak ważny w języku DAX.

Szybki kwiz dotyczący kontekstu

  1. Jakie dwa typy kontekstu istnieją?

  2. Co to jest kontekst filtru?

  3. Co to jest kontekst wiersza?

Odpowiedzi znajdują się na końcu tematu.

Podsumowanie

Teraz, gdy masz już podstawy najważniejszych pojęć w języku DAX, możesz przystąpić do tworzenia formuł języka DAX dla kolumny obliczeniowe i miary własne. Język DAX istotnie może być nieco kłopotliwe dowiedzieć się, ale jest dostępnych wiele zasobów. Po czytania za pośrednictwem w tym temacie kilka razy, a eksperymentowanie z kilkoma własne formuły, Dowiedz się więcej o innych pojęcia języka DAX i formuł, które mogą ułatwić rozwiązywanie problemów własne firm. Wiele zasobów języka DAX są dostępne w Power Pivot pomocy, SQL Server książki Online, oficjalne dokumenty i blogi przez firmę Microsoft i wiodące specjalistów BI. Wiki Centrum zasobów języka DAX (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) to doskonałe miejsce do rozpoczęcia. Odwołanie Data Analysis Expressions (DAX) jest również doskonałe zasobów. Pamiętaj zapisać go na liście ulubionych.

Oficjalny dokument „Język DAX w modelu tabelarycznym analizy biznesowej” (dostępny do pobrania pod adresem http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x415) zawiera szczegółowy przegląd koncepcji wprowadzonych w tym dokumencie oraz wiele informacji na temat innych zaawansowanych koncepcji i formuł. W treści tego oficjalnego dokumentu znajdują się odwołania do skoroszytu Contoso DAX Sample Formulas.xlsx, który użytkownik pobrał podczas przerabiania tego przewodnika.

Odpowiedzi na pytania z szybkich kwizów

Składnia:

  1. Otwiera funkcję Wstawianie funkcji.

  2. Nawiasy kwadratowe [].

  3. =[UnitPrice] - [UnitCost].

Funkcje:

  1. Tabela i kolumna.

  2. Tak. Formuła może zawierać do 64 zagnieżdżonych funkcji.

  3. Funkcje tekstowe

Kontekst:

  1. Kontekst wiersza i kontekst filtru.

  2. Co najmniej jeden filtr w obliczeniu ustalającym pojedynczą wartość.

  3. Bieżący wiersz.

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.

×