Cách xây dựng data relationship trong Power BI

xay-dung-data-relationship
marketing foundation

Tomorrow Marketers– Khi dữ liệu được lưu trữ trong các bảng một cách rõ ràng, đầy đủ, bạn có thể kết nối hoặc liên kết dữ liệu trong các bảng đó với nhau. Data relationship (mối quan hệ giữa các dữ liệu) là một yếu tố quan trọng khi phân tích dữ liệu bởi nó đảm bảo tính nhất quán và toàn vẹn về dữ liệu, tránh sự trùng lặp, nhầm lẫn hoặc sai sót khi làm việc với dữ liệu về sau. Trong bài viết này, hãy cùng tìm hiểu về data relationship và cách xây dựng data relationship trong Power BI nhé.

Các loại data relationship

Dựa vào các foreign key (khóa ngoại) hoặc candidate key (khóa dự tuyển), mối quan hệ giữa các bảng có thể được chia thành 3 loại sau:

1. One-to-one:

Đây là loại mối quan hệ chỉ cho phép 1 bản ghi ở bảng này kết nối với 1 bản ghi ở bảng kia. Primary key (khóa chính) chỉ được kết nối đến 1 bản ghi, hoặc không được kết nối đến bản ghi nào trong bảng khác. Mối quan hệ này cũng tương tự như mối quan hệ trong một cuộc hôn nhân 1 vợ 1 chồng vậy. Loại mối quan hệ này chỉ xuất hiện trong 1 bảng duy nhất, do đó không cần sử dụng đến foreign key.

2. One-to-many:

Loại mối quan hệ này cho phép 1 bản ghi trong 1 bảng kết nối với nhiều bản ghi trong 1 bảng khác. Trong một số trường hợp, mối quan hệ này cũng có thể chuyển thành many-to-one. Hãy cùng xem xét cơ sở dữ liệu của một doanh nghiệp có bảng “Khách hàng”“Đơn hàng” dưới đây.

OrderCustomer
Order_001Alexander
Order_002Elizabeth
Order_003George

Một khách hàng có thể mua nhiều đơn hàng, nhưng một đơn hàng thì không thể đến từ nhiều khách hàng khác nhau được. Do đó, bảng “Đơn hàng” sẽ chứa foreign key trùng khớp với primary key của bảng “Khách hàng”, trong khi đó bảng “Khách hàng” sẽ không có foreign key nào liên kết đến bảng “Đơn hàng”.

3. Many-to-many:

Đây là một mối quan hệ phức tạp, trong đó nhiều bản ghi trong một bảng có thể kết nối với nhiều bản ghi trong một bảng khác. Ví dụ, hãy theo dõi 3 bảng dữ liệu “Đơn hàng”, “Khách hàng”“Sản phẩm” của một doanh nghiệp dưới đây.

OrderCustomerProduct
Order_001AlexanderApple, Orange
Order_002ElizabethOrange
Order_003GeorgePear

Mối quan hệ giữa bảng “Khách hàng”“Đơn hàng” thuộc loại one-to-many, nhưng để thiết lập mối quan hệ giữa bảng “Đơn hàng” và bảng “Sản phẩm” lại cần xem xét thêm. 1 đơn hàng có thể chứa nhiều sản phẩm và 1 sản phẩm có thể được liên kết với nhiều đơn hàng: một số khách hàng có thể gửi đơn đặt hàng có chứa một vài sản phẩm giống nhau. Do đó, để biểu thị mối quan hệ này, bạn cần có tối thiểu 3 bảng dữ liệu. 

Để có thể xác định các loại mối quan hệ này, bạn cần kiểm tra dữ liệu và hiểu rõ về các quy tắc kinh doanh được áp dụng cho các dữ liệu và bảng. Nếu không chắc chắn, bạn nên trao đổi thêm với một người có kiến ​​thức chuyên sâu về dữ liệu. Ngoài ra, khi phân tích mối quan hệ giữa các bảng dữ liệu, bạn cần xem xét mối quan hệ từ cả 2 phía – từ bảng A và từ bảng B. Khi thiết lập mối quan hệ cho các bảng, bạn cũng luôn phải làm việc với 2 bảng cùng một lúc. Một bảng được gọi là primary/ parent table (bảng chính/ bảng mẹ) và bảng còn lại là related/ child table (bảng liên quan/ bảng con).

Tầm quan trọng của data relationship

Việc thiết lập mối quan hệ nhất quán giữa các bảng cơ sở dữ liệu giúp đảm bảo tính toàn vẹn dữ liệu, đồng thời chuẩn hóa cơ sở dữ liệu. Ví dụ, nếu bạn không liên kết bất kỳ bảng nào với nhau thông qua foreign key, mà thay vào đó chỉ kết hợp dữ liệu trong bảng “Sản phẩm”“Khách hàng”, bảng dữ liệu của bạn trông sẽ như sau:

Order_IDCustomerProduct
Order_001AlexanderApple, Orange
Order_002ElizabethOrange
Order_003GeorgePear

