다음을 통해 공유


Power BI Desktop의 날짜 테이블에 대한 디자인 지침

이 문서에서는 Power BI Desktop을 사용할 때 데이터 모델에서 날짜 테이블을 만들기 위한 디자인 모범 사례에 대해 설명합니다.

날짜 테이블은 분석에 사용되는 가장 일반적인 테이블입니다. 날짜당 한 행을 저장하며 연도, 분기 또는 월과 같은 특정 날짜 기간별로 필터링하거나 그룹화하는 일반적인 요구 사항을 지원합니다.

또한 DAX(데이터 분석 식) 시간 인텔리전스 함수를 사용하려면 데이터 모델에 하나 이상의 날짜 테이블이 있어야 합니다. 날짜 테이블은 다음 요구 사항을 충족하는 모델 테이블입니다.

  • 이 테이블에 데이터 형식 date(또는 date/time)의 열이 있어야 합니다. 이 열은 날짜 열이라고 합니다.
  • 날짜 열에는 고유한 값이 있어야 합니다.
  • 날짜 열에는 공백이 포함되면 안됩니다.
  • 날짜 열에는 누락된 날짜가 없어야 합니다.
  • 날짜 열은 전체 연도에 걸쳐 있어야 합니다. 연도는 반드시 역년(1월~12월)일 필요가 없습니다.
  • 날짜 테이블은 날짜 테이블로 표시되어 있어야 합니다.

여러 가지 방법 중 하나를 사용하여 날짜 테이블을 모델에 추가할 수 있습니다.

날짜 테이블은 데이터 모델에 추가할 가장 일관된 기능일 수 있습니다. 조직 내에서 날짜 테이블을 일관되게 정의해야 합니다. 따라서 사용하려는 기술에 관계없이 완전히 구성된 날짜 테이블을 포함하는 Power BI Desktop 템플릿을 만드는 것이 좋습니다. 조직의 모든 데이터 모델러와 템플릿을 공유합니다. 따라서 누군가가 새 데이터 모델을 개발할 때마다 일관되게 정의된 날짜 테이블로 시작할 수 있습니다.

자동 날짜/시간 사용

자동 날짜/시간 옵션은 편리하고 빠르고 사용하기 쉬운 시간 인텔리전스를 제공합니다. 보고서 작성자는 달력 기간을 기준으로 필터링, 그룹화, 드릴 다운할 때 시간 인텔리전스를 사용할 수 있습니다.

달력 기간으로 작업할 때와 시간과 관련하여 간단한 모델 요구 사항이 있는 경우에만 자동 날짜/시간 옵션을 사용하도록 설정하는 것이 좋습니다. 임시 모델을 만들거나 데이터 탐색 또는 프로파일링을 수행할 때 이 옵션을 사용할 수도 있습니다. 그러나 이 방법은 필터를 여러 테이블에 전파할 수 있는 단일 날짜 테이블 디자인을 지원하지 않습니다. 자세한 내용은 Power BI Desktop의 자동 날짜/시간 지침을 참조하세요.

파워 쿼리를 사용하여 연결

데이터 원본에 이미 날짜 테이블이 있는 경우 모델 날짜 테이블의 원본으로 사용하는 것이 좋습니다. 일반적으로 데이터 웨어하우스에 연결할 때는 날짜 차원 테이블이 이미 있어야 하므로 이 경우입니다. 이러한 방식으로 모델은 조직에서 시간 동안 단일 진실 소스를 사용합니다.

DirectQuery 모델을 개발하면서 데이터 원본에 날짜 테이블이 포함되어 있지 않은 경우 데이터 원본에 날짜 테이블을 추가하는 것이 좋습니다. 이 테이블은 날짜 테이블의 모든 모델링 요구 사항을 충족해야 합니다. 그런 다음 파워 쿼리를 사용하여 날짜 테이블에 연결할 수 있습니다. 이러한 방식으로 모델 계산은 DAX 시간 인텔리전스 기능을 사용할 수 있습니다.

파워 쿼리를 사용하여 생성

