Azure Cosmos DB 데이터를 Power BI Desktop에 연결하고 실행 가능한 비즈니스 인사이트를 위한 통찰력 있는 보고서를 만드는 방법을 알아봅니다.
중요합니다
Cosmos DB용 Synapse Link는 더 이상 새 프로젝트에서 지원되지 않습니다. 이 기능은 사용하지 마세요.
현재 GA인 Microsoft Fabric용 Azure Cosmos DB 미러링을 사용하세요. 미러링에서는 동일한 제로 ETL 이점을 제공하며 Microsoft Fabric과 완전히 통합됩니다. Cosmos DB 미러링 개요에서 자세히 알아보세요.
Connecting
다음 옵션 중 하나를 사용하여 Power BI Desktop에서 Azure Cosmos DB에 연결합니다.
Microsoft Fabric의 미러링을 사용하여 Azure Cosmos DB 데이터를 Fabric OneLake에 복제합니다. 데이터베이스를 변경하면 업데이트가 Fabric OneLake로 신속하게 전송됩니다. 이 프로세스는 주 데이터베이스의 속도를 늦추거나 추가 리소스를 사용하지 않습니다. Power BI 보고서는 DirectLake 모드를 사용하여 OneLake에서 직접 데이터에 액세스합니다. 패브릭 내 Power BI의 향상된 코필로트 기능을 사용하여 생성 AI를 활용하여 주요 비즈니스 인사이트를 얻습니다.
Azure Synapse Link를 사용하여 트랜잭션 워크로드에 성능 또는 비용 영향을 주지 않고 ETL(추출-변환-로드) 파이프라인 없이 Power BI 보고서를 빌드합니다. DirectQuery 또는 가져오기 모드를 사용할 수 있습니다. DirectQuery를 사용하면 데이터를 Power BI로 가져오거나 복사하지 않고도 Azure Cosmos DB 계정의 라이브 데이터를 사용하여 대시보드/보고서를 빌드할 수 있습니다.
Power BI용 Azure Cosmos DB 커넥터를 사용하여 Azure Cosmos DB 계정에 Power BI Desktop을 연결합니다. 이 옵션은 가져오기 모드에서만 사용할 수 있으며 트랜잭션 워크로드에 할당된 RU(요청 단위)를 사용합니다.
비고
Power BI Desktop에서 만든 보고서를 게시하여 PowerBI.com. Azure Cosmos DB 데이터의 직접 추출은 PowerBI.com 수행할 수 없습니다.
필수 조건
이 Power BI 자습서의 지침을 따르기 전에 다음 리소스에 액세스할 수 있는지 확인합니다.
Azure Cosmos DB 데이터베이스 계정을 만들고 Azure Cosmos DB 컨테이너에 데이터를 추가합니다.
PowerBI.com 보고서를 공유하려면 PowerBI.com 계정이 필요합니다. Power BI 및 Power BI Pro에 대한 자세한 내용은 https://powerbi.microsoft.com/pricing을 참조하세요.
Microsoft Fabric에서 미러링을 사용하여 BI 보고서 빌드
기존 Azure Cosmos DB 컨테이너에서 미러링을 사용하도록 설정하여 이 데이터에 대한 BI 보고서 또는 대시보드를 거의 실시간으로 빌드합니다. 패브릭 및 미러링을 시작하는 지침은 Azure Cosmos DB에 대한 미러링 자습서를 참조하세요.
Azure Synapse Link를 사용하여 BI 보고서 빌드
Azure Cosmos DB 포털을 사용하여 몇 가지 선택만으로 기존 Azure Cosmos DB 컨테이너에서 Azure Synapse Link를 사용하도록 설정하고 이 데이터에 대한 BI 보고서를 빌드할 수 있습니다. Power BI는 직접 쿼리 모드를 사용하여 Azure Cosmos DB에 연결하여 트랜잭션 워크로드에 영향을 주지 않고 라이브 Azure Cosmos DB 데이터를 쿼리할 수 있습니다.
Power BI 보고서/대시보드를 빌드하려면:
Azure Portal에 로그인하고 Azure Cosmos DB 계정으로 이동합니다.
통합 섹션에서 Power BI 창을 열고 시작(Get Started)을 선택합니다.
비고
이 옵션은 현재 NoSQL 계정에 대한 API에만 사용할 수 있습니다. Synapse 서버리스 SQL 풀에서 직접 T-SQL 보기를 만들고 Azure Cosmos DB for MongoDB용 BI 대시보드를 빌드할 수 있습니다. 자세한 내용은 Power BI 및 서버리스 Synapse SQL 풀을 사용하여 Synapse를 사용하여 Azure Cosmos DB 데이터를 분석합니다.
Azure Synapse Link 사용 탭에서 이 계정 섹션에 대한 Azure Synapse Link 사용 섹션에서 계정에서 Azure Synapse Link를 사용하도록 설정할 수 있습니다. 계정에 대해 Azure Synapse Link를 이미 사용하도록 설정한 경우 이 탭을 볼 수 없습니다. 이 단계는 컨테이너에서 Azure Synapse Link를 사용하도록 설정하기 위한 필수 구성 요소입니다.
비고
Azure Synapse Link를 사용하도록 설정하면 비용이 듭니다. 자세한 내용은 Azure Synapse Link 가격 책정을 참조하세요.
다음으로 컨테이너에 대한 Azure Synapse Link 사용 섹션에서 Azure Synapse Link를 사용하도록 설정하는 데 필요한 컨테이너를 선택합니다.
일부 컨테이너에서 Azure Synapse Link를 이미 사용하도록 설정한 경우 컨테이너 이름 옆에 있는 확인란이 선택되어 있습니다. 필요에 따라 Power BI에서 시각화하려는 데이터에 따라 선택 취소할 수 있습니다.
Azure Synapse Link를 사용하도록 설정하지 않은 경우 기존 컨테이너에서 이 기능을 사용하도록 설정할 수 있습니다. 컨테이너에서 Azure Synapse Link를 사용하도록 설정하는 작업이 진행 중인 경우 해당 컨테이너의 데이터는 포함되지 않습니다. 나중에 이 탭으로 돌아와서 컨테이너가 사용하도록 설정되면 데이터를 가져와야 합니다.
컨테이너의 데이터 양에 따라 Azure Synapse Link를 사용하도록 설정하는 데 시간이 걸릴 수 있습니다. 자세한 내용은 기존 컨테이너에서 Azure Synapse Link 사용 문서를 참조하세요.
다음 화면과 같이 포털에서 진행 상황을 확인할 수 있습니다. 진행률이 100%도달하면 Azure Synapse Link를 사용하여 컨테이너를 사용할 수 있습니다.
작업 영역 선택 탭에서 Azure Synapse Analytics 작업 영역을 선택하고 다음을 선택합니다. 이 단계에서는 이전에 선택한 컨테이너에 대해 Synapse Analytics에서 T-SQL 뷰를 자동으로 만듭니다. Azure Cosmos DB를 Power BI에 연결하는 데 필요한 T-SQL 보기에 대한 자세한 내용은 보기 준비 문서를 참조하세요.
비고
Azure Cosmos DB 컨테이너 속성은 심층 중첩된 JSON 데이터를 포함하여 T-SQL 뷰의 열로 표시됩니다. 이 표현은 BI 대시보드에 대한 빠른 시작입니다. 이러한 보기는 Synapse 작업 영역/데이터베이스에서 사용할 수 있습니다. 데이터 탐색, 데이터 과학 또는 데이터 엔지니어링을 위해 Synapse 작업 영역에서 이와 똑같은 보기를 사용할 수도 있습니다. 고급 시나리오에서는 더 나은 성능을 위해 더 복잡한 보기 또는 이러한 뷰의 미세 조정을 요구할 수 있습니다. 더 많은 정보를 원하시면 문의하십시오. Synapse 서버리스 SQL 풀을 사용하는 경우 Azure Synapse Link에 대한 모범 사례를 참조하세요.
기존 작업 영역을 선택하거나 새 작업 영역을 만듭니다. 기존 작업 영역을 선택하려면 구독, 작업 영역 및 데이터베이스 세부 정보를 제공합니다. Azure Portal은 Microsoft Entra 자격 증명을 사용하여 Synapse 작업 영역에 자동으로 연결하고 T-SQL 보기를 만듭니다. 이 작업 영역에 대한 "Synapse 관리자" 권한이 있는지 확인합니다.
다음으로 .pbids 다운로드를 선택하여 Power BI 데이터 원본 파일을 다운로드합니다. 다운로드한 파일을 엽니다. 여기에는 필요한 연결 정보가 포함되어 있고 Power BI Desktop이 열립니다.
이제 Power BI Desktop에서 Azure Cosmos DB 데이터에 연결할 수 있습니다. 각 컨테이너의 데이터에 해당하는 T-SQL 보기 목록이 표시됩니다.
예를 들어 다음 화면은 차량 데이터를 보여 줍니다. 추가 분석을 위해 이 데이터를 로드하거나 로드하기 전에 변환할 수 있습니다.
이제 Azure Cosmos DB의 분석 데이터를 사용하여 보고서 빌드를 시작할 수 있습니다. 데이터가 분석 저장소에 복제되는 즉시 데이터에 대한 변경 내용은 보고서에 반영되지 않으며, 일반적으로 몇 분 후에 발생합니다.
Power BI 커넥터를 사용하여 BI 보고서 빌드
Azure Cosmos DB와 Power BI 커넥터 연결은 현재 Azure Cosmos DB for NoSQL 및 API for Gremlin 계정에서만 지원됩니다.
Power BI Desktop을 실행합니다.
시작 화면에서 직접 데이터를 얻거나, 최근 원본을 보거나, 다른 보고서를 열 수 있습니다. "X" 옵션을 선택하여 화면을 닫습니다. Power BI Desktop의 보고서 보기가 표시됩니다.
홈 리본을 선택한 다음 데이터 가져오기를 선택합니다. 데이터 가져오기 창이 나타납니다.
Azure에서 선택하고, Azure Cosmos DB(베타)를 선택한 다음, 연결을 선택합니다.
커넥터 미리 보기 페이지에서 계속을 선택합니다. Azure Cosmos DB 창이 나타납니다.
데이터를 검색하려는 Azure Cosmos DB 계정 엔드포인트 URL을 지정한 다음 확인을 선택합니다. 사용자 고유의 계정을 사용하려면 Azure Portal의 키 섹션에 있는 URI 상자에서 URL을 검색할 수 있습니다. 필요에 따라 데이터베이스 이름, 컬렉션 이름을 제공하거나 탐색기를 사용하여 데이터를 가져오는 위치를 식별하는 데이터베이스 및 컬렉션을 선택할 수도 있습니다.
이 엔드포인트에 처음으로 연결하는 경우 계정 자격 증명을 묻는 메시지가 표시됩니다.
계정이 성공적으로 연결되면 탐색기 창이 나타납니다. 탐색기는 계정 아래에 데이터베이스 목록을 표시합니다.
보고서의 데이터가 있는 데이터베이스를 선택하고 확장합니다. 이제 검색할 데이터가 들어 있는 컬렉션을 선택합니다.
미리 보기 창에는 레코드 항목 목록이 표시됩니다. 문서는 Power BI에서 레코드 형식으로 표시됩니다. 마찬가지로 문서 내의 중첩된 JSON 블록도 레코드입니다. 속성 문서를 열로 보려면 레코드 확장을 상징하는 반대 방향으로 두 개의 화살표가 있는 회색 단추를 선택합니다.
Power BI Desktop 보고서 보기에서는 데이터를 시각화하는 보고서 만들기를 시작할 수 있습니다. 필드를 보고서 캔버스로 끌어서 놓아 보고서를 만듭니다.
데이터를 새로 고치는 방법에는 계획되지 않은 방법과 예약된 두 가지 방법이 있습니다. 지금 새로 고침을 선택하여 데이터를 새로 고칩니다. 예약된 새로 고침 옵션에 대한 자세한 내용은 Power BI 설명서를 참조하세요.
알려진 문제 및 제한 사항
분할된 Azure Cosmos DB 컨테이너의 경우 쿼리에 파티션 키에 필터(
WHERE절)가 포함된 경우 집계 함수가 있는 SQL 쿼리가 Azure Cosmos DB에 전달됩니다. 집계 쿼리에 파티션 키에 대한 필터가 포함되지 않으면 커넥터가 집계를 수행합니다.커넥터는 집계 함수를 따르는 경우 또는
TOP.을LIMIT(를) 전달하지 않습니다.Azure Cosmos DB는 쿼리를 처리할 때 마지막에 TOP 작업을 처리합니다. 예를 들어 다음 쿼리에서 TOP은 하위 쿼리에 적용되고 집계 함수는 해당 결과 집합 위에 적용됩니다.
SELECT COUNT(1) FROM (SELECT TOP 4 - FROM EMP) E집계 함수에 포함된 경우
DISTINCT커넥터는 집계 함수를 Azure Cosmos DB에 전달하지 않습니다.DISTINCT집계 함수에서는 NoSQL용 Azure Cosmos DB가 지원되지 않습니다.집계 함수의 경우 SUM의
SUM인수가 문자열, 부울 또는 null인 경우 Azure Cosmos DB는 정의되지 않은 값을 반환합니다. null 값이 있는 경우 커넥터는 쿼리를 Azure Cosmos DB에 전달하여 SUM 계산 중에 null 값을 0으로 바꿉니다.집계 함수의 경우 SUM의
AVG인수 중 문자열, 부울 또는 null인 경우 Azure Cosmos DB는 결과 집합으로 정의되지 않은 값을 반환합니다. 커넥터는 이 기본 Azure Cosmos DB 동작을 재정의해야 하는 경우 AVG 집계 함수를 Azure Cosmos DB에 전달하지 않도록 설정하는 연결 속성을 노출합니다. 전달을 사용하지 않도록 설정하면AVGAzure Cosmos DB로 전달되지 않으며 커넥터는 AVG 집계 작업 자체를 수행하는 것을 처리합니다. 자세한 내용은 고급 옵션에서 "AVERAGE함수 전달 사용"을 참조하세요.큰 파티션 키가 있는 Azure Cosmos DB 컨테이너는 커넥터에서 지원되지 않습니다.
서버 제한으로 인해 다음 구문에 대해 집계 전달이 비활성화됩니다.
쿼리는 파티션 키에서 필터링되지 않거나 파티션 키 필터가 절의
OR최상위 수준에WHERE있는 다른 조건자가 있는 연산자를 사용하는 경우입니다.쿼리에 하나 이상의 파티션 키가 절의
IS NOT NULL절에WHERE나타납니다.
V2 커넥터는 배열, 개체 및 계층 구조와 같은 복잡한 데이터 형식을 지원하지 않습니다. 이러한 시나리오에서는 Azure Cosmos DB용 패브릭 미러링을 사용합니다.
V2 커넥터는 처음 1,000개 문서의 샘플링을 사용하여 유추된 스키마를 작성합니다. 이 방법은 일부 문서만 업데이트되는 스키마 진화 시나리오에는 권장되지 않습니다. 예를 들어 수천 개의 문서가 있는 컨테이너의 한 문서에 새로 추가된 속성은 유추된 스키마에 포함되지 않을 수 있습니다. 이러한 시나리오에서는 Fabric Mirroring for Azure Cosmos DB 기능을 사용하는 것이 좋습니다.
V2 커넥터는 개체 속성의 문자열이 아닌 값을 지원하지 않습니다.
서버 제한으로 인해 다음 구문에 대해 필터 전달을 사용할 수 없습니다.
- 하나 이상의 집계 열을 포함하는 쿼리가 절에서
WHERE참조되는 경우
- 하나 이상의 집계 열을 포함하는 쿼리가 절에서
관련 콘텐츠
- Power BI 시작의 Power BI에 대해 자세히 알아봅니다.
- Azure Cosmos DB 설명서 방문 페이지에서 Azure Cosmos DB에 대해 자세히 알아봅니다.