데이터 모델의 테이블 간 관계

참고: 사용자 언어로 가능한 한 빨리 가장 최신의 도움말 콘텐츠를 제공하고자 합니다. 이 페이지는 자동화를 통해 번역되었으며 문법 오류나 부정확한 설명을 포함할 수 있습니다. 이 목적은 콘텐츠가 사용자에게 유용하다는 것입니다. 이 페이지 하단의 정보가 도움이 되었다면 알려주세요. 쉽게 참조할 수 있는 영어 문서가 여기 있습니다.

브라우저가 비디오를 지원하지 않습니다. Microsoft Silverlight, Adobe Flash Player 또는 Internet Explorer 9를 설치하세요.

Amogn 서로 다른 테이블 관계를 만들어 데이터 분석에 더 많은 파워를 추가 합니다. 관계는 데이터가 들어 있는 두 테이블 간의 연결: 각 테이블에 한 열을 기준으로 관계입니다. 관계의 유용성은 기업에서 고객 주문 데이터를 추적한다고 가정해 보면 알 수 있습니다. 다음과 같은 구조 발생 한 테이블의 모든 데이터를 추적할 수 있습니다.

고객 ID

Name(이름)

전자 메일

할인율

주문 ID

주문 날짜

제품

수량

1

chris.ashton@contoso.com

.05

256

2010-01-07

소형 디지털

11

1

chris.ashton@contoso.com

.05

255

2010-01-03

SLR 카메라

15

2

michal.jaworski@contoso.com

.10

254

2010-01-03

저예산 무비 메이커

27

이러한 방식도 문제는 없지만 각 주문에 대한 고객 전자 메일 주소 등 많은 데이터가 중복되어 저장됩니다. 저장소가 고가는 아니지만 전자 메일 주소가 변경될 경우 관련 고객에 해당하는 모든 행을 업데이트해야 합니다. 이와 같은 문제는 데이터를 여러 테이블에 분할하고 테이블 간에 관계를 정의하면 해결할 수 있습니다. 이는 SQL Server와 같은 관계형 데이터베이스에서 사용되는 방식입니다. 예를 들어 데이터를 가져오는 데이터베이스에서 세 개의  관련 테이블을 사용해 주문 데이터를 표시할 수 있습니다.

고객

[고객 ID]

이름

전자 메일

1

chris.ashton@contoso.com

2

michal.jaworski@contoso.com

고객 할인율

[고객 ID]

할인율

1

.05

2

.10

주문

[고객 ID]

주문 ID

주문 날짜

제품

수량

1

256

2010-01-07

소형 디지털

11

1

255

2010-01-03

SLR 카메라

15

2

254

2010-01-03

저예산 무비 메이커

27

데이터 모델에 존재 관계-명시적으로 작성 하 고 동시에 여러 테이블을 가져올 때 사용자를 대신해 만듭니다 자동으로 Excel 하나 하나입니다. 파워 피벗 추가 기능을 사용하여 데이터 모델을 만들거나 관리할 수도 있습니다. 자세한 내용은 Excel에서 데이터 모델 만들기를 참고하세요.

파워 피벗 추가 기능을 사용하여 동일한 데이터베이스에서 테이블을 가져오는 경우, 파워 피벗에서는 [대괄호] 안에 있는 열을 기준으로 테이블 간의 관계를 검색하여 백그라운드에서 만드는 데이터 모델의 해당 관계를 재현할 수 있습니다. 자세한 내용은 이 문서의 관계 자동 검색 및 유추를 참고하세요. 여러 원본에서 테이블을 가져오는 경우 두 테이블 간의 관계 만들기의 설명에 따라 수동으로 관계를 만들 수 있습니다.

관계는 각 테이블에서 동일한 데이터를 포함한 열을 기준으로 형성됩니다. 예를 들어 고객 ID를 저장 하는 열이 포함 된 경우 각 주문 테이블 Customers 테이블 연결할 수 있습니다. 예제에서는 열 이름이 동일하지만 반드시 같아야 할 필요는 없습니다. 주문 테이블의 모든 행에 포함되어 있는 ID가 고객 테이블에도 저장되어 있기만 하다면 고객 ID 및 고객 번호처럼 다르게 사용할 수도 있습니다.

