# 시간 인텔리전스 함수

**• DATEADD: 날짜에 지정된 기간 추가 **

1. **함수 정의** :
1. DATEADD 함수는 지정된 날짜를 기준으로 **주어진 간격만큼 날짜를 이동할 때 사용**되며, Interval에는 **DAY, MONTH, QUARTER, YEAR 중 하나를 사용**할 수 있습니다.

2. **기본 구문**:
2. DATEADD(<dates>, <number_of_intervals>, <interval>)

3. **매개 변수**:
3. •<dates>: 날짜 필드 또는 날짜 열
3. •<number_of_intervals>: 이동할 기간 (양수는 미래, 음수는 과거)
3. •<interval>: 간격(예: DAY, MONTH, QUARTER, YEAR)

4. **예시 코드**:
4. **DATEADD(Calendar[Date], -10, DAY)**
4. 위의 예시는 Calendar[Date] 열의 날짜에서 **10일 전으로 이동한 날짜**를 반환합니다.

• **DATESBETWEEN: 두 날짜 사이의 날짜 반환 /  DATESINPERIOD: 기간 내 날짜 반환**

**DATESBETWEEN 함수와 DATESINPERIOD 함수는 모두 특정 날짜 범위를 지정하는 데 사용**되지만, 그 방식과 목적에 차이가 있습니다.

• **DATESBETWEEN **

1. **함수 정의** : 
1. **시작 날짜와 끝 날짜를 명시적으로 지정**하여 **그 사이에 있는 날짜들을 반환**합니다.

2. **기본 구문** :
2. DATESBETWEEN(<날짜 열>, <시작 날짜>, <끝 날짜>)

3. **특징** : 
3. 이 함수는 **두 날짜 사이의 모든 날짜를 필터링하는 데 유용**합니다. 사용자가 직접 범위를 명시적으로 지정해야 합니다.

4. **예시 코드**:
4. **DATESBETWEEN(Sales[Date], DATE(2024, 1, 1), DATE(2024, 12, 31))**
4. 이 경우 **2024년 1월 1일부터 2024년 12월 31일까지의 모든 날짜가 반환**됩니다.

• **DATESINPERIOD **

1. **함수 정의** :
1. **지정한 날짜를 기준으로 일정 기간(연, 월, 일 등)을 계산**하여 그 범위 내의 날짜들을 반환합니다.

2. **기본 구문** : 
2. DATESINPERIOD(<날짜 열>, <기준 날짜>, <기간>, <기간 단위>)

3. **특징** :
3. **특정 날짜를 기준으로 일정 기간 전후의 날짜 범위를 동적으로 구할 때 사용**합니다. 기간 단위는 “DAY”, “MONTH”, “QUARTER”, “YEAR” 등을 사용할 수 있습니다.

4. 예시 코드:
4. **DATESINPERIOD(Sales[Date], TODAY(), -1, YEAR)**
4. 이 경우 **오늘을 기준으로 지난 1년 동안의 날짜가 반환**됩니다.
4. 

• **주요 차이점**:

1. **DATESBETWEEN: 사용자가 지정한 두 날짜 사이의 고정된 범위를 반환**합니다.

2. **DATESINPERIOD: 기준 날짜를 중심으로 동적인 기간을 설정**하여 그 범위 내의 날짜를 반환합니다.

3. **DATESBETWEEN은 명시적 범위를 지정할 때, DATESINPERIOD는 기준점에서 일정 기간을 구할 때 사용**됩니다.

• **DATESMTD: 월 기준 누적 날짜 반환**

1. **함수 정의** : 
1. DATESMTD는 **특정 달(month)의 첫날부터 특정 날짜까지의 날짜 범위를 반환하는 함수**입니다. **“MTD”는 “Month To Date”**를 의미하며, 이는 **해당 월의 누적 데이터를 계산**하는 데 자주 사용됩니다.

2. **기본 구문**:
2. DATESMTD(<dates>)

3. **매개 변수** :
3. •<dates>: 날짜 필드 또는 날짜 열을 입력해야 합니다. 이는 Calendar 테이블의 날짜 열이나 날짜와 관련된 열이 될 수 있습니다.
3. •<반환값>: **지정된 날짜가 포함된 해당 월의 첫날부터 지정된 날짜까지의 날짜 범위를 반환**하는 테이블입니다.

4. **예시 코드** :
4. 만약 **Date 테이블에서 Date 열**이 있고 **오늘이 2024년 10월 16일**이라고 가정하면, **DATESMTD('Date'[Date]) **함수는 **2024년 10월 1일부터 2024년 10월 16일까지의 날짜를 반환**합니다. 이를 통해 월간 누적 데이터를 분석할 수 있습니다.
4. **CALCULATE(SUM(Sales[SalesAmount]), DATESMTD(Calendar[Date]))**
4. 이 예제는 **2024년 10월의 월 초부터 10월 16일까지의 SalesAmount 합계를 반환** 합니다.

