관계형 데이터 원본에서 데이터 가져오기

완료됨

조직에서 영업에 관계형 데이터베이스를 사용하는 경우 내보낸 플랫 파일을 사용하는 대신 Power BI Desktop을 사용하여 데이터베이스에 직접 연결할 수 있습니다.

데이터베이스에 Power BI를 연결하면 비즈니스의 진행 상황을 모니터링하고 추세를 파악하여 판매 수량을 예측하고 예산 계획을 세울 수 있으며 성과 지표 및 대상을 설정할 수 있습니다.   Power BI Desktop은 클라우드 또는 온-프레미스에 있는 여러 관계형 데이터베이스에 연결할 수 있습니다.

시나리오

Tailwind Traders의 영업 팀은 조직의 온-프레미스 SQL Server 데이터베이스에 연결하여 판매 보고서를 작성할 수 있도록 판매 데이터를 Power BI Desktop으로 가져올 것을 귀하에게 요청했습니다.

데이터를 관계형 데이터베이스에 연결

Power BI Desktop의 데이터 가져오기 기능을 사용하여 관계형 데이터베이스에 대해 적용 가능한 옵션을 선택할 수 있습니다. 이 예제에서는 다음 스크린샷에서 보는 것처럼 SQL Server 옵션을 선택합니다.

데이터 가져오기 단추 옆에 SQL Server와 같은 빠른 액세스 데이터 원본 옵션이 있습니다.

다음 단계에서는 SQL Server 데이터베이스 창에 데이터베이스 서버 이름과 데이터베이스 이름을 입력합니다.  데이터 연결 모드의 두 가지 옵션은 다음과 같습니다. 가져오기(기본적으로 선택되며 권장됨) 및 DirectQuery. 대개의 경우, 가져오기를 선택합니다. 그 외 고급 옵션도 SQL Server 데이터베이스 창에서 사용할 수 있지만 지금은 무시해도 됩니다.

서버와 데이터베이스 이름을 추가한 후에는 사용자 이름 및 암호를 사용하여 로그인하라는 메시지가 표시됩니다. 다음의 세 가지 로그인 옵션을 사용할 수 있습니다.

  • Windows - Windows 계정(Azure Active Directory 자격 증명)을 사용합니다.

  • 데이터베이스 - 데이터베이스 자격 증명을 사용합니다.   예를 들어, SQL Server에는 때때로 사용되는 자체 로그인 및 인증 시스템이 있습니다.   데이터베이스 관리자가 데이터베이스에 대한 고유 로그인을 제공한 경우, 데이터베이스 탭에 해당 자격 증명을 입력해야 할 수도 있습니다.

  • Microsoft 계정 - Microsoft 계정 자격 증명을 사용합니다.  이 옵션은 Azure 서비스에 자주 사용됩니다.

로그인 옵션을 선택하고 사용자 이름 및 암호를 입력한 다음, 연결을 선택합니다.

가져올 데이터를 선택

데이터베이스가 Power BI Desktop에 연결된 후 탐색기 창에는 데이터 원본에서 사용할 수 있는 데이터(이 예제에서는 SQL 데이터베이스)가 표시됩니다. 하나의 테이블 또는 엔터티를 선택하여 그 내용을 미리 볼 수 있으며, Power BI 모델에 올바른 데이터가 로드되는지 확인할 수 있습니다.

Power BI Desktop으로 가져올 테이블의 확인란을 선택한 다음, 로드 또는 데이터 변환 옵션을 선택합니다.

  • 로드 - 현재 상태의 Power BI 모델에 데이터를 자동으로 로드합니다.

  • 데이터 변환 - 불필요한 행 또는 열 삭제, 데이터 그룹화, 오류 제거 및 그 외 많은 데이터 품질 작업 등의 작업을 수행할 수 있는 Microsoft Power Query에서 데이터를 엽니다.

SQL 쿼리를 작성하여 데이터 가져오기

데이터를 가져오는 또 다른 방법은 필요한 테이블과 열만 지정하는 SQL 쿼리를 작성하는 것입니다.

SQL 쿼리를 작성하려면 SQL Server 데이터베이스 창에서 서버 및 데이터베이스 이름을 입력한 다음, 고급 옵션 옆의 화살표를 선택하여 이 섹션을 확장하고 옵션을 확인합니다. SQL 문 상자에 쿼리 문을 작성한 다음, 확인을 선택합니다. 이 예제에서는 Select SQL 문을 사용하여 SALES 테이블에서 ID, NAME 및 SALESAMOUNT 열을 로드합니다.

데이터 원본 설정 변경

데이터 원본 연결을 만들고 데이터를 Power BI Desktop으로 로드한 후에는 언제든지 연결 설정을 반환하고 변경할 수 있습니다.  예를 들어 90일마다 암호를 업데이트해야 하는 경우처럼 조직 내 보안 정책 때문에 이 작업을 수행해야 하는 경우가 많습니다.  데이터 원본을 변경하거나 사용 권한을 편집하거나 또는 지울 수 있습니다.

탭에서 데이터 변환을 선택하고 데이터 원본 설정 옵션을 선택합니다.

