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

Język DAX (Data Analysis Expressions) zawiera 35 funkcji służących do agregowania i porównywania danych w czasie. W przeciwieństwie do funkcji daty i godziny w języku DAX funkcje analizy czasu nie mają nic podobnego w programie Excel. Jest to spowodowane tym, że funkcje analizy czasowej współdziałają z danymi, które stale się zmieniają, w zależności od kontekstu wybranego w tabelach przestawnych i wizualizacjach programu Power View.

Aby można było pracować z funkcjami analizy czasowej, w modelu danych musi być dołączona tabela dat. Tabela dat musi zawierać kolumnę z jednym wierszem dla każdego dnia każdego roku uwzględnioną w danych. Ta kolumna jest uważana za kolumnę Data (chociaż można ją nazwać w dowolnej chwili). Wiele funkcji analizy czasowej wymaga kolumny daty w celu obliczenia według dat wybranych jako pola w raporcie. Jeśli na przykład istnieje miara obliczająca saldo końcowe na koniec kwartału przy użyciu funkcji CLOSINGBALANCEQTR, aby dodatek Power Pivot wiedział, kiedy naprawdę jest koniec kwartału, musi odwoływać się do kolumny daty w tabeli dat, aby wiedzieć, kiedy rozpoczyna się i kończy kwartał. Aby dowiedzieć się więcej o tabelach dat, zobacz Opis i tworzenie tabel dat w dodatku Power Pivot w programie Excel.

Funkcje

Funkcje zwracające pojedynczą datę

Funkcje w tej kategorii zwracają pojedynczą datę. Wynik może być następnie używany jako argumenty dla innych funkcji.

Pierwsze dwie funkcje w tej kategorii zwracają pierwszą lub ostatnią datę w Date_Column w bieżącym kontekście. Może to być przydatne, gdy chcesz znaleźć pierwszą lub ostatnią datę transakcji określonego typu. Te funkcje przyjmują tylko jeden argument — nazwę kolumny daty w tabeli dat.

Dwie następne funkcje w tej kategorii odszukają pierwszą lub ostatnią datę (lub dowolną inną wartość kolumny), w której wyrażenie ma niepustą wartość. Jest to najczęściej stosowane w sytuacjach, takich jak zapasy, w których chcesz uzyskać ostatnią kwotę zapasów i nie wiesz, kiedy podjęto ostatni spis.

Sześć dodatkowych funkcji zwracających jedną datę to funkcje zwracające pierwszą lub ostatnią datę miesiąca, kwartału lub roku w bieżącym kontekście obliczeń.

Funkcje zwracające tabelę dat

Istnieje szesnaście funkcji analizy czasowej, które zwracają tabelę dat. Najczęściej te funkcje będą używane jako argument SetFilter do funkcji CALCULATE . Podobnie jak wszystkie funkcje analizy czasowej w języku DAX, każda funkcja przyjmuje kolumnę daty jako jeden z jej argumentów.

Pierwsze osiem funkcji w tej kategorii zaczyna się od kolumny daty w bieżącym kontekście. Jeśli na przykład używasz miary w tabeli przestawnej, na etykietach kolumn lub etykietach wierszy może mies. Efekt netto to kolumna daty, która jest filtrowana w celu uwzględnienia tylko dat dla bieżącego kontekstu. Począwszy od bieżącego kontekstu, te osiem funkcji oblicza poprzedni (lub następny) dzień, miesiąc, kwartał lub rok i zwraca te daty w postaci tabeli z jedną kolumną. Funkcje "poprzednie" działają wstecz od pierwszej daty w bieżącym kontekście, a funkcje "następne" są przenoszone do przodu od ostatniej daty w bieżącym kontekście.

Następne cztery funkcje w tej kategorii są podobne, ale zamiast obliczania poprzedniego (lub następnego) okresu obliczają zestaw dat w okresie od miesiąca do daty (od kwartału do daty, od roku do daty lub w tym samym okresie poprzedniego roku). Wszystkie te funkcje wykonują obliczenia przy użyciu ostatniej daty w bieżącym kontekście. Zwróć uwagę, że funkcja SAMEPERIODLASTYEAR wymaga, aby bieżący kontekst zawierał ciągły zestaw dat. Jeśli bieżący kontekst nie jest ciągłym zestawem dat, funkcja SAMEPERIODLASTYEAR zwraca błąd.

