측정, 관계 및 시각적 요소의 성과 검토
의미 모델에 여러 개의 테이블, 복잡한 관계, 복잡한 계산, 여러 시각적 요소 또는 중복된 데이터가 있는 경우 보고서 성능이 저하될 가능성이 있습니다. 보고서의 성능이 좋지 않으면 사용자 경험도 나빠집니다.
성능을 최적화하려면 먼저 문제가 어디에서 발생하는지 파악해야 합니다. 즉, 보고서와 의미 모델의 어떤 요소가 성능 문제를 일으키는지 찾아내는 것입니다. 그런 다음 해당 문제를 해결하기 위한 조치를 취하여 성과를 개선할 수 있습니다.
보고서 성능 병목 현상 식별
보고서에서 최적의 성능을 얻으려면 빠르게 실행되는 쿼리와 측정값을 포함하는 효율적인 의미 모델을 만들어야 합니다. 좋은 기초가 갖춰지면 쿼리 계획과 종속성을 분석하고 더욱 최적화하기 위해 변경을 가함으로써 모델을 더욱 개선할 수 있습니다.
원하는 결과를 얻기 위해 가장 효율적인 방법을 사용하고 있는지 확인하려면 의미 모델에서 측정값과 쿼리를 검토해야 합니다. 가리키다를 시작해서 코드에 존재하는 병목 현상을 식별해야 합니다. 의미 모델에서 가장 느린 쿼리를 식별하면 가장 큰 병목 현상에 먼저 집중하고 다른 문제를 해결하기 위한 우선순위 목록을 만들 수 있습니다.
성능 분석
성과 분석기 를 사용하면 Power BI Desktop 사용자가 보고서 요소와 상호작용할 때 각 보고서 요소의 성과가 어떤지 확인하는 데 도움이 됩니다. 예를 들어, 사용자 상호작용으로 특정 시각적 요소가 새로 고쳐지는 데 걸리는 시간을 결정할 수 있습니다. 성능 분석기 는 성능 문제에 영향을 미치는 요소를 식별하는 데 도움이 되며, 이는 문제 해결 시에 유용할 수 있습니다.
성능 분석기를 실행하기 전에 분석(테스트)에서 가장 정확한 결과를 얻으려면 시각적 캐시와 데이터 엔진 캐시를 먼저 지운 후 시작해야 합니다.
시각적 캐시 - 시각적 자료를 로드할 때는 해당 시각적 캐시를 지우려면 해당 자료를 닫았다가 다시 열어야 합니다. Power BI Desktop 게임 중에 캐싱이 발생하는 것을 방지하려면 먼저 깔끔한 시각적 캐시로 분석을 시작해야 합니다.
명확한 시각적 캐시가 있는지 확인하려면 Power BI Desktop (.pbix) 파일에 빈 페이지를 추가한 다음 해당 페이지를 선택하고 파일을 닫기로 저장하세요. 분석하려는 Power BI Desktop (.pbix) 파일을 다시 엽니다. 빈 페이지에서 열립니다.
데이터 엔진 캐시 - 쿼리가 실행되면 결과가 캐시되므로 분석 결과가 오해의 소지가 있습니다. 시각적 결과를 다시 실행하기 전에 데이터 캐시를 지워야 합니다.
데이터 캐시를 지우려면 DAX Studio를 다시 시작하거나 Power BI Desktop 연결하여 의미 모델로 전환한 다음 캐시 지우기를 호출합니다.
캐시를 지우고 빈 페이지에서 Power BI Desktop 파일을 열었다면 보기 탭으로 가서 성능 분석기 옵션을 선택하세요.
분석 프로세스를 시작하려면 녹화 시작을 선택하고 분석하려는 보고서 페이지를 선택한 다음, 측정하려는 보고서 요소와 상호 작용하세요. 작업하는 동안 성과 분석기 창에 상호작용 결과가 표시됩니다. 작업이 끝나면 중지 버튼를 선택하세요.
자세한 내용은 성능 분석기를 사용하여 보고서 요소 성능 조사를 참조하세요.
결과 검토
성능 분석기 창에서 성능 테스트 결과를 검토할 수 있습니다. 작업을 기간 순으로 가장 긴 것부터 가장 짧은 것까지 검토하려면 기간(ms) 열 머리글 옆에 있는 정렬 아이콘을 마우스 오른쪽 버튼으로 클릭한 다음 총 시간 을 내림차순 으로 선택합니다.
각 시각적 개체의 로그 정보는 다음 작업 범주를 완료하는 데 걸린 시간(기간)을 보여줍니다.
DAX 쿼리 - 시각적 개체가 쿼리를 보내는 데 걸린 시간과 Analysis Services에서 결과를 반환하는 데 걸린 시간입니다.
시각적 표시 - 웹 이미지나 지오코딩을 검색하는 데 필요한 시간을 포함하여 시각적 정보가 화면에 렌더링되는 데 걸리는 시간입니다.
기타 - 시각적 개체가 쿼리를 준비하는 데 걸린 시간, 다른 시각적 개체가 완료될 때까지 기다리는 데 걸린 시간 또는 다른 백그라운드 처리 작업을 수행하는 데 걸린 시간입니다. 이 범주가 긴 기간을 표시하는 경우 이 기간을 줄이는 유일한 방법은 다른 시각적 요소에 대한 DAX 쿼리를 최적화하거나 보고서의 시각적 요소 수를 줄이는 것입니다.
분석 테스트 결과는 의미 모델의 동작을 이해하고 최적화해야 할 요소를 식별하는 데 도움이 됩니다. 보고서에서 각 요소의 지속 시간을 비교하여 지속 시간이 긴 요소를 식별할 수 있습니다. 해당 요소에 초점을 맞추고 보고서 페이지에 로드하는 데 시간이 오래 걸리는 이유를 조사해야 합니다.
쿼리를 더욱 자세히 분석하려면 다른 서비스에서 제공하는 무료 오픈소스 도구인 DAX Studio를 사용하면 됩니다.
문제 해결 및 성능 최적화
분석 결과를 통해 개선이 가능한 영역과 성과 최적화 기회를 파악할 수 있습니다. 의미 모델의 시각적 요소, DAX 쿼리 또는 기타 요소를 개선해야 할 수도 있습니다. 다음 정보는 주의해야 할 사항과 변경할 수 있는 사항에 대한 지침을 제공합니다.
비주얼
성능 저하의 원인이 시각적 요소에 있다고 판단되면 사용자 경험에 미치는 영향을 최소화하면서 성능을 개선할 방법을 찾아야 합니다.
보고서 페이지에 있는 시각적 요소의 수를 고려하세요. 시각적 요소가 적을수록 성과가 더 좋습니다. 시각적인 자료가 정말 필요한지, 최종 사용자에게 가치를 더해주는지 스스로에게 물어보세요. 만약 답이 '아니요'라면, 해당 시각적 효과를 제거해야 합니다. 한 페이지에 여러 시각적 요소를 사용하는 대신, 드릴스루 페이지와 보고서 페이지 도구 설명 등 추가 세부 정보를 제공하는 다른 방법을 고려하세요.
각 시각적 요소의 필드 수를 살펴보세요. 보고서에 시각적 요소가 많을수록 성능 문제가 발생할 가능성이 높아집니다. 또한 시각적 요소가 많을수록 보고서가 복잡해 보이고 명확성이 떨어질 수 있습니다. 시각적 요소의 상한은 필드(측정값 또는 열) 100개이므로, 필드가 100개가 넘는 시각적 요소는 로드 속도가 느립니다. 이 모든 데이터를 시각적으로 보여주는 것이 정말 필요한지 자문해보세요. 현재 사용 중인 필드의 수를 줄일 수도 있습니다.
DAX 쿼리
성능 분석기 창에서 결과를 살펴보면 엔진이 각 쿼리를 평가하는 데 걸린 시간(밀리초)을 확인할 수 있습니다. Power BI Desktop 좋은 시작 가리키다는 120밀리초 이상 걸리는 DAX 쿼리입니다. 이 예에서는 지속 시간이 긴 특정 쿼리를 식별합니다.
성능 분석기 는 잠재적인 문제를 강조하지만, 이를 개선하기 위해 무엇이 필요한지 알려주지는 않습니다. 완료 이 조치를 처리하는 데 왜 그렇게 오랜 시간이 걸리는지 자세히 조사하는 것이 좋습니다. DAX Studio를 사용하면 쿼리를 더욱 자세히 조사할 수 있습니다.
예를 들어, 쿼리 복사 를 선택하여 계산 수식을 클립보드에 복사한 다음 Dax Studio에 붙여넣습니다. 그런 다음 단계 계산을 더 자세히 검토할 수 있습니다. 이 예에서는 주문 수량이 5개 이상인 제품의 총 개수를 세어 보려고 합니다.
Count Customers =
CALCULATE (
DISTINCTCOUNT ( Order[ProductID] ),
FILTER ( Order, Order[OrderQty] >= 5 )
)
쿼리를 분석한 후에는 자신의 지식과 경험을 활용하여 성능 문제가 있는 곳을 파악할 수 있습니다. 다양한 DAX 함수를 사용해 성능이 향상되는지 확인할 수도 있습니다. 다음 예에서는 FILTER 함수가 KEEPFILTER 함수로 바뀌었습니다. 성능 분석기에서 테스트를 다시 실행했을 때 KEEPFILTER 기능의 결과로 지속 시간이 더 짧았습니다.
Count Customers =
CALCULATE (
DISTINCTCOUNT ( Order[ProductID] ),
KEEPFILTERS (Order[OrderQty] >= 5 )
)
이 경우 FILTER 함수를 KEEPFILTER 함수로 바꾸면 이 쿼리에 대한 평가 기간을 크게 줄일 수 있습니다. 이렇게 변경한 후 지속 시간이 개선되었는지 확인하려면 데이터 캐시를 지운 다음 성능 분석기 프로세스를 다시 실행하세요.
의미 체계 모델
측정 및 시각적 요소의 지속 시간이 낮은 값을 표시하는 경우(즉, 지속 시간이 짧은 경우) 이는 성능 문제의 원인이 아닙니다. 대신 DAX 쿼리가 높은 기간 값을 표시하는 경우 측정값이 잘못 작성되었거나 의미 모델에 문제가 발생했을 가능성이 높습니다. 이 문제는 모델의 관계, 열 또는 메타데이터로 인해 발생할 수도 있고, 다음 섹션에서 설명하는 대로 자동 날짜/시간 옵션의 상태 때문일 수도 있습니다.
관계
테이블 간의 관계를 검토하여 올바른 관계가 설정되었는지 확인해야 합니다. 관계 카디널리티 속성이 올바르게 구성되었는지 확인하세요. 예를 들어, 고유한 값을 포함하는 단측 열이 다측 열로 잘못 구성될 수 있습니다. 이 모듈의 뒷부분에서는 카디널리티가 성능에 어떤 영향을 미치는지 자세히 알아보겠습니다.
열
필요 없는 데이터 열은 가져오지 않는 것이 가장 좋습니다. Power Query Editor에서 열이 삭제되는 것을 방지하려면 데이터를 Power BI Desktop에 로드할 때 소스에서 열을 처리해야 합니다. 그러나 소스 쿼리에서 중복된 열을 제거하는 것이 불가능하거나 데이터가 이미 원시 상태로 가져온 경우에는 항상 Power Query Editor를 사용하여 각 열을 조사할 수 있습니다. 각 열이 정말 필요한지 자문하고 각 열이 의미 모델에 어떤 이점을 더해주는지 파악해 보세요. 어떤 열이 가치를 더하지 않는다고 판단되면, 의미 모델에서 해당 열을 제거해야 합니다. 예를 들어, 수천 개의 고유 행이 있는 ID 열이 있다고 가정해 보겠습니다. 이 특정 열은 관계에서 사용하지 않으므로 보고서에 사용되지 않습니다. 따라서 이 칼럼은 불필요한 것으로 간주해야 하며, 이것이 의미 모델에서 공간을 낭비하고 있다는 점을 인정해야 합니다.
불필요한 열을 제거하면 의미 모델의 크기가 줄어들고, 그 결과 파일 크기가 작아지고 새로 고침 시간도 빨라집니다. 또한, 의미 모델에는 관련 데이터만 포함되므로 전반적인 보고서 성능이 향상됩니다.
자세한 내용은 가져오기 모델링을 위한 데이터 축소 기술을 참조하세요.
메타데이터
메타데이터는 다른 데이터에 대한 정보입니다. Power BI 메타데이터에는 각 열의 이름, 데이터 유형 및 형식, 데이터베이스 스키마, 보고서 디자인, 파일이 마지막으로 수정된 날짜, 데이터 새로 고침 빈도 등과 같은 의미 모델에 대한 정보가 포함됩니다.
데이터를 로드할 때 Power BI Desktop 보고서를 작성하기 전에 해당 메타데이터를 분석하여 의미 모델과의 불일치 사항을 파악하고 데이터를 정규화하는 것이 좋습니다. 메타데이터에 대한 분석을 실행하면 의미 모델 성능이 향상됩니다. 메타데이터를 분석하는 동안 불필요한 열, 데이터 오류, 잘못된 데이터 유형, 로드되는 데이터 볼륨(트랜잭션이나 과거 데이터를 포함한 대용량 의미 모델은 로드하는 데 시간이 더 오래 걸림) 등을 식별할 수 있기 때문입니다.
당신이 사용할 수있는 Power Query 편집자 Power BI Desktop 원시 데이터의 열, 행, 값을 조사합니다. 그런 다음, 다음 스크린샷에 강조 표시된 것과 같은 사용 가능한 도구를 사용하여 필요한 변경 작업을 수행할 수 있습니다.
그만큼 Power Query 옵션은 다음과 같습니다.
불필요한 열 - 각 열의 필요성을 평가합니다. 하나 이상의 열이 보고서에 사용되지 않아 불필요한 경우 다음을 사용하여 제거해야 합니다. 열 제거 옵션에 집 탭.
불필요한 행 - 의미 모델의 처음 몇 행을 확인하여 비어 있는지 또는 보고서에 필요하지 않은 데이터가 포함되어 있는지 확인합니다. 그렇다면 다음을 사용하여 해당 행을 제거합니다. 행 제거 옵션에 집 탭.
데이터 유형 - 각 열의 데이터 유형을 평가하여 올바른지 확인합니다. 잘못된 데이터 유형을 식별한 경우 열을 선택하고 변환 탭에서 데이터 유형 을 선택한 다음 목록에서 올바른 데이터 유형을 선택하여 데이터 유형을 변경합니다.
쿼리 이름 - 쿼리 창에서 쿼리(테이블) 이름을 조사합니다. 열 머리글 이름에서와 마찬가지로, 흔하지 않거나 도움이 되지 않는 쿼리 이름은 더 분명하거나 사용자에게 더 익숙한 이름으로 변경해야 합니다. 쿼리의 이름을 바꾸려면 해당 쿼리를 마우스 오른쪽 버튼으로 클릭하고 이름 바꾸기를 선택한 다음 필요에 따라 이름을 편집하고 Enter 키를 누릅니다.
열 세부정보 - Power Query 편집기에는 열과 관련된 메타데이터를 분석하는 데 사용할 수 있는 다음의 세 가지 데이터 프리뷰 옵션이 있습니다. 다음 스크린샷에서 볼 수 있듯이, 보기 탭에서 이러한 옵션을 찾을 수 있습니다.
열 품질 - 열에 있는 항목 중 유효한 항목, 오류가 있는 항목 또는 비어 있는 항목의 비율을 결정합니다. 유효 백분율이 100이 아닌 경우 그 이유를 조사하고 오류를 수정한 다음 빈 값을 채워야 합니다.
열 분포 - 각 열의 값의 빈도와 분포를 표시합니다. 이에 대해서는 이 모듈의 뒷부분에서 더 자세히 살펴보겠습니다.
열 프로필 - 열 통계 차트와 열 분포 차트를 보여줍니다.
메모
1,000개가 넘는 행이 있는 대규모 의미 모델을 검토하고 해당 전체 의미 모델을 분석하려면 창 하단의 기본 옵션을 변경해야 합니다. 상위 1000개 행을 기반으로 한 열 프로파일링>과 전체 데이터 세트를 기반으로 한 열 프로파일링을 선택합니다.
고려해야 할 다른 메타데이터로는 파일 크기, 데이터 새로 고침 빈도 등 의미 모델 전체에 대한 정보가 있습니다. 이 메타데이터는 연관된 Power BI Desktop (.pbix) 파일에서 찾을 수 있습니다. 사용자가 로드한 데이터는 VertiPaq 스토리지 엔진에 의해 압축되어 디스크에 저장됩니다. Power BI Desktop 의미 모델의 크기는 성능에 직접적인 영향을 미칩니다. 의미 모델의 크기가 작을수록 리소스(메모리)를 덜 사용하고 보고서의 데이터 새로 고침, 계산 및 시각적 요소 렌더링이 더 빨라집니다.
자동 날짜/시간 기능
성능을 최적화할 때 고려해야 할 또 다른 사항은 자동 날짜/시간 옵션입니다. Power BI Desktop 기본적으로 이 기능은 전역적으로 활성화되어 있습니다. 즉, 특정 조건이 충족되면 각 날짜 열에 대해 숨겨진 계산된 표가 자동으로 생성됩니다. Power BI Desktop 새로운 숨겨진 테이블은 의미 모델에 이미 있는 테이블 외에 추가되었습니다.
자동 날짜/시간 옵션을 사용하면 달력 기간을 필터링하고, 그룹화하고, 세부적으로 검색할 때 시간 정보를 활용할 수 있습니다. 자동 날짜/시간 옵션은 달력 기간을 사용하거나 시간과 관련하여 단순한 모델 요구 사항이 있는 경우에만 활성화하는 것이 좋습니다.
데이터 소스에 이미 날짜 차원 테이블이 정의된 경우, 해당 테이블을 사용하여 조직 내에서 일관되게 시간을 정의해야 하며, 글로벌 자동 날짜/시간 옵션을 비활성화해야 합니다. 이 옵션을 비활성화하면 의미 모델의 크기가 줄어들고 새로 고침 시간도 단축됩니다.
이 자동 날짜/시간 옵션을 전역적으로 활성화/비활성화하여 모든 파일에 적용할 수 있습니다. Power BI Desktop 또는 현재 파일에 대한 옵션을 활성화/비활성화하여 개별 파일에만 적용할 수 있습니다.
이 자동 날짜/시간 옵션을 활성화/비활성화하려면 파일>옵션 및 설정>옵션으로 이동한 다음 전역 또는 현재 파일 페이지를 선택하세요. 어느 페이지에서든 데이터 로드 를 선택한 다음, 시간 인텔리전스 섹션에서 필요에 따라 확인란을 선택하거나 선택 취소합니다.
자동 날짜/시간 기능에 대한 개요와 일반적인 소개는 자동 날짜/시간 적용을 참조하세요 Power BI Desktop.