5. **주요 용도** :
5. **월간 누적 매출, 비용 등과 같은 월간 누적 성과 지표를 계산할 때 유**용합니다.

• **DATESQTD: 분기 기준 누적 날짜 반환**

1. **함수 정의** :
1. DATESQTD 함수는 **특정 연도의 분기 기준으로 누적된 날짜 범위를 반환**합니다. 즉, 주어진 날짜를 기준으로 해당 분기 시작일부터 그 날짜까지의 날짜들을 반환하는 함수입니다.

2. **기본 구문** :
2. DATESQTD(<dates>)

3. **매개 변수** :
3. •<dates> : 날짜를 포함한 열 또는 날짜 테이블입니다.

4. **기능 설명** :
4. •DATESQTD 함수는 “쿼터” 또는 “분기” 단위로 누적된 기간을 구하는 데 사용됩니다.
4. •예를 들어, 만약 현재 날짜가 2024년 5월 15일이라면, **DATESQTD 함수는 2024년 4월 1일부터 2024년 5월 15일까지의 날짜 범위를 반환**합니다.

5. **예시 코드** :
5. **DATESQTD('Date'[Date])**
5. 이 함수는 날짜 테이블의 Date 열을 기준으로 **현재 분기의 시작일부터 해당 날짜까지의 범위를 반환**합니다.

6. **요약** :
6. DATESQTD는 주로 누적 매출, 누적 비용 등의 계산을 위해 사용되며, **특정 분기 내 누적 데이터를 분석할 때 매우 유용**합니다.

• **DATESYTD: 연도 기준 누적 날짜 반환**

1. **함수 정의** : 
1. DATESYTD 함수는 **주어진 날짜를 기준으로 해당 연도의 시작일부터 그 날짜까지의 모든 날짜 범위를 반환**합니다. 즉, **연 단위 누적 데이터를 계산할 때 유용**한 함수입니다.

2. **기본 구문** :
2. DATESYTD(<dates>[, <year_end_date>])

3. **매개 변수** :
3. •<dates> : 날짜를 포함한 열 또는 날짜 테이블입니다.
3. •<year_end_date> (선택): **회계연도 종료일을 지정**할 수 있습니다. **기본적으로는 12월 31일**로 설정되어 있지만, 회계연도가 다른 경우 직접 지정할 수 있습니다. 형식은 “MM/DD”입니다.

4. **기능 설명** :
4. •DATESYTD 함수는 **“연도” 단위로 누적된 기간을 계산하는 데 사용**됩니다.
4. •예를 들어, **주어진 날짜가 2024년 10월 16일이라면, DATESYTD 함수는 2024년 1월 1일부터 2024년 10월 16일까지의 날짜 범위를 반환**합니다.
4. •회계 연도가 12월이 아닌 3월, 6월 등의 특정 월에 종료되는 경우, year_end_date 인수를 이용해 맞춤 설정할 수 있습니다.

5. **예시 코드** :
5. (1) **기본적인 사용**:
5. **DATESYTD('Date'[Date])**
5. 이 함수는 기본적으로 1월 1일부터 주어진 날짜까지의 범위를 반환합니다.
5. (2) **회계연도가 6월 30일에 끝나는 경우**:
5. **DATESYTD('Date'[Date], "06/30")**
5. 이 함수는 **7월 1일부터 주어진 날짜까지의 범위를 반환**하게 됩니다.
5. (3) 지정된 날짜가 아닌 열이 **2024년도 날짜들로 되어 있다면**, DATESYTD 함수는 해당 열의 각 날짜를 기준으로 그 날짜까지의 연간 누적 날짜 범위를 반환하게 됩니다. 즉, 그 열에 있는 모든 날짜에 대해 자동으로 **해당 연도의 시작(1월 1일)**부터 그 날짜까지의 날짜 범위를 계산하게 됩니다.
5. **DATESYTD('Date'[Date])**
5. 만약 'Date' 열이 2024년 1월 1일부터 2024년 12월 31일까지의 날짜를 포함하고 있다면, DATESYTD 함수는 이 열에 있는 각 날짜에 대해 연 누적 범위를 반환하게 됩니다.
5. • **2024년 1월 10일이 있으면, 그 날짜에 대해 2024년 1월 1일부터 1월 10일까지의 날짜 범위를 계산**.
5. • **2024년 6월 15일이 있으면, 2024년 1월 1일부터 6월 15일까지의 날짜 범위를 계산**.
5. • 마지막으로 **2024년 12월 31일이 있으면, 2024년 1월 1일부터 12월 31일까지의 날짜 범위를 반환**.
5. 즉, **DATESYTD는 각 날짜에 대해 해당 연도의 시작일부터 그 날짜까지 누적된 날짜 범위를 반환**하는 방식으로 동작합니다.

