Mối quan hệ giữa các bảng trong Mô hình Dữ liệu

Lưu ý:  Chúng tôi muốn cung cấp cho bạn nội dung trợ giúp mới nhất ở chính ngôn ngữ của bạn, nhanh nhất có thể. Trang này được dịch tự động nên có thể chứa các lỗi về ngữ pháp hoặc nội dung không chính xác. Mục đích của chúng tôi là khiến nội dung này trở nên hữu ích với bạn. Vui lòng cho chúng tôi biết ở cuối trang này rằng thông tin có hữu ích với bạn không? Dưới đây là bài viết bằng Tiếng Anh để bạn tham khảo dễ hơn.

Trình duyệt của bạn không hỗ trợ video. Hãy cài đặt Microsoft Silverlight, Adobe Flash Player hoặc Internet Explorer 9.
Video: Mối quan hệ trong Power View và Power Pivot

Video: Mối quan hệ trong Power View và Power Pivot

Video: Mối quan hệ trong Power View và Power Pivot

Video: Mối quan hệ trong Power View và Power Pivot

Thêm nhiều power để phân tích dữ liệu của bạn bằng cách tạo mối quan hệ amogn bảng khác nhau. Mối quan hệ là kết nối giữa hai bảng có chứa dữ liệu: một cột trong mỗi bảng là cơ sở cho mối quan hệ. Để xem tại sao mối quan hệ sẽ hữu ích, giả sử bạn theo dõi dữ liệu cho khách hàng đơn hàng trong doanh nghiệp của bạn. Bạn có thể theo dõi tất cả dữ liệu trong một bảng duy nhất có cấu trúc như thế này:

CustomerID

Name

EMail

DiscountRate

OrderID

OrderDate

Product

Quantity

1

Ashton

chris.ashton@contoso.com

,05

256

07-01-2010

Kỹ thuật số Nhỏ gọn

11

1

Ashton

chris.ashton@contoso.com

,05

255

03-01-2010

Camera SLR

15

2

Jaworski

michal.jaworski@contoso.com

,10

254

03-01-2010

Budget Movie-Maker

27

Các phương pháp này có thể hiệu quả, nhưng nó cũng lưu trữ nhiều dữ liệu dư thừa, chẳng hạn như địa chỉ email của khách hàng cho mọi đơn hàng. Việc lưu trữ không gây tốn kém nhiều, nhưng nếu địa chỉ email thay đổi, bạn phải đảm bảo cập nhật mọi hàng cho khách hàng đó. Một giải pháp cho vấn đề này là tách dữ liệu thành nhiều bảng và định nghĩa mối quan hệ giữa những bảng này. Đây là phương pháp được dùng trong cơ sở dữ liệu quan hệ như SQL Server. Ví dụ, cơ sở dữ liệu mà bạn nhập vào có thể biểu diễn dữ liệu đơn hàng bằng ba bảng quan hệ:

Customers

[CustomerID]

Name

Email

1

Ashton

chris.ashton@contoso.com

2

Jaworski

michal.jaworski@contoso.com

CustomerDiscounts

[CustomerID]

DiscountRate

1

,05

2

,10

Orders

[CustomerID]

OrderID

OrderDate

Product

Quantity

1

256

07-01-2010

Kỹ thuật số Nhỏ gọn

11

1

255

03-01-2010

Camera SLR

15

2

254

03-01-2010

Budget Movie-Maker

27

Mối quan hệ tồn tại trong mô hình dữ liệu — bạn tạo một cách rõ ràng, hoặc một mà Excel tự động tạo ra thay mặt bạn khi bạn đồng thời nhập nhiều bảng. Bạn cũng có thể dùng Power Pivot bổ trợ để tạo hoặc quản lý mô hình. Hãy xem tạo một mô hình dữ liệu trong Excel để biết chi tiết.

Nếu bạn dùng bổ trợ Power Pivot để nhập các bảng từ cùng một cơ sở dữ liệu, Power Pivot có thể phát hiện mối quan hệ giữa các bảng dựa trên các cột có trong [ngoặc vuông] và bạn có thể tạo lại những mối quan hệ này trong Mô hình Dữ liệu được xây dựng ngầm. Để biết thêm thông tin, hãy xem Tự động Phát hiện và Suy luận Mối quan hệ trong bài viết này. Nếu bạn nhập các bảng từ nhiều nguồn, bạn có thể tạo các mối quan hệ thủ công như được mô tả trong Tạo mối quan hệ giữa hai bảng.

