Sdílet prostřednictvím


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, doporučuje se použít vhodnější funkci DATESINPERIOD.

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 se používá syntaxe kalendáře, použijte stejný datový typ jako primární sloupec označený kategorií Den.
EndDate Výraz data a dne. Pokud se používá syntaxe 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 je StartDateBLANK, bude StartDate nejstarší hodnotou ve sloupci dates. V případě kalendáře bude první hodnotou ve sloupci, který je označený jako den.

  • Pokud je EndDateBLANK, bude EndDate nejnovější hodnotou ve sloupci dates. V případě kalendáře se bude jednat o poslední hodnotu ve sloupci, který je označený jako den.

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

  • 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 sloupec Dates začíná od 1. července 2017 a StartDate hodnota je 1. července 2016, vrátí se vrácená tabulka od 1. července 2017.

  • Pokud vstupní datum v označeném sloupci dne nenajdete pro vstup kalendáře, bude považováno za BLANK první/poslední hodnotu.

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

Všimněte si, že vzorec používá funkci MAX. 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.

Všimněte si, že vzorec používá funkci MAX. 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. DateKey se používá jako příklad k zobrazení, že kategorie "Den" může být označena sloupcem, který není typem kalendářního data.

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