피드로 돌아가기
Connecting Power BI to SQL Databases
Dev.toDev.to
Backend

Connecting Power BI to SQL Databases

Power BI Desktop를 로컬 PostgreSQL 및 클라우드 기반 Aiven 데이터베이스에 연결하여 정적 파일 대신 실시간 데이터를 직접 쿼리하는 분석 워크플로우 구축

Dishon Gatambia (Dd)2026년 3월 24일8beginner

Context

Power BI는 Excel 파일, CSV 내보내기, 웹 API 같은 정적 데이터 소스에 의존할 경우 데이터가 최신 상태가 아니며 대규모 운영 시 유지보수가 어렵다는 한계가 있다. 관계형 데이터베이스는 트랜잭션, 고객 기록, 재고 수준, 운영 이벤트를 정확성과 참조 무결성을 유지하며 저장하므로 권위 있는 단일 정보 출처로 기능한다.

Technical Solution

  • Npgsql PostgreSQL 커넥터 설치 후 Power BI Desktop의 "Get Data" → "PostgreSQL Database" 메뉴에서 로컬 또는 네트워크 PostgreSQL 인스턴스 연결
  • 연결 대화상자에서 Server(localhost 또는 IP/호스트명), Database(데이터베이스명)를 입력하고 Database 자격증명 타입으로 사용자명과 비밀번호 제공
  • Navigator 창에서 로드할 테이블(customers, products, sales, inventory) 선택 후 Import 모드로 로드하거나 Transform Data를 통해 Power Query Editor에서 전처리
  • SQL 쿼리를 사용하여 데이터베이스 수준에서 사전 집계: INNER JOIN으로 sales, products, customers 테이블 결합 후 category와 membership_status 기준 GROUP BY로 집계하여 컴팩트한 요약 테이블 생성
  • Power BI Desktop에서 가져온 테이블 간 관계를 별 스키마(Star Schema) 모델로 정의하고 DAX 측정값 작성

Key Takeaway

PostgreSQL의 SQL 변환 계층과 Power BI의 시각화 계층은 경쟁하는 도구가 아니라 상호 보완하는 분석 파이프라인 계층이다. SQL로 15개 원본 행 대신 사전 집계된 요약 테이블을 데이터베이스에서 생성하면 3개 테이블 로드 후 Power Query와 DAX로 조인·집계하는 것보다 더 짧고 디버깅하기 쉬운 경로를 제공한다.


Power BI 분석가가 SQL에 능숙하면 필터링, 조인, 집계, 정제를 데이터베이스 수준에서 선 처리하여 Power BI 모델을 단순하게 유지하고 변환 로직을 감사 가능하게 만들 수 있다. 예를 들어 카테고리별·회원상태별 매출 합계를 계산할 때 SQL GROUP BY로 사전 집계하면 Power BI에 로드되는 행 수를 줄이고 DAX 복잡도를 낮출 수 있다.

원문 읽기