Mối quan hệ dựa trên cột trong mỗi bảng có chứa cùng dữ liệu. Ví dụ, bạn có thể liên kết bảng khách hàng với một bảng đơn hàng nếu mỗi chứa cột có lưu trữ một ID khách hàng. Trong ví dụ, tên cột giống nhau, nhưng đây là không yêu cầu. Một thể có ID khách hàng và CustomerNumber khác, miễn là tất cả các hàng trong bảng đơn hàng chứa ID cũng lưu trữ trong bảng khách hàng.

Trong một cơ sở dữ liệu quan hệ, không có một số loại phím. Phím thông thường là cột với thuộc tính đặc biệt. Tìm hiểu về mục đích của mỗi khóa có thể giúp bạn quản lý mô hình dữ liệu nhiều bảng, cung cấp dữ liệu vào báo cáo PivotTable, PivotChart, hoặc Power View.

Mặc dù không có nhiều loại phím, đây là quan trọng nhất cho mục đích của chúng tôi ở đây:

  • Khóa chính: dạng duy nhất một hàng trong bảng, chẳng hạn như CustomerID trong bảng khách hàng .

  • Khóa thay thế ứng viên phím (hoặc): cột không phải là khóa chính là duy nhất. Ví dụ, một bảng nhân viên có thể lưu trữ một ID nhân viên và một số an sinh xã hội, cả hai đều được duy nhất.

  • Khóa ngoại: cột tham chiếu đến một cột duy nhất trong một bảng khác, chẳng hạn như CustomerID trong bảng đơn hàng , tham chiếu đến CustomerID trong bảng khách hàng.

Trong mô hình dữ liệu, khóa chính hoặc thay thế khóa được được gọi là cột liên quan. Nếu một bảng có cả một khóa chính và thay thế, bạn có thể sử dụng lần lượt một làm cơ sở của mối quan hệ bảng. Khóa ngoại được gọi là cột nguồn hoặc chỉ cột. Trong ví dụ của chúng tôi, mối quan hệ nào được xác định giữa CustomerID trong bảng đơn hàng (cột) và ID khách hàng trong bảng khách hàng (cột tra cứu). Nếu bạn nhập dữ liệu từ cơ sở dữ liệu quan hệ, theo mặc định Excel chọn khóa ngoại từ một bảng và khóa chính tương ứng từ bảng khác. Tuy nhiên, bạn có thể dùng bất kỳ cột nào có các giá trị duy nhất cho cột tra cứu.

Mối quan hệ giữa một khách hàng và một thứ tự là quan hệ một-nhiều. Mỗi khách hàng có thể có nhiều đơn hàng, nhưng một thứ tự không thể có nhiều khách hàng. Quan hệ bảng quan trọng khác là một đối một. Trong ví dụ của chúng tôi ở đây, bảng CustomerDiscounts , xác định một mức chiết khấu duy nhất cho mỗi khách hàng, có mối quan hệ một-một bảng khách hàng.

Bảng này hiển thị mối quan hệ giữa ba bảng(khách hàng, CustomerDiscountsđơn hàng):

Mối quan hệ

Loại

Cột Tra cứu

Cột

Customers-CustomerDiscounts

một với một

Customers.CustomerID

CustomerDiscounts.CustomerID

Khách hàng-Đơn hàng

một với nhiều

Customers.CustomerID

Orders.CustomerID

Lưu ý:  Mô hình Dữ liệu không hỗ trợ mối quan hệ nhiều-đến-nhiều. Một ví dụ về mối quan hệ nhiều-đến-nhiều là mối quan hệ trực tiếp giữa Products và Customers, ở đó một khách hàng có thể mua nhiều sản phẩm và cùng một sản phẩm có thể có nhiều khách hàng mua.

Sau khi đã tạo bất kỳ mối quan hệ, Excel thường phải tính toán lại bất kỳ công thức sử dụng cột từ bảng trong mối quan hệ mới được tạo. Xử lý có thể mất một thời gian, tùy thuộc vào giá trị dữ liệu và độ phức tạp của mối quan hệ. Để biết thêm chi tiết, hãy xem Tính toán lại công thức.

Mô hình dữ liệu có thể có nhiều mối quan hệ giữa hai bảng. Xây dựng các phép tính chính xác, Excel cần một đường dẫn duy nhất từ một bảng đến tiếp theo. Do đó, chỉ có một mối quan hệ giữa từng cặp bảng đang hoạt động tại một thời điểm. Mặc dù những người khác sẽ không hoạt động, bạn có thể chỉ định một mối quan hệ không hoạt động trong công thức và truy vấn.