화면에 표시되는 데이터 원본 목록에서 업데이트할 해당 데이터 원본을 선택합니다.  그런 다음, 해당 데이터 원본을 마우스 오른쪽 단추로 클릭하여 사용 가능한 업데이트 옵션을 볼 수 있으며, 또는 창의 왼쪽 아래에 있는 업데이트 옵션 단추를 사용할 수 있습니다.  필요한 업데이트 옵션을 선택하고 필요에 따라 설정을 변경한 후 변경 내용을 적용합니다.

파워 쿼리 내에서 데이터 원본 설정을 변경할 수도 있습니다. 테이블을 선택한 다음 리본에서 데이터 원본 설정 옵션을 선택합니다. 또는 화면 오른쪽에 있는 쿼리 설정 패널로 이동하여 원본 옆의 설정 아이콘을 선택하거나 원본 선택을 두 번 클릭합니다. 화면에 표시되는 창에서 서버 및 데이터베이스 세부 정보를 업데이트 한 다음, 확인을 선택합니다.

변경 작업을 수행한 후, 닫기 및 적용을 선택하여 해당 변경 내용을 데이터 원본 설정에 적용합니다.

SQL 문 작성

앞서 설명한 것처럼 SQL 쿼리를 사용하여 Power BI 모델에 데이터를 가져올 수 있습니다.  SQL은 구조적 쿼리 언어(Structured Query Language)를 가리키는 약어이며, 관계형 데이터베이스를 관리하고 다양한 데이터 관리 작업을 수행하는 데 사용되는 표준화 된 프로그래밍 언어입니다.

수년간의 판매 데이터로 구성된 큰 테이블이 데이터베이스에 있는 시나리오를 생각해 보세요. 2009년부터 시작되는 판매 데이터는 사용자가 작성하는 보고서와 관련이 없습니다. SQL 문에서 정확한 열과 행을 지정한 다음 의미 체계 모델로 가져와 필요한 데이터 집합만 로드할 수 있기 때문에 SQL이 유용한 상황입니다.  서로 다른 테이블을 조인하고 특정 계산을 실행하며 논리 문을 작성하고 SQL 쿼리에서 데이터를 필터링할 수도 있습니다.

다음 예제는 SALES 테이블에서 ID, NAME 및 SALESAMOUNT가 선택된 간단한 쿼리를 보여줍니다.

SQL 쿼리는 Select 문으로 시작하며 이 문을 사용하면 데이터베이스에서 끌어올 특정 필드를 선택할 수 있습니다.  이 예제에서는 ID, NAME 및 SALESAMOUNT 열을 로드하려고 합니다.

SELECT
ID
, NAME
, SALESAMOUNT
FROM

FROM 열에서는 데이터를 끌어올 테이블의 이름을 지정합니다. 이 경우, 테이블 이름은 SALES입니다. 다음 예제는 전체 SQL 쿼리를 나타냅니다.

SELECT
ID
, NAME
, SALESAMOUNT
FROM
SALES

SQL 쿼리를 사용하여 데이터를 가져오는 경우, 쿼리에서 와일드카드 문자(*)를 사용하지 않도록 주의하세요. SELECT 문에 와일드카드 문자(*)를 사용하는 경우, 불필요한 모든 열을 지정된 테이블에서 가져옵니다.

다음 예제에서는 와일드카드 문자를 사용하는 쿼리를 보여줍니다.

SELECT *
FROM
SALES

와일드카드 문자(*)는 Sales 테이블 내 모든 열을 가져옵니다. 이 메서드는 의미 체계 모델의 중복 데이터로 이어지므로 성능 문제가 발생하고 보고를 위해 데이터를 정규화하는 추가 단계가 필요하기 때문에 권장되지 않습니다.

모든 쿼리에는 WHERE 절도 있어야 합니다. 이 절에서는 필터링된 레코드만 필요에 따라 선택하기 위해 해당 행을 필터링합니다. 이 예제에서는 2020년 1월 1일 이후 최신 판매 데이터를 가져오려는 경우, WHERE 절을 추가합니다. 진화된 쿼리는 다음 예제와 같이 표시됩니다.

SELECT
ID
, NAME
, SALESAMOUNT
FROM
SALES
WHERE
OrderDate >= ‘1/1/2020’

Power BI에서는 이러한 작업을 직접 수행하지 않는 것이 가장 좋습니다. 그 대신, 보기에서 이와 같이 쿼리를 작성하는 것이 좋습니다. 보기는 테이블과 유사한 관계형 데이터베이스의 한 개체입니다. 보기는 행과 열을 가지며 SQL 언어 거의 모든 연산자를 포함할 수 있습니다. Power BI에서 보기를 사용하는 경우, 데이터를 검색할 때 파워 쿼리의 기능에 속하는 쿼리 정리에 참여합니다. 쿼리 정리에 관한 설명은 나중에 다루기로 하며, 다만 간단히 요약하자면 파워 쿼리는 데이터가 나중에 사용되는 방식에 따라 데이터 검색을 최적화합니다.