Udostępnij przez


DATESBETWEEN

Dotyczy:kolumna obliczeniowatabela obliczeniowaMiarawizualizacji

Nuta

Ta funkcja jest zniechęcana do użycia w obliczeniach wizualizacji , ponieważ prawdopodobnie zwraca wyniki bez znaczenia.

W przypadku danych wejściowych w kolumnie daty zwraca tabelę zawierającą kolumnę dat rozpoczynającą się od określonej daty rozpoczęcia i trwa do określonej daty zakończenia.

W przypadku danych wejściowych kalendarza zwraca tabelę rozpoczynającą się od określonej daty rozpoczęcia i trwa do określonej daty zakończenia. Tabela zawiera wszystkie podstawowe otagowane kolumny i wszystkie powiązane kolumny czasu.

Ta funkcja jest odpowiednia do przekazania jako filtru do funkcji CALCULATE. Służy do filtrowania wyrażenia według niestandardowego zakresu dat.

Nuta

Jeśli pracujesz z standardowymi interwałami dat, takimi jak dni, miesiące, kwartały lub lata, zaleca się użycie lepiej dopasowanej funkcji DATESINPERIOD.

Składnia

DATESBETWEEN(<dates> or <calendar>, <StartDate>, <EndDate>)

Parametry

Termin Definicja
dates or calendar Kolumna zawierająca daty lub odwołanie do kalendarza
StartDate Wyrażenie daty/dnia. Jeśli jest używana składnia kalendarza, użyj tego samego typu danych co kolumna podstawowa otagowana do kategorii Dzień.
EndDate Wyrażenie daty/dnia. Jeśli jest używana składnia kalendarza, użyj tego samego typu danych co kolumna podstawowa otagowana do kategorii Dzień.

Wartość zwracana

W przypadku danych wejściowych kolumn daty tabela zawierająca jedną kolumnę wartości daty.
W przypadku danych wejściowych kalendarza tabela zawierająca wszystkie podstawowe oznaczone kolumny i wszystkie powiązane kolumny czasu.

Uwagi

  • W najczęstszym przypadku użycia dates jest odwołaniem do kolumny dat oznaczonej tabeli dat.

  • Jeśli StartDate jest BLANK, StartDate będzie najwcześniejszą wartością w kolumnie dates. W przypadku kalendarza będzie to pierwsza wartość w kolumnie oznaczonej jako dzień.

  • Jeśli EndDate jest BLANK, EndDate będzie najnowszą wartością w kolumnie dates. W przypadku kalendarza będzie to ostatnia wartość w kolumnie oznaczonej jako dzień.

  • Daty używane jako StartDate i EndDate są włącznie. Na przykład jeśli wartość StartDate to 1 lipca 2019 r., ta data zostanie uwzględniona w zwróconej tabeli (pod warunkiem, że data istnieje w kolumnie dates).

  • W przypadku danych wejściowych kolumn daty zwracana tabela może zawierać tylko daty przechowywane w kolumnie Dates . Na przykład jeśli kolumna Dates rozpoczyna się od 1 lipca 2017 r., a wartość StartDate to 1 lipca 2016 r., zwrócona tabela rozpocznie się od 1 lipca 2017 r.

  • W przypadku danych wejściowych kalendarza, jeśli data wejściowa nie zostanie znaleziona w kolumnie dnia oznaczonego tagiem, będzie traktowana jako BLANK i w związku z tym zostanie użyta pierwsza/ostatnia wartość.

  • W przypadku danych wejściowych kalendarza użyj tego samego typu danych i formatu co otagowany kolumna dnia dla daty rozpoczęcia i daty zakończenia. Jeśli na przykład kolumna używa formatu RRRR-Sn-Qn-Mnn-Wnn-Dnn (np. "2014-S2-Q4-M11-W45-D03"), data rozpoczęcia i data zakończenia muszą być zgodne z tym samym formatem (np. "2015-S2-Q4-M11-W45-D03"). W przeciwnym razie zachowanie jest niezdefiniowane.

  • Ta funkcja nie jest obsługiwana w trybie DirectQuery w przypadku użycia w kolumnach obliczeniowych lub regułach zabezpieczeń na poziomie wiersza.

Przykład

Poniższa definicja miary tabeli Sales używa funkcji DATESBETWEEN do utworzenia bieżącego obliczenia (LTD). Okres istnienia oznacza akumulację miary w czasie od samego początku czasu.

Zwróć uwagę, że formuła używa funkcji MAX. Ta funkcja zwraca najnowszą datę w kontekście filtru. Dlatego funkcja DATESBETWEEN zwraca tabelę dat rozpoczynającą się od najwcześniejszej daty do najnowszej daty zgłaszanej.

Przykłady w tym artykule mogą być używane z przykładowym modelem Adventure Works DW 2020 Power BI Desktop. Aby uzyskać model, zobacz DAX przykładowy model.

Customers LTD =
CALCULATE (
    DISTINCTCOUNT ( Sales[CustomerKey] ),
    DATESBETWEEN ( 'Date'[Date], BLANK (), MAX ( 'Date'[Date] ) )
)

Należy wziąć pod uwagę, że najwcześniejsza data przechowywana w tabeli Date to 1 lipca 2017 r. Dlatego gdy raport filtruje miarę według miesiąca czerwca 2020 r., funkcja DATESBETWEEN zwraca zakres dat z 1 lipca 2017 r. do 30 czerwca 2020 r.

Przykład analizy czasowej opartej na kalendarzu

Poniższa definicja miary tabeli Sales używa funkcji DATESBETWEEN do utworzenia bieżącego obliczenia (LTD). Okres istnienia oznacza akumulację miary w czasie od samego początku czasu.

Zwróć uwagę, że formuła używa funkcji MAX. Ta funkcja zwraca maksymalny klucz daty w kontekście filtru. Dlatego funkcja DATESBETWEEN zwraca tabelę dat rozpoczynającą się od najwcześniejszej daty do najnowszej daty zgłaszanej. Wartość DateKey jest używana jako przykład, aby pokazać, że kategorię "Dzień" można oznaczyć kolumną, która nie jest typowana datą

Customers LTD =
CALCULATE (
    DISTINCTCOUNT ( Sales[CustomerKey] ),
    DATESBETWEEN ( FiscalCalendar, BLANK (), MAX ( 'Date'[DateKey] ) )
)