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

W tej sekcji znajdują się linki do przykładów, które pokazują użycie formuł języka DAX w następujących scenariuszach.

  • Wykonywanie złożonych obliczeń

  • Praca z tekstem i datami

  • Wartości warunkowe i testy pod warunkiem, że wystąpiły błędy

  • Korzystanie z analizy czasowej

  • Klasyfikacja i porównywanie wartości

W tym artykule

Wprowadzenie

Odwiedź witrynę typu wiki centrum zasobów języka DAX, gdzie znajdziesz różnego rodzaju informacje na temat języka DAX, takie jak blogi, przykłady, białe materiały i klipy wideo udostępniane przez najlepszych specjalistów w branży i firmę Microsoft.

Scenariusze: wykonywanie złożonych obliczeń

Formuły języka DAX mogą wykonywać złożone obliczenia z zastosowaniem niestandardowych agregacji, filtrowania i stosowania wartości warunkowych. W tej sekcji przedstawiono przykłady rozpoczynania pracy z obliczeniami niestandardowymi.

Tworzenie niestandardowych obliczeń dla tabeli przestawnej

CALCULATE i CALCULATETABLE to zaawansowane, elastyczne funkcje, które przydają się do definiowania pól obliczeniowych. Te funkcje umożliwiają zmianę kontekstu, w którym zostanie wykonane obliczenie. Możesz także dostosować typ operacji agregacji lub operacji matematycznej do wykonania. Przykłady można znaleźć w poniższych tematach.

Stosowanie filtru do formuły

W większości miejsc, w których funkcja języka DAX przyjmuje jako argument tabelę, zwykle można przekazać do tabeli filtrowanej zamiast tabeli filtrowane, używając funkcji FILTRUJ zamiast nazwy tabeli lub określając wyrażenie filtru jako jeden z argumentów funkcji. W poniższych tematach popisano przykłady tworzenia filtrów i wpływu filtrów na wyniki formuł. Aby uzyskać więcej informacji, zobacz Filtrowanie danych w formułach języka DAX.

Funkcja FILTRUJ umożliwia określenie kryteriów filtrowania przy użyciu wyrażenia, natomiast pozostałe funkcje są zaprojektowane specjalnie do odfiltrowania pustych wartości.

Selektywne usuwanie filtrów w celu utworzenia stosunku dynamicznego

Tworząc filtry dynamiczne w formułach, można łatwo odpowiadać na pytania, takie jak:

  • Jaki był udział sprzedaży bieżącego produktu w sumie sprzedaży w roku?

  • Ile ten dział wyłożyło zysków ze wszystkich lat operacyjnych w porównaniu z innymi działami?

Na formuły, których używasz w tabeli przestawnej, może mieć wpływ kontekst tabeli przestawnej, ale możesz selektywnie zmienić kontekst, dodając lub usuwając filtry. W przykładzie w temacie WSZYSTKIE pokazano, jak to zrobić. Aby znaleźć stosunek sprzedaży określonego odsprzedawcy do sprzedaży u wszystkich sprzedawców, utwórz miarę obliczaną wartość dla bieżącego kontekstu i podzieloną przez wartość dla CAŁEGO kontekstu.

Temat ALLEXCEPT zawiera przykłady selektywnego wyczyszczenia filtrów w formule. W obu przykładach przedstawiono zmiany wyników w zależności od projektu tabeli przestawnej.

Aby uzyskać inne przykłady obliczania współczynników i procentów, zobacz następujące tematy:

Używanie wartości z pętli zewnętrznej

Oprócz używania wartości z bieżącego kontekstu w obliczeniach, język DAX może używać wartości z poprzedniej pętli w tworzeniu zestawu powiązanych obliczeń. Poniższy temat zawiera instruktaż, jak utworzyć formułę, która odwołuje 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 wierszy i powiązanych tabelach oraz o tym, jak używać tej koncepcji w formułach, zobacz Kontekst w formułach języka DAX.

Scenariusze: praca z tekstem i datami

