Funkcja PARALLELPERIOD
Zwraca tabelę zawierającą kolumnę z datami reprezentującymi okres równoległy do dat w określonej kolumnie dates, w bieżącym kontekście, gdzie daty są przesunięte o pewną liczbę interwałów do przodu lub do tyłu w czasie.
Składnia
PARALLELPERIOD(<dates>,<number_of_intervals>,<interval>)
Parametry
Termin |
Definicja |
dates |
Kolumna zawierająca daty. |
number_of_intervals |
Liczba całkowita określająca liczbę interwałów, które mają zostać dodane do dat lub od nich odjęte. |
interval |
Interwał, zgodnie z którym są przesuwane daty. Wartością argumentu interval może być jedna z następujących wartości: year, quarter, month. |
Wartość zwracana
Tabela zawierająca jedną kolumnę wartości dat.
Uwagi
Ta funkcja pobiera bieżący zestaw dat z kolumny określonej przez argument daty, przesuwa pierwszą i ostatnią datę o określoną liczbę interwałów, a następnie zwraca wszystkie kolejne daty znajdujące się między tymi dwiema przesuniętymi datami. Jeśli interwał stanowi częściowy zakres miesiąca, kwartału lub roku, wszystkie częściowe miesiące w wyniku są także wypełniane w celu wypełnienia całego interwału.
[!UWAGA]
Aby uzyskać więcej informacji dotyczących wpływu kontekstu na wyniki formuł, zobacz temat Kontekst w formułach języka DAX.
Wartością argumentu dates może być dowolna z następujących wartości:
Odwołanie do kolumny daty/godziny.
Wyrażenie tabeli zwracające pojedynczą kolumnę wartości daty/godziny.
Wyrażenie logiczne definiujące jednokolumnową tabelę zawierającą wartości daty/godziny.
[!UWAGA]
Ograniczenia dotyczące wyrażeń logicznych opisano w temacie Funkcja CALCULATE.
Jeśli liczba określona w argumencie number_of_intervals jest dodatnia, daty w kolumnie daty są przesuwane w czasie do przodu, a jeśli ta liczba jest ujemna, daty w kolumnie daty są przesuwane w czasie do tyłu.
Parametr interval to wyliczenie, a nie zestaw ciągów, więc jego wartości nie należy ujmować w cudzysłowy. Ponadto wartości year, quarter i month muszą być wpisywane w pełnej formie, gdy są używane.
Wynikowa tabela zawiera tylko daty występujące w wartościach kolumny tabeli źródłowej.
Funkcja PARALLELPERIOD jest podobna do funkcji DATEADD, z tym że funkcja PARALLELPERIOD zawsze zwraca pełne okresy na danym poziomie szczegółowości, a nie częściowe okresy, tak jak funkcja DATEADD. Na przykład jeśli wybrany zestaw dat rozpoczyna się 10 czerwca i kończy 21 czerwca tego samego roku, a użytkownik chce przesunąć ten zakres o jeden miesiąc do przodu, funkcja PARALLELPERIOD zwróci wszystkie daty z następnego miesiąca (od 1 do 31 lipca), podczas gdy funkcja DATEADD zwróci daty wyłącznie z okresu od 10 do 21 lipca.
Jeśli daty w bieżącym kontekście nie tworzą ciągłego interwału, funkcja zwraca błąd.
Tej funkcji języka DAX nie można używać w trybie zapytania bezpośredniego. Aby uzyskać więcej informacji o ograniczeniach w modelach zapytania bezpośredniego, zobacz https://go.microsoft.com/fwlink/?LinkId=219172.
Przykład
Poniższa przykładowa formuła tworzy miarę obliczającą sprzedaż w poprzednim roku w kanale sprzedaży internetowej.
Aby zobaczyć działanie tej formuły, utwórz tabelę przestawną i dodaj pola CalendarYear oraz CalendarQuarter do obszaru Etykiety wierszy w tabeli przestawnej. Następnie dodaj miarę o nazwie Sprzedaż w poprzednim roku do obszaru Wartości tabeli przestawnej, używając formuły zdefiniowanej w sekcji kodu.
[!UWAGA]
W powyższym przykładzie jest używana tabela DateTime z przykładowego skoroszytu języka DAX. Aby uzyskać więcej informacji dotyczących przykładów, zobacz temat Pobieranie przykładowych danych.
=CALCULATE(SUM(InternetSales_USD[SalesAmount_USD]), PARALLELPERIOD(DateTime[DateKey],-1,year))
Zobacz także
Odwołanie
Inne zasoby
Funkcje analizy czasowej (język DAX)