Cztery ostatnie funkcje w tej kategorii są nieco bardziej złożone, a także nieco bardziej zaawansowane. Te funkcje służą do przechodzenia od zestawu dat znajdujących się w bieżącym kontekście do nowego zestawu dat.

  • DATEADD (Date_Column, Number_of_Intervals, interwał)

  • DATESBETWEEN (Date_Column, Start_Date, End_Date)

  • DATESINPERIOD (Date_Column, Start_Date, Number_of_Intervals, interwał)

Funkcja DATA.ZAKR oblicza zestaw dat między określoną datą rozpoczęcia a datą końcową. Pozostałe trzy funkcje przenoszą pewną liczbę interwałów czasu z bieżącego kontekstu. Interwał może być dniem, miesiącem, kwartałem lub rokiem. Te funkcje ułatwiają przesunięcie interwału czasu w obliczeniach o dowolną z następujących metod:

  • Wstecz dwa lata

  • Wstecz jeden miesiąc

  • Przechodzenie do przodu o trzy czwarte

  • Wstecz 14 dni

  • Przechodzenie do przodu o 28 dni

W każdym przypadku należy określić tylko interwał i liczbę tych interwałów do przesunięcia. Interwał dodatni będzie przesuwał się do przodu w czasie, natomiast interwał ujemny będzie przesuwał się wstecz w czasie. Sam interwał jest określony przez słowo kluczowe DZIEŃ, MIESIĄC, KWARTAŁ lub ROK. Słowa kluczowe nie są ciągami, więc nie powinny znajdować się w cudzysłowie.

Funkcje, które oceniają wyrażenia w danym okresie

Ta kategoria funkcji ocenia wyrażenie w określonym okresie. To samo można osiągnąć za pomocą funkcji CALCULATE i innych funkcji analizy czasowej. Na przykład:

= TOTALMTD (Wyrażenie, Date_Column [, SetFilter])

jest dokładnie taki sam jak:

= CALCULATE (Wyrażenie, DATESMTD (Date_Column)[, SetFilter])

Jednak korzystanie z tych funkcji analizy czasowej jest łatwiejsze, gdy dobrze pasują do problemu, który wymaga rozwiązania:

  • TOTALMTD (Wyrażenie, Date_Column [, SetFilter])

  • TOTALQTD (wyrażenie, Date_Column [, SetFilter])

  • TOTALYTD (Expression, Date_Column [, SetFilter] [,YE_Date]) *

Również w tej kategorii znajduje się grupa funkcji, które obliczają salda otwierające i zamykające. Istnieją pewne pojęcia, które należy zrozumieć w tych konkretnych funkcjach. Po pierwsze, jak można by uznać to za oczywiste, saldo otwarcia dla każdego okresu jest takie samo jak saldo zamknięcia za poprzedni okres. Saldo zamknięcia obejmuje wszystkie dane do końca okresu, podczas gdy saldo otwierające nie zawiera żadnych danych z bieżącego okresu.

Te funkcje zawsze zwracają wartość wyrażenia obliczanego dla określonego punktu w czasie. Punktem w czasie, na którym nam zależy, jest zawsze ostatnia możliwa wartość daty w okresie kalendarzowym. Saldo otwarcia jest oparte na ostatniej dacie poprzedniego okresu, natomiast saldo zamknięcia jest oparte na ostatniej dacie bieżącego okresu. Bieżący okres jest zawsze określany na podstawie ostatniej daty w bieżącym kontekście daty.

Dodatkowe zasoby

Artykuły: Opis i tworzenie tabel dat w dodatku Power Pivot w programie Excel

Odwołanie: Odwołanie do funkcji języka DAXna Office.com

Przykłady: Modelowanie i analiza danych zysków i strat za pomocą dodatku Microsoft PowerPivot w programie Excel

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