DATESBETWEEN

platí pro:Počítaný sloupecPočítaná tabulkamíravizuální

Poznámka

Tato funkce se nedoporučuje používat ve vizuálních výpočtech, protože pravděpodobně vrací nesmyslné výsledky.

Pro zadání sloupce kalendářních dat vrátí tabulku, která obsahuje sloupec kalendářních dat začínající zadaným počátečním datem a pokračuje až do zadaného koncového data.

Pro vstup kalendáře vrátí tabulku, která začíná zadaným počátečním datem a pokračuje až do zadaného koncového data. Tabulka obsahuje všechny primární označené sloupce a všechny sloupce související s časem.

Tato funkce je vhodná k předání jako filtru do CALCULATE funkce. Slouží k filtrování výrazu podle vlastního rozsahu kalendářních dat.

Poznámka

Pokud pracujete se standardními intervaly kalendářních dat, jako jsou dny, měsíce, čtvrtletí nebo roky, použijte vhodnější DATESINPERIOD funkci.

Syntax

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

Parametry

Semestr Definice
dates or calendar Sloupec obsahující kalendářní data nebo odkaz na kalendář
StartDate Výraz data a dne. Pokud používáte syntaxi kalendáře, použijte stejný datový typ jako primární sloupec označený kategorií Den.
EndDate Výraz data a dne. Pokud používáte syntaxi kalendáře, použijte stejný datový typ jako primární sloupec označený kategorií Den.

Návratová hodnota

Pro vstup sloupce kalendářního data tabulka obsahující jeden sloupec hodnot kalendářních dat.
Pro vstup kalendáře tabulka, která obsahuje všechny primární označené sloupce a všechny související sloupce času.

Poznámky

  • V nejběžnějším případě použití je dates odkazem na sloupec kalendářních dat označené tabulky kalendářních dat.

  • Pokud StartDate je BLANK, je to StartDate nejstarší hodnota ve sloupci dates . V kalendáři je to první hodnota ve sloupci, který je označený jako den.

  • Pokud EndDate je BLANK, pak EndDate je nejnovější hodnota ve sloupci dates . U kalendáře je to poslední hodnota ve sloupci, který je označený jako den.

  • Kalendářní data použitá jako StartDate a EndDate jsou inkluzivní. Pokud je například hodnota 1. července 2019, zahrne se toto datum do vrácené tabulky (za předpokladu, StartDate že datum dates ve sloupci existuje).

  • Pro vstup sloupce kalendářních dat může vrácená tabulka obsahovat pouze kalendářní data uložená ve sloupci Dates . Pokud například Dates sloupec začíná od 1. července 2017 a StartDate hodnota je 1. července 2016, vrátí se tabulka od 1. července 2017.

  • Pokud vstupní datum v označeném sloupci dne nenajdete pro vstup kalendáře, považuje se za BLANKa použije se první nebo poslední hodnota.

  • Pro vstup kalendáře použijte stejný datový typ a formát jako sloupec označený den pro počáteční a koncové datum. Pokud například sloupec používá formát RRRR-Sn-Qn-Mnn-Wnn-Dnn (např. "2014-S2-Q4-M11-W45-D03"), počáteční datum a koncové datum musí odpovídat stejnému formátu (např. "2015-S2-Q4-M11-W45-D03"). V opačném případě je chování nedefinované.

  • Tato funkce není podporována pro použití v režimu DirectQuery při použití v počítaných sloupcích nebo pravidlech zabezpečení na úrovni řádků (RLS).

Příklad

Následující definice míry Sales tabulky používá funkci DATESBETWEEN k vytvoření výpočtu (LTD). Od začátku času představuje akumulace míry v průběhu času.

Vzorec používá MAX funkci. Tato funkce vrátí nejnovější datum, které je v kontextu filtru. Funkce DATESBETWEEN tedy vrátí tabulku kalendářních dat začínající od nejstaršího data do posledního data, které se vykazuje.

Příklady v tomto článku můžete použít s ukázkovým modelem Adventure Works DW 2020 Power BI Desktopu. Pokud chcete model získat, podívejte se na DAX ukázkový model.

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

Vezměte v úvahu, že nejstarší datum uložené v tabulce Date je 1. července 2017. Když tedy sestava filtruje míru podle měsíce června 2020, vrátí funkce DATESBETWEEN rozsah kalendářních dat od 1. července 2017 do 30. června 2020.

Příklad časového měřítka na základě kalendáře

Následující definice míry Sales tabulky používá funkci DATESBETWEEN k vytvoření výpočtu (LTD). Od začátku času představuje akumulace míry v průběhu času.

Vzorec používá MAX funkci. Tato funkce vrátí maximální klíč data, který je v kontextu filtru. Funkce DATESBETWEEN tedy vrátí tabulku kalendářních dat začínající od nejstaršího data do posledního data, které se vykazuje. Jako příklad použijeme DateKey, abychom ukázali, že kategorii Den lze označit sloupcem, který není zadaný datem.

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