파워 쿼리를 사용하여 날짜 테이블을 생성할 수 있습니다. 자세한 내용은 Chris Webb의 블로그 항목 Generating A Date Dimension Table In Power Query를 참조하세요.

조직에 시간에 대한 데이터 웨어하우스 또는 기타 일관된 정의가 없는 경우 파워 쿼리를 사용하여 데이터 흐름을 게시하는 것이 좋습니다. 그런 다음 모든 데이터 모델러를 데이터 흐름에 연결하여 모델에 날짜 테이블을 추가합니다. 이 데이터 흐름은 조직의 시간에 대한 단일 소스가 됩니다.

날짜 테이블을 생성해야 하는 경우 DAX를 사용하는 것이 좋습니다. 이 방법이 더 쉽게 느껴질 것입니다. 또한 DAX에는 날짜 테이블 만들기 및 관리를 간소화하는 몇 가지 기본 제공 인텔리전스가 포함되어 있기 때문에 더 편리할 수 있습니다.

DAX를 사용하여 생성

CALENDAR 또는 CALENDARAUTO DAX 함수를 사용하여 계산 테이블을 만들어 모델에서 날짜 테이블을 생성할 수 있습니다. 각 함수는 날짜의 단일 열 테이블을 반환합니다. 그런 다음 계산 열을 사용하여 계산 테이블을 확장해 날짜 간격 필터링 및 그룹화 요구 사항을 지원할 수 있습니다.

  • CALENDAR 날짜 범위를 정의하려는 경우 함수를 사용합니다. 시작 날짜와 종료 날짜 두 값을 전달합니다. 이러한 값은 MIN(Sales[OrderDate]) 또는 MAX(Sales[OrderDate]) 같은 다른 DAX 함수로 정의될 수 있습니다.
  • 날짜 범위가 CALENDARAUTO 모델에 저장된 모든 날짜를 자동으로 포함하도록 하려면 이 함수를 사용합니다. 연도의 종료 월인 단일 선택적 매개 변수를 전달할 수 있습니다. 연도가 12월로 끝나는 역년인 경우 값을 전달할 필요가 없습니다. 전체 연도의 날짜가 반환되도록 하고 표시된 날짜 테이블에 대한 요구 사항을 충족하므로 유용한 기능입니다. 또한 향후 몇 년 동안 행을 사용하여 테이블을 확장할 필요가 없습니다. 데이터 새로 고침이 완료되면 테이블의 다시 계산이 트리거되기 때문입니다. 다시 계산은 새 연도의 날짜가 모델에 로드될 때 테이블의 날짜 범위를 자동으로 확장합니다.

날짜 테이블을 만드는 방법의 예제를 포함하여 계산 테이블을 만드는 방법에 대한 자세한 내용은 Power BI Desktop 모델에 계산 테이블 및 열 추가 학습 모듈을 참조하세요.

또한 DAX로 날짜를 관리하는 데 도움이 되는 무료 오픈 소스 도구를 사용하는 것이 좋습니다. 자세한 내용은 Power BI용 브라보를 참조하세요.

DAX를 사용하여 복제

데이터 모델에 이미 날짜 테이블이 있고 다른 날짜 테이블이 필요한 경우 날짜가 롤플레잉 차원 인 경우 기존 날짜 테이블을 쉽게 복제할 수 있습니다. 계산 테이블을 만들어 테이블을 복제할 수 있습니다. 계산 테이블 식은 단순히 기존 날짜 테이블의 이름입니다.

예를 들어 테이블을 복제 Date 하는 Ship Date 테이블을 만들려면 다음 계산 테이블 식을 사용합니다.

Ship Date = 'Date'

참고 항목

DAX를 사용하여 테이블을 복제하는 경우 열만 만듭니다. 복제된 테이블의 모델 속성(예: 형식 또는 설명)은 적용되지 않습니다. 또한 계층은 복제되지 않습니다.

이 문서와 관련된 보다 자세한 내용을 알아보려면 다음 리소스를 참조하세요.