Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tej sekcji znajdują się łącza do przykładów pokazujących, jak używać formuł języka DAX w następujących scenariuszach.
Wykonywanie złożonych obliczeń
Praca z tekstem i datami
Wartości warunkowe i sprawdzanie występowania błędów
Używanie analizy czasowej
Klasyfikowanie i porównywanie wartości
Wprowadzenie
Zalecane jest, aby osoby niezaznajomione z formułami języka DAX rozpoczęły pracę od przejrzenia przykładów znajdujących się w przykładowym skoroszycie języka DAX. Aby uzyskać więcej informacji dotyczących uzyskiwania przykładowego skoroszytu, zobacz temat Pobieranie przykładowych danych dla programu PowerPivot.
Dodatkowe zasoby
Z następujących łączy można skorzystać, aby znaleźć wideo, dodatkowe przykłady i procedury ułatwiające naukę języka DAX.
Scenariusze: wykonywanie złożonych obliczeń
Formuły języka DAX umożliwiają wykonywanie złożonych obliczeń obejmujących agregacje niestandardowe, filtrowanie i używanie wartości warunkowych. W tej sekcji zamieszczono przykłady pokazujące, jak rozpocząć pracę z obliczeniami niestandardowymi.
Tworzenie obliczeń niestandardowych do użycia w tabeli przestawnej
Funkcje CALCULATE i CALCULATETABLE to wydajne, elastyczne funkcje, które są przydatne podczas definiowania miar. Te funkcje umożliwiają zmienianie kontekstu, w jakim zostaną wykonane dane obliczenia. Można także dostosować typ agregacji lub operacji matematycznej, która ma zostać wykonana. Aby zapoznać się z przykładami, zobacz następujące tematy.
Stosowanie filtru do formuły
W większości przypadków, w których funkcja języka DAX przyjmuje tabelę jako argument, można przekazać przefiltrowaną tabelę, używając funkcji FILTER zamiast nazwy tabeli lub określając wyrażenie filtru jako jeden z argumentów funkcji. W następujących tematach znajdują się przykłady sposobu tworzenia filtrów oraz wpływu filtrów na wyniki formuł. Aby uzyskać więcej informacji, zobacz temat Filtrowanie danych w formułach.
Funkcja FILTER umożliwia określenie kryteriów filtru przy użyciu wyrażenia, a inne funkcje zostały zaprojektowane specjalnie pod kątem odfiltrowywania pustych wartości.
Selektywne usuwanie filtrów w celu tworzenia dynamicznego stosunku
Tworząc dynamiczne filtry w formułach, można z łatwością odpowiedzieć na pytania, takie jak następujące:
Jaki jest udział bieżącej sprzedaży produktu w łącznej wielkości sprzedaży w danym roku?
Jaką część łącznych zysków we wszystkich latach operacyjnych wypracował dany dział w porównaniu z innymi działami?
Na formuły używane w tabeli przestawnej może wpływać kontekst tabeli przestawnej, ale ten kontekst można selektywnie zmieniać, dodając lub usuwając filtry. Sposób wykonania tej czynności pokazano w temacie dotyczącym funkcji ALL. Aby znaleźć stosunek sprzedaży określonego odsprzedawcy do sprzedaży wszystkich odsprzedawców, należy utworzyć miarę obliczającą wartość dla bieżącego kontekstu podzieloną przez wartość dla kontekstu funkcji ALL.
W temacie dotyczącym funkcji ALLEXCEPT pokazano przykład sposobu selektywnego czyszczenia filtrów w formule. Oba te przykłady pokazują, jak zmienia się wynik w zależności od projektu tabeli przestawnej.
Inne przykłady sposobu obliczania współczynników i procentów można znaleźć w następujących tematach:
Używanie wartości z pętli zewnętrznej
Język DAX umożliwia używanie w obliczeniach, oprócz wartości z bieżącego kontekstu, także wartości z poprzedniej pętli w celu utworzenia zestawu powiązanych obliczeń. W poniższym temacie opisano procedury krok po kroku pokazujące sposób tworzenia formuły odwołującej się do wartości z pętli zewnętrznej. Funkcja EARLIER obsługuje maksymalnie dwa poziomy zagnieżdżonych pętli.
Aby dowiedzieć się więcej o kontekście wiersza i powiązanych tabelach oraz sposobie wykorzystania tej koncepcji w formułach, zobacz temat Kontekst w formułach języka DAX.
Powrót do początku
Scenariusze: praca z tekstem i datami
W tej sekcji znajdują się łącza do tematów z informacjami dotyczącymi języka DAX, które zawierają przykłady typowych scenariuszy obejmujących pracę z tekstem, wyodrębnianie i łączenia wartości daty i godziny oraz tworzenie wartości na podstawie warunku.
Tworzenie kolumny klucza przez łączenie
Program PowerPivot nie zezwala na używanie kluczy złożonych, więc jeśli dane źródłowe zawierają klucze złożone, należy połączyć je w jedną kolumnę klucza. W poniższym temacie przedstawiono przykład sposobu tworzenia kolumny obliczeniowej na podstawie klucza złożonego.
Tworzenie daty na podstawie części daty wyodrębnionych z daty w postaci tekstowej
Program PowerPivot używa typu danych daty/godziny programu SQL Server do wykonywania operacji na datach. Dlatego też, jeśli dane zewnętrzne zawierają inaczej sformatowane daty, na przykład jeśli daty są zapisane w regionalnym formacie daty, którego nie rozpoznaje aparat danych programu PowerPivot, lub jeśli dane są przedstawiane za pomocą kluczy zastępczych w postaci liczb całkowitych, może być konieczne użycie formuły języka DAX w celu wyodrębnienia części daty, a następnie połączenia tych części w prawidłowej reprezentacji daty/godziny.
Na przykład jeśli kolumna dat przedstawionych za pomocą liczb całkowitych została zaimportowana jako kolumna ciągów tekstowych, można przekonwertować wartości ciągów na wartości daty/godziny, używając następującej formuły:
=DATE(RIGHT([Value1],4),LEFT([Value1],2),MID([Value1],2))
Value1 |
Wynik |
01032009 |
1/3/2009 |
12132008 |
12/13/2008 |
06252007 |
6/25/2007 |
W poniższych tematach podano więcej informacji dotyczących funkcji służących do wyodrębniania i tworzenia dat.
Definiowanie niestandardowego formatu dat lub liczb
Jeśli dane zawierają daty lub liczby, które nie są przedstawione w jednym ze standardowych formatów tekstu systemu Windows, można zdefiniować format niestandardowy, aby zagwarantować poprawną obsługę wartości. Te formaty są używane podczas konwertowania wartości na ciągi i ciągów na wartości. W poniższych tematach znajduje się także szczegółowa lista wstępnie zdefiniowanych formatów, których można używać podczas pracy z datami i liczbami.
Zmienianie typów danych przy użyciu formuły
W programie PowerPivot typ danych wyniku jest ustalany na podstawie kolumn źródłowych i nie można jawnie określić typu danych wyniku, ponieważ najlepszy typ danych jest wyznaczany przez program PowerPivot. W celu zmieniania typu danych wyniku można jednak używać niejawnych konwersji typów danych wykonywanych przez program PowerPivot. Aby uzyskać więcej informacji dotyczących konwersji typów, zobacz temat Źródła danych obsługiwane w skoroszytach programu PowerPivot.
Aby przekonwertować datę lub ciąg przedstawiający liczbę na liczbę, należy pomnożyć go przez wartość 1,0. Na przykład następująca formuła oblicza datę wcześniejszą o 3 dni od daty bieżącej, a następnie zwraca odpowiadająca jej wartość typu liczba całkowita.
=(TODAY()-3)*1.0Aby przekonwertować wartość daty, wartość liczbową lub wartość walutową na ciąg, należy połączyć tę wartość z ciągiem pustym. Na przykład poniższa formuła zwraca dzisiejszą datę w formacie ciągu.
=""& TODAY()
Przedstawionych poniżej funkcji także można użyć w celu zagwarantowania zwrócenia danych określonego typu:
Konwertowanie liczb rzeczywistych na całkowite
Konwertowanie liczb rzeczywistych, liczb całkowitych i dat na ciągi
Konwertowanie ciągów na liczby rzeczywiste, liczby całkowite i daty
Powrót do początku
Scenariusz: wartości warunkowe i sprawdzanie występowania błędów
Język DAX, podobnie jak program Excel, zawiera funkcje umożliwiające sprawdzanie wartości w danych i zwracanie różnych wartości na podstawie warunku. Na przykład można utworzyć kolumnę obliczeniową, w której odsprzedawcom będą przypisywane etykiety Preferowany lub Wartościowy w zależności od kwoty rocznej sprzedaży. Funkcje sprawdzające wartości są także przydatne, gdy trzeba sprawdzić zakres lub typ wartości w celu zapobieżenia przerwaniu obliczeń przez nieoczekiwane błędy w danych.
Tworzenie wartości na podstawie warunku
W celu sprawdzania wartości i warunkowego generowania nowych wartości można używać zagnieżdżonych warunków IF. W poniższych tematach zamieszczono kilka prostych przykładów przetwarzania warunkowego i wartości warunkowych:
Sprawdzanie formuły pod kątem błędów
W przeciwieństwie do programu Excel nie jest możliwa sytuacja, w której w jednym wierszu kolumny obliczeniowej znajdują się prawidłowe wartości, a w innym wierszu nieprawidłowe. Oznacza to, że wystąpienie błędu w dowolnej części kolumny programu PowerPivot powoduje oflagowanie całej kolumny jako błędnej, przez co zawsze konieczne jest poprawienie błędów formuły powodujących powstawanie nieprawidłowych wartości.
Na przykład po utworzeniu formuły, w której występuje dzielenie przez zero, można uzyskać wynik równy nieskończoność (błąd). Działanie niektórych formuł nie powiedzie się, jeśli funkcja napotka wartość pustą w miejscu, w którym oczekiwała wartości liczbowej. Podczas projektowania modelu danych najlepiej jest zezwolić na wyświetlanie błędów, ponieważ umożliwi to kliknięcie komunikatu i rozwiązanie problemu. Jednak w przypadku publikowania skoroszytów należy opracować obsługę błędów, aby uniemożliwić przerywanie obliczeń z powodu nieoczekiwanych wartości.
Aby uniknąć zwracania błędów w kolumnie obliczeniowej, należy użyć kombinacji funkcji logicznych i informacyjnych w celu wyszukiwania błędów, co umożliwia zwracanie wyłącznie prawidłowych wartości. W poniższych tematach podano kilka przykładów wykonania tej czynności w języku DAX:
Powrót do początku
Scenariusze: używanie analizy czasowej
Funkcje analizy czasowej języka DAX obejmują funkcje pomagające w pobieraniu z danych dat lub zakresów dat. Pobranych dat lub zakresów dat można używać do obliczania wartości dla podobnych okresów. Funkcje analizy czasowej obejmują także funkcje, które działają ze standardowymi interwałami dat, co umożliwia porównywanie wartości pochodzących z określonych miesięcy, kwartałów lub lat. Można także utworzyć formułę porównującą wartości dla pierwszej i ostatniej daty w danym okresie.
Aby zapoznać się z listą funkcji analizy czasowej, zobacz temat Funkcje analizy czasowej (język DAX). Aby zapoznać się z poradami dotyczącymi efektywnego używania dat i godzin w analizach w programie PowerPivot, zobacz temat Daty w programie PowerPivot.
Obliczanie skumulowanej sprzedaży
W poniższych tematach znajdują się przykłady sposobu obliczania sald zamknięcia i otwarcia. Te przykłady umożliwiają tworzenie sald chwilowych dla różnych interwałów, takich jak dni, miesiące, kwartały lub lata.
Funkcja CLOSINGBALANCEMONTH, Funkcja CLOSINGBALANCEQUARTER, Funkcja CLOSINGBALANCEYEAR
Funkcja OPENINGBALANCEMONTH, Funkcja OPENINGBALANCEQUARTER, Funkcja OPENINGBALANCEYEAR
Porównywanie wartości z różnych okresów
W poniższych tematach znajdują się przykłady sposobów porównywania sum dla różnych okresów. Domyślne okresy obsługiwane w języku DAX to miesiące, kwartały i lata.
Obliczanie wartości dla niestandardowego zakresu dat
W poniższych tematach znajdują się przykłady sposobów pobierania niestandardowych zakresów dat, takich jak pierwszych 15 dni po rozpoczęciu promocji sprzedaży.
Jeśli za pomocą funkcji analizy czasowej zostanie pobrany niestandardowy zestaw dat, tych dat będzie można użyć jako danych wejściowych funkcji wykonującej obliczenia w celu utworzenia agregacji niestandardowych dla wybranych okresów. Przykład sposobu wykonywania tego zadania znajduje się w następującym temacie:
[!UWAGA]
Jeśli nie trzeba określać niestandardowego zakresu dat, a użytkownik pracuje ze standardowymi jednostkami księgowania, takimi jak miesiące, kwartały lub lata, zalecane jest wykonywanie obliczeń przy użyciu funkcji analizy czasowej przeznaczonych do tego celu, takich jak TOTALQTD, TOTALMTD, TOTALQTD itp.
Powrót do początku
Scenariusze: klasyfikowanie i porównywanie wartości
Aby pokazać tylko n pierwszych elementów w kolumnie lub tabeli przestawnej, można skorzystać z jednej z kilku opcji:
Można użyć funkcji programu Excel 2010 w celu utworzenia filtru pierwszych wartości. Można także wybrać liczbę pierwszych lub ostatnich wartości w tabeli przestawnej. W pierwszej części tej sekcji opisano, w jaki sposób przefiltrować tabelę przestawną, aby pokazać 10 pierwszych elementów. Aby uzyskać więcej informacji, zobacz dokumentację programu Excel.
Można utworzyć formułę, która dynamicznie klasyfikuje wartości, a następnie filtrować według wartości klasyfikacji albo użyć wartości klasyfikacji jako fragmentatora. W drugiej części tej sekcji opisano sposób tworzenia tej formuły i użycia klasyfikacji we fragmentatorze.
Każda z metod ma wady i zalety.
Filtr pierwszych wartości w programie Excel jest łatwy w użyciu, ale można go używać wyłącznie na potrzeby wyświetlania. Jeśli dane źródłowe tabeli przestawnej zostaną zmienione, należy ręcznie odświeżyć tabelę przestawną, aby zobaczyć zmiany. Jeśli zachodzi konieczność dynamicznej pracy z klasyfikacjami, języka DAX można użyć do utworzenia formuły porównującej wartości z innymi wartościami w kolumnie.
Formuła języka DAX ma większe możliwości, a ponadto, dodając wartość klasyfikacji do fragmentatora, wystarczy kliknąć fragmentator, aby zmienić liczbę wyświetlanych pierwszych wartości. Jednak wykonywane obliczenia wymagają dużej mocy obliczeniowej, więc ta metoda może być nieodpowiednia w przypadku tabel z wieloma wierszami.
Wyświetlanie tylko dziesięciu pierwszych wartości w tabeli przestawnej
Aby pokazać pierwsze lub ostatnie wartości w tabeli przestawnej |
||||||||
|
Dynamiczne porządkowanie elementów przy użyciu formuły
W poniższym temacie przedstawiono przykład sposobu użycia języka DAX do utworzenia klasyfikacji przechowywanej w kolumnie obliczeniowej. Formuły języka DAX są obliczane dynamicznie, więc klasyfikacja zawsze będzie poprawna, nawet jeśli dane źródłowe ulegną zmianie. Ponadto, ponieważ formuła jest używana w kolumnie obliczeniowej, tej klasyfikacji można użyć we fragmentatorze, a następnie wybrać 5, 10 lub nawet 100 pierwszych wartości.
Powrót do początku
Zobacz także
Koncepcje
Omówienie języka DAX (Data Analysis Expressions)
Dodawanie obliczeń do raportów, wykresów i tabel przestawnych