6. **요약** :
6. DATESYTD 함수는 주로 **연 누적 매출, 연 누적 비용 등의 누적 데이터를 계산할 때 매우 유용**하며, 특정 **연도의 시작부터 누적된 성과를 분석**하는 데 자주 사용됩니다.

**• FIRSTDATE: 첫 번째 날짜 반환**

1. **함수 정의** :
1. FIRSTDATE는 **주어진 날짜 열에서 **가장 이른 날짜(첫 번째 날짜)**를 반환하는 함수**입니다. 주로 시간 지표를 사용한 분석에서 많이 쓰입니다. 이 함수는 날짜 테이블이나 날짜 열에 적용되어, 주어진 필터 컨텍스트 내에서 가장 앞선 날짜를 찾아낼 때 유용합니다.

2. **기본 구문** :
2. FIRSTDATE(<dates>)

3. **매개 변수** : 
3. • dates: 날짜 열 또는 날짜를 포함하는 테이블 식입니다.
3. 반환값
3. • 주어진 날짜 열에서 가장 이른 날짜를 반환합니다. 필터 컨텍스트에 따라 다른 결과가 나올 수 있습니다. 만약 필터가 없으면 해당 열 전체에서 첫 번째 날짜를 반환합니다.

4. **예시 코드** :
4. **FIRSTDATE(Sales[OrderDate])**
4. 이 함수는 Sales 테이블의 **OrderDate 열에서 필터된 컨텍스트 내에서 가장 이른 주문 날짜를 반환**합니다.

5. **요약** :
5. • **필터 컨텍스트에 따라 다르게 작동**합니다. 즉, 보고서의 필터, 슬라이서 등에 의해 달라질 수 있습니다.
5. • **빈 테이블이나 날짜가 없는 경우**에는 **BLANK를 반환**합니다.

6. 사용 사례 :
6. 정 기간 내에서 **첫 거래 날짜를 알아내거나, 첫 데이터를 기준으로 계산을 해야 할 때 유용**합니다.

• **SAMEPERIODLASTYEAR: 전년도 동일 기간 반환**

1. 함수 정의 :
1. SAMEPERIODLASTYEAR 함수는 재 보고 있는 기간과 동일한 기간을 전년도에서 가져오는 역할을 합니다. 전년 대비 성과를 비교할 때 많이 사용됩니다. 

2. 기본 구문 :
2. SAMEPERIODLASTYEAR(<dates>)

3. 매개변수 :
3. <dates>: 날짜가 포함된 열입니다. 이 열은 시간/날짜 형식이어야 하며, 날짜 테이블을 기반으로 사용해야 합니다. 
3. 반환값:
3. 이 함수는 전년도 동일 기간의 날짜가 포함된 단일 열 테이블을 반환합니다. 즉, 사용자가 보고 있는 기간(예: 2024년 1월)을 기준으로 동일한 기간(2023년 1월)의 날짜 테이블을 반환합니다.

4. 예시 코드 :
4. 2024년 1월 1일부터 1월 31일까지의 매출을 보고 있는 경우, 이 함수를 사용하면 전년도인 2023년 1월 1일부터 1월 31일까지의 데이터를 가져올 수 있습니다. 
4. 매출_전년도 = CALCULATE(SUM(매출[금액]), SAMEPERIODLASTYEAR(날짜[날짜]))
4. 위 코드에서는 CALCULATE 함수와 SAMEPERIODLASTYEAR를 사용해, 매출 테이블에서 전년도 동일 기간의 매출 합계를 계산합니다. 
4. 이 함수는 내부적으로 DATEADD 함수를 사용하는 것과 동일하게 동작합니다. 즉, DATEADD(<dates>, -1, YEAR)과 같은 결과를 반환합니다. 단, SAMEPERIODLASTYEAR 함수는 연도를 기준으로만 작동하므로, 현재 선택된 날짜 범위와 전년도 동일 날짜 범위를 비교할 때 적합합니다.

5. 사용 시 주의사항 :
5. 날짜 테이블이 잘 구성되어 있어야 하며, 연속적인 날짜 값을 가져야 함.
5. SAMEPERIODLASTYEAR 함수는 년 단위로 기간을 비교합니다. 
5. 월말이 같은 경우에만 제대로 작동하므로 날짜 범위가 달라지면 원하는 결과가 나오지 않을 수 있습니다.

6. 활용 예시 :
6. 매출 데이터에서 전년도와의 비교가 필요할 때 이 함수를 사용하면, 전년 대비 매출 성장을 빠르게 파악할 수 있습니다.
6. 이 함수는 전년도와의 성과 비교나 트렌드 분석에 매우 유용하며, 특히 연도별 성장을 추적하는 데 자주 사용됩니다.

For the site tree, see the [root Markdown](https://slashpage.com/powerbicokr.md).
