Power BI Desktop에서 DirectQuery 사용

Power BI Desktop을 사용하여 데이터 원본에 연결하면 데이터 복사본을 가져올 수 있습니다. 일부 데이터 원본의 경우 DirectQuery를 사용하여 데이터를 가져오지 않고 데이터 원본에 직접 연결할 수도 있습니다.

데이터 원본이 DirectQuery를 지원하는지 여부를 확인하려면 Power BI에도 적용되는 파워 쿼리의 커넥터 문서에 있는 사용 가능한 데이터 원본의 전체 목록을 확인하고, 지원되는 커넥터 목록에서 관심 있는 데이터 원본을 설명하는 문서를 선택한 다음, 해당 커넥터의 문서에서 지원되는 기능 섹션을 참조하세요. 데이터 원본 문서에 대한 해당 섹션에 DirectQuery가 표시되지 않으면 해당 데이터 커넥터에 대해 DirectQuery가 지원되지 않습니다.

가져오기 및 DirectQuery 연결 모드 사용의 차이점은 다음과 같습니다.

  • 가져오기: 선택한 테이블 및 열의 데이터 복사본을 Power BI Desktop으로 가져옵니다. 시각화를 만들거나 상호 작용할 때 Power BI Desktop은 해당 가져온 데이터를 사용합니다. 초기 가져오기 또는 가장 최근의 새로 고침 이후 기본적인 데이터 변경 내용을 확인하려면 데이터를 새로 고쳐 전체 의미 체계 모델을 다시 가져와야 합니다.

  • DirectQuery: Power BI Desktop으로 데이터를 가져오지 않습니다. 관계형 원본의 경우 Power BI Desktop 필드 목록에 표시할 테이블과 열을 선택할 수 있습니다. SAP BW(SAP Business Warehouse)와 같은 다차원 원본의 경우 선택한 큐브의 차원 및 측정값이 필드 목록에 나타납니다. 시각화를 만들거나 상호 작용할 때 Power BI Desktop은 기본 데이터 원본을 쿼리하므로 항상 현재 데이터를 볼 수 있습니다.

DirectQuery를 사용하여 시각화를 만들거나 상호 작용하는 경우 기본 원본을 쿼리해야 합니다. 시각화를 새로 고치는 데 필요한 시간은 기본 데이터 원본의 성능에 따라 달라집니다. 요청에 서비스를 제공하는 데 필요한 데이터가 최근에 요청된 경우 Power BI Desktop은 최신 데이터를 사용하여 시각화를 표시하는 데 필요한 시간을 줄입니다. 리본에서 새로 고침을 선택하면 모든 시각화가 최신 데이터로 새로 고쳐집니다.

몇 가지 제한 사항이 있지만 DirectQuery를 사용하는 경우 많은 데이터 모델링 및 데이터 변환을 사용할 수 있습니다. DirectQuery의 이점, 제한 사항 및 권장 사항에 대한 자세한 내용은 Power BI의 DirectQuery를 참조하세요.

DirectQuery의 이점

DirectQuery 사용의 몇 가지 이점은 다음과 같습니다.

  • DirectQuery를 사용하면 사전 집계를 사용하여 모든 데이터를 가져오는 것이 불가능한 경우 매우 큰 의미 체계 모델에 대한 시각화를 빌드할 수 있습니다.

  • DirectQuery 보고서는 항상 현재 데이터를 사용합니다. 기본 데이터 변경 내용을 확인하려면 데이터를 새로 고쳐야 하며, 큰 의미 체계 모델을 다시 가져와 데이터를 새로 고칠 수는 없습니다.

  • 1GB 의미 체계 모델 한도는 DirectQuery에 적용되지 않습니다.

DirectQuery를 사용한 연결

DirectQuery를 사용하여 데이터 원본에 연결하려면 다음을 수행합니다.

  1. Power BI Desktop 리본의 그룹에서 데이터 가져오기를 선택한 다음, DirectQuery에서 지원하는 데이터 원본(예: SQL Server)을 선택합니다.

  2. 연결 대화 상자의 데이터 연결 모드에서 DirectQuery를 선택합니다.

가져오기 및 DirectQuery 옵션, SQL Server 데이터베이스 대화 상자, Power BI Desktop

Power BI 서비스에 게시

