모델 새로 고침 및 함수 개선

완료됨

모델 새로 고침 및 기능을 개선하는 방법을 자세히 살펴보기 전에 Power BI 데이터를 저장하는 방법을 알아야 합니다. Tableau의 하이퍼 파일과 마찬가지로 Power BI는 데이터를 열 형식 데이터베이스로 저장합니다.

행 기반 데이터베이스 및 Power BI 열 형식 데이터베이스의 스크린샷

참고

열 단위로 데이터를 저장하는 대신 열 형식 데이터베이스는 각 열을 고유 파일로 저장합니다(행 기반 데이터베이스).

데이터를 열 형식 데이터베이스로 저장하는 것은 열에 대한 행을 검색하는 작업이 훨씬 더 빠른 긴 테이블에 적합합니다. 한 열의 데이터는 항상 문자열이나 정수와 같은 형식입니다. 형식의 모든 항목은 함께 그룹화되기 때문에 더 효율적으로 압축할 수 있으므로 대량의 데이터를 분석하는 경우 성능이 향상됩니다.

참고

또한 Power BI는 이러한 열을 항목과 같이 그룹화하여 최적으로 저장하려고 합니다. 열을 그룹화한 후에는 매핑된 고유값의 사전이 생성됩니다.

모델 개선

모델의 성능을 개선하려는 경우 다음 요인을 고려해 보세요.

  • 카디널리티

  • 공백을 값으로 변경

  • 중복 필드 및 불필요한 필드 제거

  • 별모양 스키마

  • 자동 날짜/시간

  • 정수와 문자열 비교

카디널리티가 높은 필드 제거

카디널리티는 데이터베이스의 열 또는 필드에 포함된 고유 값의 수를 나타냅니다. 높은 카디널리티 값은 일반적으로 식별 번호, 메일 주소 또는 사용자 이름입니다.

높은 카디널리티를 포함하는 데이터 테이블 열의 예는 USER_ID 라는 열이 있는 사용자 테이블입니다.

첫 번째 고려 사항은 높은 카디널리티 필드를 제거하는 것입니다. 모든 행에 대한 고유 ID가 있는 경우 해당 필드를 제거합니다. 카디널리티가 높을수록 저장하는 데 더 많은 비용이 듭니다. 고유 값은 높은 비용과 같습니다.

일반적인 문제는 날짜 및 시간 필드를 조합하여 필드의 카디널리티를 늘리는 날짜/시간 필드입니다. 이 문제를 해결하려면 필드를 별도의 날짜 및 시간 필드로 분할하는 것이 좋습니다.

공백을 값으로 변경

측정값을 작성할 때 의미 있는 값을 반환할 수 없는 시나리오가 발생할 수 있습니다. 이 경우 대신 0과 같은 값을 반환하고 싶을 수가 있습니다. 성능을 위해서는 이러한 유혹에 대해 재고해봐야 합니다.

대부분의 계산 중 공백은 무시되지만 0 값은 무시되지 않습니다. 공백을 0으로 변환하면 계산에서 더 많은 행을 평가하고 많은 쿼리 결과 집합을 반환하므로 보고서 렌더링 속도가 느려집니다. 즉, 공백을 0으로 변환하면 계산 비용이 증가합니다.

중복 및 불필요한 필드 제거

테이블의 너비를 제한하려고 하기 때문에 중복 필드와 불필요한 필드를 제거하는 것이 중요합니다. 이로 인해 새로 고침 성능이 향상됩니다. 일반적으로 별모양 스키마를 만들었으므로 중복 필드를 제거할 수 있으며, 동일한 필드가 여러 번 표시될 필요는 없습니다. 불필요한 필드를 사용하면 가져올 때 사용할 필드를 식별하게 됩니다. 대규모 데이터 세트에 모든 데이터를 모으는 대신 소규모로 시작하여 확장하는 것이 가장 좋습니다.

별모양 스키마를 사용하여 고성능 모델 만들기

별모양 스키마 디자인은 성능 및 가용성이 뛰어난 Power BI 모델 개발과 관련이 있습니다. 각 Power BI 보고서는 Power BI 모델에 전송되는 쿼리를 만듭니다. 이러한 쿼리는 모델 데이터를 필터링, 그룹화 및 요약하는 데 사용됩니다. 잘 디자인된 모델을 사용할 경우 필터링, 그룹화 및 요약을 위한 테이블이 제공됩니다.

참고

별모양 스키마는 중간에 팩트 테이블이 하나 있고 팩트 테이블 주위에 연결된 여러 차원 테이블이 있는 데이터 모델링 스키마 유형입니다. 별모양 스키마는 대량 데이터 세트를 쿼리하는 데 최적화되어 있습니다.

이 잘 설계된 모델은 별모양 스키마 요구 사항에 적합합니다.

  • 차원 테이블은 필터링과 그룹화를 지원합니다

  • 팩트 테이블은 요약을 지원합니다

별모양 스키마를 통해 눈송이 스키마에서 가져오는 추가 조인의 계산 및 처리를 방지할 수 있지만,이 경우에도 플랫 테이블이 제공할 수 없는 압축된 데이터의 이점을 제공합니다.

자동 날짜/시간 해제

자동 날짜/시간은 모델에 로드된 날짜 열을 기반으로 유용한 시간 인텔리전스 보고를 지원하는 Power BI Desktop의 데이터 로드 옵션입니다. 이 옵션을 설정하면 Power BI Desktop은 데이터 집합의 모든 날짜 필드 뒤에 숨겨진 날짜/시간 테이블을 만듭니다.

이러한 모든 숨겨진 날짜/시간 테이블과 날짜 필드를 함께 사용하면 모델 크기가 현저하게 증가합니다. 모델 크기를 줄이면 특히 더 큰 데이터 세트에서 성능이 최적화됩니다. 최적의 경우 하나의 날짜 테이블을 만들고 해당 날짜 테이블에 연결합니다. 또한 숨겨진 자동 날짜/시간 테이블보다 더 많은 기능을 제공할 수 있는 고유한 날짜 테이블을 사용하여 다른 날짜 차원을 추가할 수 있습니다.

Power BI에서 자동 날짜/시간 옵션을 해제하려면 다음 절차를 따르세요.

  1. 파일 > 옵션 및 설정을 선택합니다.

  2. 옵션을 선택합니다.

    자동 날짜/시간을 해제하는 데 사용되는 옵션 및 설정의 스크린샷

  3. 전역 또는 현재 파일 섹션에서 데이터 로드 옵션을 선택합니다.

  4. 시간 인텔리전스 섹션에서 새 파일에 대한 자동 날짜/시간 상자를 선택 취소합니다.

문자열에 정수 사용

다음 두 가지 이유로 정수는 문자열보다 우수합니다.

  • 정수를 다른 정수와 일치시키는 것이 문자열을 문자열에 일치시키는 것보다 빠릅니다.

  • 문자열은 먼저 인덱스를 찾아야 하는 방식으로 저장해야 합니다. 그런 다음 값을 확인합니다.

문자열은 두 번 참조되지만 정수는 한 번만 참조됩니다.

자세한 내용은 별모양 스키마 및 Power BI에서의 중요도 이해를 참조하세요.