Ta sekcja zawiera linki do tematów referencyjnych dotyczących języka DAX, które zawierają przykłady typowych scenariuszy obejmujących pracę z tekstem, wyodrębnianie i tworzenie wartości daty i godziny lub tworzenie wartości na podstawie warunku.

Tworzenie kolumny klucza przez zwięzłowanie

Power Pivot klucza złożonego; dlatego, jeśli w źródle danych masz klucze złożone, może być konieczne ich połączenie w jedną kolumnę klucza. Poniższy temat zawiera przykład tworzenia kolumny obliczeniowej na podstawie klucza złożonego.

Redagowanie daty na podstawie części daty wyodrębnioną z daty tekstowej

Power Pivot daty i godziny SQL Server typ danych Data/Godzina. dlatego, jeśli dane zewnętrzne zawierają daty sformatowane w inny sposób — na przykład jeśli daty są napisane w regionalnym formacie daty, który nie jest rozpoznawany przez aparat danych programu Power Pivot lub jeśli w danych są używane liczby całkowite zastępcze — może być konieczne użycie formuły języka DAX w celu wyodrębnienia części dat, a następnie zredagowania ich do prawidłowej reprezentacji daty/godziny.

Jeśli na przykład masz kolumnę dat, które zostały reprezentowane jako liczba całkowita, a następnie zaimportowane jako ciąg tekstowy, możesz przekonwertować ten ciąg na wartość daty/godziny przy użyciu następującej formuły:

=DATA(PRAWY([Wartość1];4);LEWY([Wartość1];2);MID([Wartość1];2))

Wartość1

Wynik

01032009

1/3/2009

12132008

12/13/2008

06252007

6/25/2007

Poniższe tematy zawierają więcej informacji na temat funkcji używanych do wyodrębniania i redagowania dat.

Definiowanie niestandardowego formatu daty lub liczb

Jeśli dane zawierają daty lub liczby, które nie są reprezentowane przez jeden ze standardowych formatów tekstowych Windows, można zdefiniować format niestandardowy w celu zapewnienia prawidłowej obsługi wartości. Te formaty są używane podczas konwertowania wartości na ciągi lub ciągi. Poniższe tematy zawierają również szczegółową listę wstępnie zdefiniowanych formatów, które są dostępne do pracy z datami i liczbami.

Zmienianie typów danych przy użyciu formuły

W Power Pivot typ danych wyjściowych jest ustalany na podstawie kolumn źródłowych i nie można jawnie określić typu danych wyniku, ponieważ optymalny typ danych zależy od Power Pivot. Można jednak użyć niejawnych konwersji typów danych wykonywanych przez Power Pivot do manipulowania typem danych wyjściowych. 

  • Aby przekonwertować datę lub ciąg liczbowy na liczbę, pomnóż wartość 1,0. Na przykład następująca formuła oblicza bieżącą datę minus 3 dni, a następnie wyprowadza odpowiadającą jej wartość całkowitą.

    =(DZIŚ()-3)*1,0

  • Aby przekonwertować datę, liczbę lub wartość walutową na ciąg znaków, zwarty wartości pustym ciągiem. Na przykład następująca formuła zwraca dzisiejszą datę jako ciąg.

    =""& DZIŚ()

Aby zapewnić zwracanie określonego typu danych, można również użyć następujących funkcji:

Konwertowanie liczb rzeczywistych na liczby całkowite

Scenariusz: Wartości warunkowe i testowanie pod warunkiem, że wystąpiły błędy

Podobnie Excel język DAX oferuje funkcje, które umożliwiają testowanie wartości w danych i zwracanie innej wartości na podstawie warunku. Możesz na przykład utworzyć kolumnę obliczeniową, która etykietuje odsprzedawców jako Preferowany lub Wartość w zależności od kwoty sprzedaży w roku. Funkcje testowe wartości są również przydatne do sprawdzania zakresu lub typu wartości w celu uniknięcia nieoczekiwanych błędów danych przed podziałem obliczeń.