Trong dạng xem sơ đồ, mối quan hệ hiện hoạt là đường liền và những người không hoạt động là đường nét đứt. Ví dụ, trong AdventureWorksDW2012, bảng DimDate chứa một cột DateKey, có liên quan đến ba cột khác nhau trong bảng FactInternetSales: OrderDate, vícột ShipDate. Nếu mối quan hệ hiện hoạt nằm trong khoảng DateKey và OrderDate, đó là quan hệ mặc định trong công thức, trừ khi bạn xác định nếu không.

Có thể tạo mối quan hệ khi đáp ứng các yêu cầu sau đây:

Tiêu chí

Mô tả

Mã định danh Duy nhất cho Từng Bảng

Mỗi bảng phải có một cột đơn định danh duy nhất từng hàng trong bảng. Cột này thường được gọi là khóa chính.

Cột Tra cứu Duy nhất

Các giá trị dữ liệu trong cột tra cứu phải mang tính duy nhất. Nói cách khác, cột đó không được chứa các mục trùng lặp. Trong Mô hình Dữ liệu, chuỗi null và rỗng tương đương với chuỗi trống, đó là giá trị dữ liệu riêng biệt. Điều này có nghĩa là bạn không thể có nhiều giá trị null trong cột tra cứu.

Loại Dữ liệu Tương thích

Các kiểu dữ liệu trong cột nguồn và cột tra cứu phải tương thích. Để biết thêm thông tin về các kiểu dữ liệu, hãy xem kiểu dữ liệu được hỗ trợ trong mô hình dữ liệu.

Trong Mô hình Dữ liệu, bạn không thể tạo mối quan hệ bảng nếu là khóa kết hợp. Bạn cũng bị giới hạn chỉ tạo các mối quan hệ một-một và một-đến-nhiều. Các kiểu mối quan hệ khác không được hỗ trợ.

Cột tra cứu và khoá tổng hợp

Khoá phức hợp gồm nhiều cột. Mô hình dữ liệu không thể sử dụng khoá tổng hợp: bảng phải luôn có chính xác một cột dạng duy nhất mỗi hàng trong bảng. Nếu bạn nhập các bảng có một mối quan hệ hiện có, dựa trên một khoá phức hợp, hướng dẫn nhập bảng trong Power Pivot sẽ bỏ qua mối quan hệ vì nó không được tạo trong mô hình.

Để tạo một mối quan hệ giữa hai bảng có nhiều cột, xác định các phím chính và ngoại, trước tiên kết hợp các giá trị để tạo cột khoá đơn trước khi tạo mối quan hệ. Bạn có thể làm điều này trước khi bạn nhập dữ liệu, hoặc bằng cách tạo một cột được tính toán trong mô hình dữ liệu bằng cách dùng Power Pivot bổ trợ.

Mối quan hệ nhiều-nhiều

Mô hình dữ liệu không thể có mối quan hệ nhiều-nhiều. Bạn không thể chỉ cần thêm rẽ bảng trong mô hình. Tuy nhiên, bạn có thể sử dụng hàm DAX cho mối quan hệ nhiều-nhiều mô hình.

Tự kết hợp và vòng lặp

Mô hình Dữ liệu không cho phép mối quan hệ tự liên kết. Mối quan hệ tự liên kết là mối quan hệ lặp giữa một bảng và chính bảng này. Mối quan hệ tự liên kết thường được dùng để định nghĩa cấu trúc phân cấp mẹ-con. Ví dụ, bạn có thể liên kết bảng Employees với chính bảng này để tạo ra cấu trúc phân cấp để hiển thị chuỗi quản lý tại công ty.

Excel không cho phép tạo vòng lặp giữa các mối quan hệ trong sổ làm việc. Nói cách khác, không được phép có các tập hợp mối quan hệ sau.

Bảng 1, cột a đến Bảng 2, cột f    

Bảng 2, cột f đến Bảng 3, cột n    

Bảng 3, cột n đến Bảng 1, cột a    

Nếu bạn cố tạo một mối quan hệ sẽ dẫn đến việc tạo một vòng lặp, thao tác này sẽ tạo ra lỗi.

Một trong những lợi ích đối với việc nhập dữ liệu bằng bổ trợ Power Pivot là đôi khi Power Pivot có thể phát hiện ra các mối quan hệ và tạo mối quan hệ mới trong Mô hình Dữ liệu mà nó tạo trong Excel.