관계형 데이터베이스에서 여러 유형의 키 있습니다. 키가는 일반적으로 특수 속성이 있는 열입니다. 각 키의 용도 이해 피벗 테이블, 피벗 차트 또는 Power View 보고서에 데이터를 제공 하는 다중 테이블 데이터 모델을 관리할 수 있습니다.

다양 한 유형의 키 있지만 다음은 가장 중요 한 우리 목적을 여기에 대 한입니다.

  • 기본 키: Customers 테이블에서 제품 번호 같은 테이블의 행을 고유 하 게 식별 합니다.

  • 대체 키 (또는 후보 키): 이외의 고유한 기본 키 열입니다. 예를 들어 직원 테이블에는 각기 고유한 직원 ID 및 주민 등록 번호가 모두 저장될 수 있습니다.

  • 외래 키: Customers 테이블의 고객 Id 를 참조 하는 주문 테이블에서 제품 번호 같은 다른 테이블의 고유 열을 참조 하는 열입니다.

데이터 모델에서는 기본 키 또는 대체 키를 관련 열이라고 부릅니다. 테이블에 기본 키와 대체 키가 모두 있는 경우 둘 중 하나를 테이블 관계의 기준으로 사용할 수 있습니다. 외래 키는  원본 열 또는 그냥 열이라고 부릅니다. 이 예에서는 Orders 테이블 (열)에서 제품 번호Customers 테이블 (조회 열)의 제품 번호 사이 관계를 정의 합니다. 관계형 데이터베이스에서 데이터를 가져오는 경우 기본적으로 Excel에서는 한 테이블에서 외래 키를, 나머지 테이블에서 이에 상응하는 기본 키를 선택합니다. 하지만 조회 열로는 고유한 값을 갖는 열이라면 무엇이든지 사용할 수 있습니다.

고객 및 주문을 간의 관계를 일대다 관계가입니다. 고객별로 여러 개의 주문을 포함할 수 있지만 한 주문에 고객이 여러 명일 수는 없습니다. 다른 중요 한 테이블 관계는 일대일입니다. 다음 예에서는, 각 고객에 대 한 할인율을 정의 하는 CustomerDiscounts 테이블 Customers 테이블와 일대일 관계를 있습니다.

이 표에서 (고객, CustomerDiscounts주문) 세 테이블 간의 관계를 보여 줍니다.

관계

종류

조회 열

고객-고객 할인율

일대일

고객.고객 ID

고객 할인율.고객 ID

고객-주문

일대다

고객.고객 ID

주문.고객 ID

참고: 다대다 관계는 데이터 모델에서 지원되지 않습니다. 한 고객이 여러 제품을 구입할 수 있고 동일한 제품을 여러 고객이 구입할 수도 있는 제품과 고객 간의 직접적인 관계를 다대다 관계의 예로 들 수 있습니다.

모든 관계를 만든 후 Excel 새로 만든된 관계의 테이블에서 열을 사용 하는 모든 수식을 다시 계산 일반적으로 해야 합니다. 처리에 소요되는 시간은 데이터 양과 관계의 복잡성에 따라 달라집니다. 자세한 내용은 수식 다시 계산을 참조 하십시오.

데이터 모델에서는 두 테이블 간에 여러 개의 관계를 만들 수 있습니다. 정확 하 게 계산을 작성 하려면 Excel 간 한 테이블의 단일 경로 설정 합니다. 따라서 각각의 테이블 쌍에 존재하는 관계는 한 번에 하나씩만 활성화됩니다. 다른 활성은, 수식 및 쿼리에 비활성 관계를 지정할 수 있습니다.

