다음을 통해 공유


DATESBETWEEN

적용 대상:계산 열계산 테이블측정값시각적 계산

메모

이 함수는 의미 없는 결과를 반환할 가능성이 있으므로 시각적 계산 사용하지 않는 것이 좋습니다.

날짜 열 입력의 경우 지정된 시작 날짜로 시작하여 지정된 종료 날짜까지 계속되는 날짜 열이 포함된 테이블을 반환합니다.

일정 입력의 경우 지정된 시작 날짜로 시작하여 지정된 종료 날짜까지 계속되는 테이블을 반환합니다. 테이블에는 모든 기본 태그가 지정된 열과 모든 시간 관련 열이 포함됩니다.

이 함수는 필터로 CALCULATE 함수에 전달하는 데 적합합니다. 식을 사용자 지정 날짜 범위별로 필터링하는 데 사용합니다.

메모

일, 월, 분기 또는 연도와 같은 표준 날짜 간격으로 작업하는 경우 더 적합한 DATESINPERIOD 함수를 사용하는 것이 좋습니다.

구문

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

매개 변수

변수 정의
dates or calendar 날짜 또는 달력 참조가 포함된 열
StartDate 날짜/일 식입니다. 달력 구문을 사용하는 경우 Day 범주에 태그가 지정된 기본 열과 동일한 데이터 형식을 사용하세요.
EndDate 날짜/일 식입니다. 달력 구문을 사용하는 경우 Day 범주에 태그가 지정된 기본 열과 동일한 데이터 형식을 사용하세요.

반환 값

날짜 열 입력의 경우 날짜 값의 단일 열을 포함하는 테이블입니다.
일정 입력의 경우 모든 기본 태그가 지정된 열과 모든 시간 관련 열이 포함된 테이블입니다.

비고

  • 가장 일반적인 사용 사례에서 dates 표시된 날짜 테이블의 날짜 열에 대한 참조입니다.

  • StartDate BLANK경우 StartDatedates 열에서 가장 빠른 값이 됩니다. 달력의 경우 일로 태그가 지정된 열의 첫 번째 값이 됩니다.

  • EndDate BLANK경우 EndDatedates 열의 최신 값이 됩니다. 달력의 경우 날짜로 태그가 지정된 열의 마지막 값이 됩니다.

  • StartDateEndDate 사용되는 날짜는 포함됩니다. 예를 들어 StartDate 값이 2019년 7월 1일인 경우 해당 날짜가 반환된 테이블에 포함됩니다(dates 열에 날짜 제공).

  • 날짜 열 입력의 경우 반환된 테이블에는 열에 Dates 저장된 날짜만 포함될 수 있습니다. 예를 들어 Dates 열이 2017년 7월 1일부터 시작되고 StartDate 값이 2016년 7월 1일인 경우 반환된 테이블은 2017년 7월 1일부터 시작됩니다.

  • 달력 입력의 경우 태그가 지정된 일 열에서 입력 날짜를 찾을 수 없으면 해당 날짜가 해당 날짜로 BLANK 처리되므로 첫 번째/마지막 값이 사용됩니다.

  • 일정 입력의 경우 시작 날짜 및 종료 날짜에 대해 태그가 지정된 날짜 열과 동일한 데이터 형식 및 형식을 사용합니다. 예를 들어 열이 YYYY-Sn-Qn-Mnn-Wnn-Dnn 형식을 사용하는 경우(예: "2014-S2-Q4-M11-W45-D03" ) 시작 날짜와 종료 날짜는 동일한 형식(예: "2015-S2-Q4-M11-W45-D03")을 따라야 합니다. 그렇지 않으면 동작이 정의되지 않습니다.

  • 이 함수는 계산 열 또는 RLS(행 수준 보안) 규칙에서 사용되는 경우 DirectQuery 모드에서 사용할 수 없습니다.

예제

다음 Sales 테이블 측정값 정의는 DATESBETWEEN 함수를 사용하여 LTD(수명별) 계산을 생성합니다. 수명-날짜는 시간 시작 이후 시간에 따른 측정값의 누적을 나타냅니다.

수식은 MAX 함수를 사용합니다. 이 함수는 필터 컨텍스트에 있는 최신 날짜를 반환합니다. 따라서 DATESBETWEEN 함수는 가장 이른 날짜부터 보고되는 최신 날짜까지의 날짜 테이블을 반환합니다.

이 문서의 예제는 Adventure Works DW 2020 Power BI Desktop 모델 샘플과 함께 사용할 수 있습니다. 모델을 얻으려면 DAX 샘플 모델참조하세요.

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

날짜 테이블에 저장된 가장 빠른 날짜는 2017년 7월 1일입니다. 따라서 보고서에서 2020년 6월까지 측정값을 필터링하면 DATESBETWEEN 함수는 2017년 7월 1일부터 2020년 6월 30일까지 날짜 범위를 반환합니다.

일정 기반 시간 인텔리전스의 예

다음 Sales 테이블 측정값 정의는 DATESBETWEEN 함수를 사용하여 LTD(수명별) 계산을 생성합니다. 수명-날짜는 시간 시작 이후 시간에 따른 측정값의 누적을 나타냅니다.

수식은 MAX 함수를 사용합니다. 이 함수는 필터 컨텍스트에 있는 최대 datekey를 반환합니다. 따라서 DATESBETWEEN 함수는 가장 이른 날짜부터 보고되는 최신 날짜까지의 날짜 테이블을 반환합니다. DateKey는 날짜 형식이 아닌 열로 "Day" 범주에 태그를 지정할 수 있음을 보여 주는 예제로 사용됩니다.

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