DirectQuery 보고서를 Power BI 서비스에 게시할 수 있지만 Power BI 서비스에서 보고서를 열려면 추가 단계를 수행해야 합니다.

  • Azure SQL Database, Azure Synapse Analytics(이전 명칭 SQL Data Warehouse), Amazon Redshift 및 Snowflake Data Warehouse 이외의 DirectQuery 데이터 원본에 Power BI 서비스를 연결하려면 온-프레미스 데이터 게이트웨이를 설치하고 데이터 원본을 등록합니다.

  • Azure SQL Database, Azure Synapse, Amazon Redshift 또는 Snowflake Data Warehouse 같은 클라우드 원본에서 DirectQuery를 사용한 경우에는 온-프레미스 데이터 게이트웨이가 필요하지 않습니다. 게시된 보고서를 열려면 여전히 Power BI 서비스에 대한 자격 증명을 제공해야 합니다. 자격 증명 없이 게시된 보고서를 열거나 DirectQuery 연결을 사용하여 만든 의미 체계 모델을 탐색하면 오류가 발생합니다.

보고서를 열고 데이터를 새로 고치기 위해 자격 증명을 제공하려면 다음을 수행합니다.

  1. Power BI 서비스의 오른쪽 위에서 기어 아이콘을 선택한 다음, 설정을 선택합니다.

    Power BI 서비스 설정 드롭다운 메뉴의 스크린샷

  2. 설정 페이지에서 의미 체계 모델 탭을 선택하고 DirectQuery를 사용하는 의미 체계 모델을 선택합니다.

  3. 데이터 원본 연결에서 데이터 원본에 연결할 자격 증명을 제공합니다.

참고 항목

개인 IP 주소가 있는 Azure SQL Database에서 DirectQuery를 사용한 경우 온-프레미스 게이트웨이를 사용해야 합니다.

고려 사항 및 제한 사항

Power BI Desktop의 일부 기능은 DirectQuery 모드에서 지원되지 않거나 제한이 있습니다. Power BI 서비스의 일부 기능(예: 빠른 인사이트)도 DirectQuery를 사용하는 의미 체계 모델에는 사용할 수 없습니다. DirectQuery 사용 여부를 결정할 때는 이러한 기능 제한 사항을 고려해야 합니다. 또한 다음 사항도 고려해야 합니다.

성능 및 부하 고려 사항

DirectQuery는 모든 요청을 원본 데이터베이스로 보내므로 시각적 개체에 필요한 새로 고침 시간은 기본 원본이 결과를 반환하는 데 걸리는 시간에 따라 달라집니다. 5초 이하는 시각적 개체에 대해 요청된 데이터를 수신하기 위해 권장되는 응답 시간입니다. 30초가 넘는 새로 고침 시간은 보고서를 사용하는 사용자에게 허용할 수 없을 정도의 열악한 환경을 만듭니다. Power BI 서비스에서 4분 넘게 걸리고 사용자가 오류를 수신하는 쿼리입니다.

원본 데이터베이스에 대한 부하는 특히 보고서에서 RLS(행 수준 보안)를 사용하는 경우 게시된 보고서를 사용하는 Power BI 사용자 수에 따라 달라집니다. 여러 사용자가 공유하는 비 RLS 대시보드 타일을 새로 고치면 데이터베이스에 단일 쿼리가 전송되지만 RLS를 사용하는 대시보드 타일을 새로 고치려면 사용자당 하나의 쿼리가 필요합니다. 쿼리가 증가하면 부하가 크게 증가하고 성능에 잠재적으로 영향을 줄 수 있습니다.

100만 개의 행 제한

DirectQuery는 클라우드 데이터 원본(온-프레미스가 아닌 모든 데이터 원본)에서 반환된 데이터에 대해 100만 개의 행 제한을 정의합니다. 온-프레미스 원본은 독점 압축 알고리즘에 따라 행당 약 4MB의 정의된 페이로드로 제한되거나 전체 시각적 개체에 대해 16MB로 제한됩니다. 프리미엄 용량에서는 블로그 게시물 Power BI Premium 새 용량 설정에 설명된 대로 다른 최대 행 한도를 설정할 수 있습니다.