Tworzenie wartości na podstawie warunku

Zagnieżdżonych warunków JEŻELI można używać do testowania wartości i warunkowego generowania nowych wartości. Poniższe tematy zawierają kilka prostych przykładów przetwarzania warunkowego i wartości warunkowych:

Test na błędy w formule

W Excel kolumny obliczeniowej nie mogą się znaleźć prawidłowe wartości w jednym wierszu kolumny obliczeniowej oraz nieprawidłowe wartości w innym wierszu. Oznacza to, że jeśli w jakiejkolwiek części kolumny Power Pivot wystąpi błąd, oznacza to, że w całej kolumnie jest wyświetlany komunikat o błędzie, dlatego zawsze należy poprawić błędy formuł, które skutkować nieprawidłowymi wartościami.

Na przykład w przypadku utworzenia formuły, która dzieli przez zero, może zostać wyświetlany wynik nieskończoności lub błąd. Niektóre formuły również nie będą działać, jeśli funkcja napotka pustą wartość, gdy oczekuje wartości liczbowej. Podczas opracowywania modelu danych najlepiej jest zezwolić na pojawianie się błędów, aby można było kliknąć wiadomość i rozwiązać problem. Jednak podczas publikowania skoroszytów należy uwzględnić obsługę błędów, aby zapobiec nieoczekiwanym wartościom uniemożliwiającym obliczanie błędów.

Aby uniknąć zwracania błędów w kolumnie obliczeniowej, należy użyć kombinacji funkcji logicznych i informacyjnych w celu przetestowania błędów i zawsze zwrócenia prawidłowych wartości. W poniższych tematach podano kilka prostych przykładów tego, jak to zrobić w języku DAX:

Scenariusze: korzystanie z analizy czasowej

Funkcje analizy czasowej języka DAX zawierają funkcje, które ułatwiają pobieranie dat lub zakresów dat z danych. Następnie można używać tych dat lub zakresów dat do obliczania wartości w podobnych okresach. Funkcje analizy czasowej zawierają również funkcje, które działają ze standardowymi interwałami dat, aby umożliwić porównywanie wartości dla miesięcy, lat lub kwartałów. Można również utworzyć formułę, która porównuje wartości dla pierwszej i ostatniej daty określonego okresu.

Aby uzyskać listę wszystkich funkcji analizy czasowej, zobacz Funkcje analizy czasowej (język DAX). Aby uzyskać porady dotyczące efektywnego używania dat i godzin w analizie Power Pivot, zobacz Daty w dodatku Power Pivot.

Obliczanie sprzedaży skumulowanej

Poniższe tematy zawierają przykłady obliczania salda zamknięcia i otwierania. W tych przykładach można tworzyć salda bieżące w różnych interwałach, takich jak dni, miesiące, kwartały lub lata.

Porównywanie wartości w czasie

Poniższe tematy zawierają przykłady porównywania sum w różnych okresach. Domyślnymi okresami obsługiwanymi przez język DAX są miesiące, kwartały i lata.

Obliczanie wartości w niestandardowym zakresie dat

Zobacz poniższe tematy, aby uzyskać przykłady pobierania niestandardowych zakresów dat, na przykład pierwszych 15 dni po rozpoczęciu promocji związanej z sprzedażą.

Jeśli funkcje analizy czasowej są służące do pobierania niestandardowego zestawu dat, można użyć tego zestawu dat jako danych wejściowych dla funkcji wykonującej obliczenia w celu utworzenia niestandardowych funkcji agregowania dla różnych okresów czasu. Zobacz poniższy temat, aby dowiedzieć się, jak to zrobić:

  • Funkcja PARALLELPERIOD

    Uwaga: Jeśli nie musisz określać niestandardowego zakresu dat, ale pracujesz ze standardowymi jednostkami księgowymi, takimi jak miesiące, kwartały lub lata, zalecamy wykonanie obliczeń przy użyciu funkcji analizy czasowej przeznaczonych do tego celu, takich jak TOTALQTD, TOTALMTD, TOTALQTD itp.