다이어그램 뷰에서 활성 관계 실선 이며 비활성 무엇 인지 파선입니다. 예를 들어 날짜 _ 키를 세 개의 다른 테이블의 열에 FactInternetSales관련 된 열 포함 표 DimDate AdventureWorksDW2012에서: OrderDate, 식, 및 배송일합니다. DateKey 및 OrderDate 간의 관계가 활성 상태라면 달리 지정하지 않는 한 이 관계가 수식의 기본 관계로 사용됩니다.

다음 요구 사항을 충족하는 경우 관계를 만들 수 있습니다.

조건

설명

각 테이블의 고유 식별자

테이블마다 테이블의 각 행을 고유하게 식별하는 열이 하나씩 있어야 합니다. 이 열을 대개 기본 키라고 합니다.

고유 조회 열

조회 열의 데이터 값은 고유해야 합니다. 즉, 열에 중복 값이 포함될 수 없습니다. 데이터 모델에서 Null 및 빈 문자열은 빈 칸에 해당하여 별도의 데이터 값으로 인정됩니다. 따라서 조회 열에는 여러 개의 Null이 있을 수 없습니다.

호환되는 데이터 형식

원본 열 및 조회 열의 데이터 형식은 호환되어야 합니다. 데이터 형식에 대 한 자세한 내용은 데이터 모델에서 지원 되는 데이터 형식을참조 하십시오.

데이터 모델에서 복합 키로는 테이블 관계를 만들 수 없습니다. 또한 일대일 및 일대다 관계만 만들도록 제한됩니다. 다른 관계 유형은 지원되지 않습니다.

복합 키 및 조회 열

복합 키 둘 이상의 열으로 구성 됩니다. 데이터 모델 복합 키를 사용할 수 없음: 표 항상 테이블의 각 행을 고유 하 게 식별 하는 열은 하나만 있어야 합니다. 복합 키에 따라 기존 관계가 있는 테이블을 가져오면 Power Pivot의 테이블 가져오기 마법사는 모델에서 만들 수 없기 때문에 해당 관계를 무시 합니다.

기본 키 및 외래 키가 여러 개의 열로 정의된 두 테이블 간에 관계를 만들려면 먼저 이 값들을 결합하여 하나의 키 열을 만든 후 관계를 만들어야 합니다. 또는 하기 전에 데이터를 가져올 Power Pivot을 사용 하 여 데이터 모델에서 계산된 된 열을 만들어 추가 기능에서 수행할 수 있습니다.

다대다 관계

데이터 모델에서는 다대다 관계를 사용할 수 없습니다. 즉, 모델에 접합 테이블 을 추가할 수 없습니다. 하지만 DAX 함수를 사용해 다대다 관계를 모델링할 수는 있습니다.

자체 조인 및 루프

데이터 모델에서는 자체 조인이 허용되지 않습니다. 자체 조인이란 한 테이블에서 자체적으로 형성되는 재귀적 관계입니다. 자체 조인은 주로 부모-자식 계층을 정의하는 데 사용됩니다. 예를 들어 Employees 테이블을 자체 조인하면 기업의 관리망을 보여 주는 계층을 만들 수 있습니다.

Excel에서는 한 통합 문서의 여러 관계를 잇는 루프를 만들 수 없습니다. 즉, 다음과 같은 관계 집합은 금지됩니다.

테이블 1, 열 a - 테이블 2, 열 f

테이블 2, 열 f - 테이블 3, 열 n

테이블 3, 열 n - 테이블 1, 열 a

루프를 초래하는 관계를 만들려고 하면 오류가 발생합니다.

파워 피벗 추가 기능을 사용하여 데이터를 가져오는 경우 파워 피벗을 통해 Excel에서 만드는 데이터 모델에서 관계를 검색하고 새 관계를 만들 수도 있다는 이점이 있습니다.

여러 테이블을 가져오는 경우 파워 피벗에서는 테이블 간의 기존 관계를 모두 자동으로 검색합니다. 또한 피벗 테이블을 만들면 파워 피벗에서는 테이블의 데이터를 분석합니다. 정의되지는 않았지만 가능한 관계를 검색하고 이러한 관계에 포함하기에 적합한 열을 제안합니다.