Power BI는 가능한 한 효율적인 쿼리를 만들지만 일부 생성된 쿼리는 기본 데이터 원본에서 너무 많은 행을 검색할 수 있습니다. 예를 들어 집계 옵션이 요약하지 않음으로 설정된 매우 높은 카디널리티 열을 포함하는 간단한 차트에서 이런 상황이 발생할 수 있습니다. 시각적 개체에는 카디널리티가 100만 개 미만인 열만 있거나 적절한 필터가 적용되어야 합니다.

행 제한은 DirectQuery가 반환하는 의미 체계 모델을 선택하는 데 사용되는 집계 또는 계산에는 적용되지 않으며 반환된 행에만 적용됩니다. 예를 들어 데이터 원본에서 실행되는 쿼리는 1,000만 개의 행을 집계할 수 있습니다. Power BI에 반환된 데이터가 100만 개 미만의 행인 경우 쿼리는 결과를 정확하게 반환할 수 있습니다. 데이터가 100만 개 이상의 행인 경우 Power BI는 관리자 설정 제한이 다른 프리미엄 용량을 제외하고 오류를 표시합니다. 외부 데이터 원본에 대한 쿼리의 결과 집합이 허용되는 최대 크기인 '1000000'개 행을 초과합니다.라는 오류 메시지가 표시됩니다.

보안 고려 사항

기본적으로 Power BI 서비스에서 게시된 보고서를 사용하는 모든 사용자는 게시 후 입력한 자격 증명을 사용하여 기본 데이터 원본에 연결됩니다. 이 상황은 가져온 데이터의 경우와 동일합니다. 기본 원본이 정의하는 보안 규칙에 관계없이 모든 사용자에게 동일한 데이터가 표시됩니다.

DirectQuery 원본을 사용하여 사용자별 보안을 구현해야 하는 경우 RLS를 사용하거나 원본에 대해 Kerberos 제한 인증을 구성해야 합니다. 모든 원본에 대해 Kerberos를 사용할 수는 없습니다. 자세한 내용은 Power BI를 사용하는 RLS(행 수준 보안)Power BI 서비스에서 온-프레미스 데이터 원본으로 Kerberos 기반 SSO 구성을 참조하세요.

기타 DirectQuery 제한 사항

DirectQuery 사용에 대한 몇 가지 다른 제한 사항은 다음과 같습니다.

  • Power Query 편집기 쿼리가 너무 복잡하면 오류가 발생합니다. 오류를 해결하려면 Power Query 편집기에서 문제가 있는 단계를 삭제하거나 가져오기 모드로 전환해야 합니다. SAP BW와 같은 다차원 원본에서는 Power Query 편집기를 사용할 수 없습니다.

  • 자동 날짜/시간 계층은 DirectQuery에서 사용할 수 없습니다. DirectQuery 모드에서는 연도, 분기, 월 또는 일별 날짜 열 드릴다운을 지원하지 않습니다.

  • 테이블 또는 행렬 시각화의 경우 DirectQuery 원본에서 500개를 초과하는 행을 반환하는 결과에 대해 125열 제한이 있습니다. 이러한 결과에는 더 많은 데이터를 가져올 수 있는 스크롤 막대가 테이블 또는 행렬에 표시됩니다. 이러한 상황에서 테이블이나 행렬의 최대 열 수는 125입니다. 단일 테이블이나 행렬에 125개를 초과하는 열을 포함해야 하는 경우 MIN, MAX, FIRST 또는 LAST를 사용하는 측정값을 만드는 것이 좋습니다. 이러한 함수는 최댓값을 계산에 포함하지 않기 때문입니다.

  • 가져오기에서 DirectQuery 모드로 변경할 수 없습니다. 필요한 모든 데이터를 가져오는 경우 DirectQuery 모드에서 가져오기 모드로 전환할 수 있습니다. 주로 DirectQuery에서 지원하지 않는 기능 집합으로 인해 다시 전환할 수는 없습니다. SAP BW와 같은 다차원 원본을 통한 DirectQuery 모델에서는 외부 측정값을 다르게 처리하므로 DirectQuery에서 가져오기로 전환할 수 없습니다.

  • SSO(Single Sign-On) 인증으로 데이터 원본의 DirectQuery 테이블을 참조하는 계산된 테이블 및 계산된 열은 Power BI 서비스에서 지원되지 않습니다.