Khi bạn nhập nhiều bảng, Power Pivot tự động phát hiện bất kỳ mối quan hệ hiện có nào giữa các bảng. Đồng thời khi bạn tạo PivotTable, Power Pivot phân tích dữ liệu trong các bảng. Nó phát hiện các mối quan hệ có thể có chưa được xác định và đề xuất các cột thích hợp để đưa vào các mối quan hệ đó.

Thuật toán phát hiện sử dụng dữ liệu thống kê về giá trị và siêu dữ liệu của các cột để đưa ra các suy luận về xác suất của các mối quan hệ.

  • Các kiểu dữ liệu trong tất cả các cột liên quan phải tương thích với nhau. Tính năng phát hiện tự động chỉ hỗ trợ các kiểu dữ liệu số nguyên và văn bản. Để biết thêm thông tin về các kiểu dữ liệu, xem Các kiểu dữ liệu được hỗ trợ trong Mô hình Dữ liệu.

  • Để phát hiện thành công mối quan hệ, số khóa duy nhất trong cột tra cứu phải lớn hơn các giá trị trong bảng ở bên nhiều. Nói cách khác, cột khóa ở bên nhiều của mối quan hệ không được chứa bất kỳ giá trị nào không có trong cột khóa của bảng tra cứu. Ví dụ, giả sử bạn có bảng liệt kê các sản phẩm cùng với ID của chúng (bảng tra cứu) và bảng bán hàng liệt kê các giao dịch bán hàng cho từng sản phẩm (bên nhiều của mối quan hệ). Nếu các bản ghi bán hàng của bạn chứa ID của một sản phẩm không có ID tương ứng trong bảng Products, chương trình không thể tạo tự động mối quan hệ, nhưng bạn có thể tạo mối quan hệ theo cách thủ công. Để Excel phát hiện được mối quan hệ, trước tiên bạn cần cập nhật bảng tra cứu Product với ID của các sản phẩm bị thiếu.

  • Hãy đảm bảo tên cột khóa ở bên nhiều tương tự như tên cột khóa trong bảng tra cứu. Tên không cần là chính xác giống nhau. Ví dụ, trong một thiết đặt doanh nghiệp, bạn thường có các biến thể trên tên cột có chứa thiết phải cùng dữ liệu: Emp ID, ID nhân viên, ID nhân viên, EMP_ID, v.v.. Các thuật toán phát hiện ra tương tự như tên và gán một xác suất cao hơn cho các cột này có tên tương tự hoặc trùng khớp chính xác. Do đó, để tăng xác suất của việc tạo một mối quan hệ, bạn có thể tìm cách đổi tên cột trong dữ liệu mà bạn nhập vào điều gì đó tương tự như cột trong bảng hiện có của bạn. Nếu Excel tìm thấy nhiều mối quan hệ có thể xảy ra, thì nó không tạo mối quan hệ.

Thông tin này có thể giúp bạn hiểu vì sao không phải tất cả các mối quan hệ đều được phát hiện và những thay đổi với siêu dữ liệu--như tên trường và kiểu dữ liệu--có thể cải thiện kết quả phát hiện tự động mối quan hệ như thế nào. Để biết thêm thông tin, xem Khắc phục sự cố cho Mối quan hệ.

Tự động phát hiện cho tập hợp đã đặt tên

Các mối quan hệ không được phát hiện tự động giữa các Bộ có Tên và các trường liên quan trong PivotTable. Bạn có thể tạo các mối quan hệ này theo cách thủ công. Nếu bạn muốn dùng tính năng phát hiện tự động mối quan hệ, hãy loại bỏ từng Bộ có Tên và thêm trực tiếp các trường riêng rẽ từ Bộ có Tên vào PivotTable.

Suy luận mối quan hệ

Trong một số trường hợp, mối quan hệ giữa các bảng được ghép nối tự động. Ví dụ, nếu bạn tạo một mối quan hệ giữa hai bộ bảng dưới đây, một mối quan hệ được suy luận là tồn tại giữa hai bảng khác và mối quan hệ được thiết lập tự động.

Sản phẩm và Thể loại -- được tạo theo cách thủ công

Sản phẩm và Thể loại con -- được tạo theo cách thủ công

Sản phẩm và Thể loại con -- mối quan hệ được suy ra

Để ghép nối tự động các mối quan hệ, các mối quan hệ phải đi theo một chiều, như được hiển thị ở trên. Nếu có các mối quan hệ ban đầu giữa Sales và Products, và Sales và Customers, không có mối quan hệ nào được suy luận. Đây là vì mối quan hệ giữa Products và Customers là quan hệ nhiều-đến-nhiều.

Phát triển kỹ năng Office của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×