Scenariusze: klasyfikacja i porównywanie wartości

Aby wyświetlić tylko n górnej liczby elementów w kolumnie lub tabeli przestawnej, dostępnych jest kilka opcji:

  • Za pomocą funkcji w programie Excel 2010 można utworzyć filtr Najwyższe. Możesz również wybrać liczbę najwyższych lub najniższych wartości w tabeli przestawnej. W pierwszej części tej sekcji opisano sposób filtrowania 10 pierwszych elementów w tabeli przestawnej. Aby uzyskać więcej informacji, zobacz Excel dokumentów.

  • Można utworzyć formułę, która dynamicznie będzie pozycji wartości, a następnie filtrować według wartości rankingu lub używać wartości rankingu jako fragmentatora. W drugiej części tej sekcji opisano, jak utworzyć tę formułę, a następnie użyć jej w fragmentatorze.

Istnieją zalety i wady każdej z tych metod.

  • Filtr Excel górnej jest łatwy w użyciu, ale filtr jest wyłącznie do celów wyświetlania. Jeśli dane źródłowe tabeli przestawnej się zmienią, musisz ręcznie odświeżyć tabelę przestawną, aby zobaczyć zmiany. Jeśli chcesz dynamicznie pracować z rankingami, możesz użyć języka DAX w celu utworzenia formuły do porównywania wartości z innymi wartościami w kolumnie.

  • Formuła języka DAX jest bardziej zaawansowana. Ponadto dodając wartość rankingu do fragmentatora, możesz po prostu kliknąć fragmentator, aby zmienić liczbę wyświetlanych najwyższych wartości. Obliczenia są jednak kosztowne i ta metoda może nie być odpowiednia w przypadku tabel z wieloma wierszami.

Wyświetlanie tylko dziesięciu najwyższych elementów w tabeli przestawnej

Aby wyświetlić najwyższe lub najniższe wartości w tabeli przestawnej

  1. W tabeli przestawnej kliknij strzałkę w dół w nagłówku Etykiety wierszy.

  2. Wybierz pozycję Filtry> 10 góry.

  3. W oknie dialogowym <nazwa kolumny 10 >wybierz kolumnę, która ma być pozycja, oraz liczbę wartości w następujący sposób:

    1. Wybierz pozycję Góra, aby wyświetlić komórki o najwyższych wartościach, lub Pozycję Dolna, aby zobaczyć komórki o najniższych wartościach.

    2. Wpisz liczbę najwyższych lub najniższych wartości, które chcesz wyświetlić. Wartość domyślna to 10.

    3. Wybierz sposób wyświetlania wartości:

Nazwa

Opis

Elementy

Zaznacz tę opcję, aby filtrować tabelę przestawną, aby wyświetlać tylko listę najwyższych lub najniższych elementów według ich wartości.

Procent

Zaznacz tę opcję, aby filtrować tabelę przestawną w celu wyświetlenia tylko tych elementów, które dodają do określonej wartości procentowej.

Suma

Zaznacz tę opcję, aby wyświetlić sumę wartości dla elementów najwyższych lub najniższych.

  1. Zaznacz kolumnę zawierającą wartości, które chcesz zmienić na pozycję.

  2. Kliknij przycisk OK.

Dynamiczne zamawianie elementów przy użyciu formuły

W poniższym temacie przedstawiono przykłady tworzenia klasyfikacji przechowywanej w kolumnie obliczeniowej przy użyciu języka DAX. Ponieważ formuły języka DAX są obliczane dynamicznie, zawsze możesz mieć pewność, że klasyfikacja jest poprawna, nawet jeśli dane źródłowe uległy zmianie. Ponadto ponieważ formuła jest używana w kolumnie obliczeniowej, można użyć klasyfikacji we fragmentatorze, a następnie wybrać 5 najwyższych 5, 10 najwyższych lub nawet 100 najwyższych wartości.

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ę!

×