검색 알고리즘은 열의 값과 메타데이터에 대한 통계 데이터를 사용하여 관계의 가능성을 유추합니다.

  • 관련된 모든 열에 있는 데이터 형식은 서로 호환되어야 합니다. 자동 검색의 경우 정수 및 텍스트 데이터 형식만 지원됩니다. 데이터 형식에 대한 자세한 내용은 데이터 모델에서 지원하는데이터 형식을 참고하세요.

  • 관계가 제대로 검색되려면 조회 열에 있는 고유한 키의 수가 관계의 "다" 쪽 테이블에 있는 값보다 많아야 합니다. 즉, 조회 테이블의 키 열에 없는 값이 관계에서 "다" 쪽에 해당하는 키 열에 있으면 안 됩니다. 예를 들어 제품과 제품 ID가 나열된 테이블(조회 테이블)이 있고 제품별 판매 정보가 나열된 판매 테이블(관계의 다 측)이 있다고 가정해 보겠습니다. 판매 레코드에 포함된 제품 ID가 제품 테이블에 없는 경우 관계를 자동으로 만들 수 없지만 이를 수동으로 만들 수는 있습니다. 이 관계를 Excel에서 검색할 수 있으려면 먼저 제품 조회 테이블에 누락된 제품의 ID를 업데이트해야 합니다.

  • "다" 쪽에 해당하는 키 열의 이름이 조회 테이블의 키 열 이름과 비슷해야 합니다. 이름은 완전히 같지 않아도 됩니다. 예를 들어 비즈니스 환경에서 자주 변형에 있는 동일한 데이터가 기본적으로 포함 된 열 이름: Emp ID, 직원 번호, 직원 ID, 상위합니다. 알고리즘을 통해 비슷한 이름을 검색하여, 비슷하거나 정확히 일치하는 이름을 가진 열에 더 높은 확률을 할당합니다. 따라서 가져오는 데이터의 열 이름을 기존 테이블의 열과 비슷한 이름으로 바꾸면 관계가 만들어질 가능성이 높아집니다. 가능한 관계가 여러 개 검색된 경우에는 관계를 만들지 않습니다.

이 정보는 일부 관계가 검색되지 않는 이유 또는 필드 이름 및 데이터 형식 등의 메타데이터를 변경해 관계 자동 검색의 성능을 향상시키는 방법을 이해하는 데 도움이 됩니다. 자세한 내용은 관계 문제 해결을 참고하세요.

명명된 집합에 대한 자동 검색

명명된 집합과 피벗 테이블의 관련 필드 간에 존재하는 관계는 자동으로 검색되지 않습니다. 대신 이러한 관계를 수동으로 만들 수 있습니다. 자동 관계 검색을 사용하려면 명명된 집합을 모두 제거하고 명명된 집합의 개별 필드를 피벗 테이블에 직접 추가해야 합니다.

관계 유추

경우에 따라서는 테이블 간의 관계가 자동으로 연결됩니다. 예를 들어 아래에 있는 처음 두 테이블 집합 간에 관계를 만들면 다른 두 테이블 간에도 관계가 존재하는 것으로 유추되어 관계가 자동으로 만들어집니다.

제품과 범주 -- 수동으로 관계 생성

범주와 하위 범주 -- 수동으로 관계 생성

제품과 하위 범주 -- 관계가 유추됨

관계가 자동으로 연결되려면 위와 같이 관계가 한 방향으로 형성되어야 합니다. 예를 들어 처음에 판매와 제품 간에 관계를 만든 후 판매와 고객 간에 관계를 만들면 관계가 유추되지 않습니다. 제품과 고객 간에는 다대다 관계가 형성되기 때문입니다.

Office 기술 확장
교육 살펴보기
새로운 기능 우선 가져오기
Office Insider 참여

이 정보가 유용한가요?

의견 주셔서 감사합니다!

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×