Bảng dữ liệu này không linh hoạt và vi phạm nguyên tắc đầu tiên của chuẩn hóa cơ sở dữ liệu (First Normal Form). Nguyên tắc này quy định rằng, mỗi ô của bảng chỉ chứa 1 dữ liệu riêng lẻ (trong trường hợp hày là “Apple” hoặc “Orange” thay vì cả 2). Do đó, bạn có thể thêm 1 bản ghi thứ hai khác cho Alexander nhằm tuân thủ nguyên tắc này như sau:

Order_IDCustomerProduct
Order_001AlexanderApple
Order_001AlexanderOrange
Order_002ElizabethOrange
Order_003GeorgePear

Tuy nhiên, đây vẫn là chưa phải là một bảng dữ liệu tối ưu nhất do vẫn có sự trùng lặp, khiến dữ liệu không nhất quán. Điều này sẽ gây khó khăn cho việc chỉnh sửa dữ liệu về sau, khi người thực hiện chỉnh sửa không có cách nào xác định hoặc phân biệt các bản ghi giống nhau. Vì vậy, trong trường hợp này, tốt nhất bạn nên chia dữ liệu thành 2 bảng – “Khách hàng”“Sản phẩm”, tạo mối quan hệ phù hợp giữa 2 bảng này để đảm bảo tính nhất quán và chính xác của dữ liệu. 

Đọc thêm: Data storytelling – Kỹ năng kể câu chuyện đằng sau những con số

Cách xây dựng data relationship trong Power BI

Chế độ Model view trong Power BI Desktop sẽ cho phép bạn thiết lập mối quan hệ giữa các bảng hoặc các thành phần trong bảng một cách trực quan nhất. Hãy sử dụng chế độ này để theo dõi dữ liệu của bạn dưới dạng sơ đồ.

  • Bước 1: Vào tab Modeling -> chọn biểu tượng Model view – biểu tượng hiển thị sự kết nối giữa các bảng dữ liệu.
  • Bước 2: Gỡ bỏ hoặc gán thêm mối quan hệ giữa các bảng. Để xóa 1 mối quan hệ, click chuột phải vào liên kết giữa các bảng -> chọn Delete. Còn nếu muốn thêm 1 mối quan hệ, bạn chỉ cần kéo và thả các trường mà bạn muốn liên kết giữa các bảng. 
  • Bước 3: Để ẩn 1 bảng hoặc cột trong báo cáo, click chuột phải vào bảng hoặc cột tương ứng trong Model view -> chọn Hide in report view.

Ngoài ra, để theo dõi chi tiết hơn về mối quan hệ giữa các dữ liệu, bạn có thể chọn tab Home -> Manage Relationships. Hộp thoại này sẽ hiển thị data relationship dưới dạng 1 danh sách thay vì một biểu đồ. Bạn có thể: 

  • Chọn Autodetect để tìm mối quan hệ trong các dữ liệu mới hoặc các dữ liệu mới được cập nhật. 
  • Chọn Edit để chỉnh sửa thủ công mối quan hệ giữa các dữ liệu của bạn. 
  • Chọn Cardinality hoặc Cross-filter trong phần tùy chọn nâng cao của Edit để chọn kiểu mối quan hệ cho các dữ liệu 

Các tùy chọn ở phần Cardinality được giải thích trong bảng dưới đây:

Cardinality optionsExample
Many to OneĐây là kiểu mối quan hệ mặc định phổ biến nhất. Cột trong một bảng có thể chứa nhiều hơn một giá trị, còn bảng liên quan chỉ chứa một giá trị.
One to OneCột trong một bảng chỉ chứa 1 giá trị duy nhất, và bảng còn lại cũng chỉ chứa 1 giá trị duy nhất. 

Thông thường, mối quan hệ cross-filter (bộ lọc chéo) của dữ liệu sẽ được thiết lập mặc định theo cả hai hướng (both directions). Cross-filter theo một hướng sẽ hạn chế một số khả năng modeling trong mối quan hệ. Bạn nên thiết lập mối quan hệ chính xác cho dữ liệu để có thể tạo các phép tính phức tạp trên nhiều yếu tố của dữ liệu.

Đọc thêm: Giới thiệu tính năng lọc dữ liệu trong Power BI

Tạm kết

Hi vọng rằng bài viết này đã cung cấp cho bạn những kiến thức cơ bản về data relationship và cách xây dựng data relationship trong Power BI. Tham khảo khóa học Data Visualization của Tomorrow Marketers để tìm hiểu thêm về cách phân tích và trực quan hoá dữ liệu với Excel và Power BI, góp phần khai phá những insight ẩn giấu đằng sau “mỏ dữ liệu” khổng lồ của doanh nghiệp nhé.

Bên cạnh đó, bạn cũng có thể tham gia khoá học Data Analysis for Decision Making để rèn luyện tư duy phân tích số liệu, tự tin khi làm việc với số liệu để đưa ra những quyết định chính xác cho doanh nghiệp của mình.