Hãy chắc chắn là bạn đã biết khái niệm Cardinality và Referential Integrity trước khi tiếp tục, bạn có thể xem lại phần đầu tiên ngay dưới đây. Ngoài ra, trong phần này, chúng ta sẽ khám phá nguyên nhân vì sao hai khái niệm kể trên lại vô cùng quan trọng.
Tham khảo: Khái niệm Cardinality và Referential Integrity trong Tableau (Phần 1)
1. Vì sao Cardinality và Referential Integrity lại quan trọng?
- Việc định cấu hình chính xác cài đặt Cardinality và Referential Integrity có thể tăng hiệu suất thông qua tối ưu hóa truy vấn. Tuy nhiên, cấu hình không chính xác có thể dẫn đến các vấn đề tổng hợp do mất mát hoặc trùng lặp dữ liệu.
- Các cài đặt Performance Option mặc định là Many đối với Cardinality và Some records match với Referential Integrity. Chúng chỉ nên được điều chỉnh nếu bạn chắc chắn về các đặc điểm chính xác của dữ liệu của mình.
2. Ví dụ trong Tableau
Hãy cùng tìm hiểu điều gì sẽ xảy ra khi Cardinality được định cấu hình không đúng cách.
Lưu ý: Ví dụ dưới đây sử dụng một tập hợp con các bảng từ Bookshop. Bạn có thể tải workbook dưới đây hoặc tải dữ liệu thô để tự tạo nguồn dữ liệu. Các bảng được dùng là Books, Info và Edition từ Bookshop.xlsx và LibraryProfile và Catalog từ BookshopLibraries.xlsx.
- Các bảng Book và Info có một mối quan hệ one-to-one – Info về cơ bản là các cột bổ sung cho bảng Book. Vì thế, mặc dù chúng có thể được liên kết với nhau nhưng sẽ hợp lý khi kết hợp để tạo một bảng logic mới có tất cả các cột. Edition có một mối quan hệ many-to-one với bảng kết hợp này vì có thể có nhiều ấn bản cho một quyển sách, thường có các định dạng khác nhau.
Lưu ý: Sơ đồ dưới đây biểu diễn mối quan hệ từ bảng Book+Info đến Edition, vì vậy nó là one-to-many.
- Edition được liên kết đến Catalog như một mối quan hệ one-to-many trên ISBN. Các bảng Catalog và LibraryProfiles có nhiều hàng cho mỗi thư viện, một hàng cho mỗi loại (Librarian, Library Assistant, Library Technician).
2.1. Cài đặt đúng
Khi mối quan hệ Catalog-LibraryProfile được cài đặt đúng, chúng ta có thể tạo một trực quan đơn giản để biểu diễn số lượng đối tượng trong mỗi thư viện cho một vài cuốn sách. Idle Hour Library có 130 nhân viên bất kể là cuốn sách nào. Có 3 giá trị cho loại nhân viên, vì vậy mỗi tổng số được tạo thành từ ba bản ghi – số trong dấu ngoặc đơn.
2.2. Cài đặt sai: one-to-one
Khi mối quan hệ được đặt sai thành one-to-one, trong trực quan mỗi tiêu đề từ Catalog được ghép nối hiệu quả với chỉ một bản ghi từ bảng LibraryProfile (như được chỉ ra bằng số bản ghi trong ngặc đơn).
Bạn có thể thấy rằng mỗi thư viện chỉ hiển thị số lượng nhân viên tối thiểu. (Tham khảo các con số được in đậm trong trực quan dưới đây. Số lượng nhân viên thấp nhất là số lượng được phản ánh trong trực quan Staff Count.
2.3. Cài đặt sai: Joining
Mặc dù có nhiều cách để giải quyết loại vấn đề này – biểu thứ Level of Detail (LOD) là một biểu thức phổ biến – việc join các bảng có mức độ chi tiết khác nhau hoặc “many” trong Cardinality của chúng có thể gây trùng lặp.
Ở đây, số lượng nhân viên chính xác đối với các đầu sách chỉ có một định dạng nhưng đối đối với sách có hai định dạng trong bảng Edition, số nhân đôi đó cũng được chuyển cho số nhân viên (Lưu ý rằng số lượng bản ghi trong ngoặc đơn là 6 thay thế của đúng là 3).
2.4. Cài đặt sai: Giả định không chính xác về Referential Integrity
Referential Integrity hiện diện khi trường hợp này không xảy ra có thể làm giảm giá trị. Ở đây, hay trực quan này tương tự nhau nhưng các trực quan ở bên phải là từ nguồn dữ liệu được định cấu hình để giả định Referential Integrity. Trực quan đó đã mất các giá trị rỗng, mặc dù điều này có thể ổn trong một số trường hợp nhưng điều quan trọng là cần hiểu giá trị rỗng đại diện cho điều gì.
Ở đây, trong đó trực quan hiển thị số lượng ấn bản trong mỗi thư viện, các giá trị rỗng biểu thị hai ấn bản có trong bảng ấn bảng nhưng không được giữ bởi bất kỳ thư viện nào. Đây có thể là một giám sát quan trọng và đó là một giám sát nếu giả định không chính xác về referential integrity sẽ bị bỏ qua.
Kết thúc phần thứ hai của bài viết về Cardinality và Referential Integrity, tin rằng bạn đọc đã hiểu được tầm quan trọng của hai khái niệm này trong Tableau. Phần cuối cùng sẽ được gửi đến bạn đọc tại website bacs.vn, đừng quên đón đọc.
Đọc tiếp phần 3: Khái niệm Cardinality và Referential Integrity trong Tableau (Phần 3)
Nguồn tham khảo: https://help.tableau.com/
Nhu cầu đào tạo doanh nghiệp
BAC là đơn vị đào tạo BA đầu tiên tại Việt Nam. Đối tác chính thức của IIBA quốc tế. Ngoài các khóa học public, BAC còn có các khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được thiết kế riêng theo yêu cầu của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và tư vấn phát triển.
Các bài viết liên quan Power BI:
- Power BI cơ bản cho người mới bắt đầu
- Chỉnh sửa và định hình dữ liệu trong Power BI Desktop
- Kết hợp dữ liệu trong Power BI Desktop
- Hướng dẫn kết nối dữ liệu trong Power BI Desktop
- Hướng dẫn tải & cài đặt Power BI trên máy tính
- Khóa học Phân tích và trực quan hóa dữ liệu với Power BI
- Power BI là gì?
Các bài viết liên quan:
- TABLEAU – Giải pháp BUSINESS INTELLIGENCE (BI) – click vào đây
- Hướng dẫn cài đặt và Sử dụng TABLEAU – click vào đây
- Tính năng mới trên tableau – version 2019.1 – click vào đây
BAC – Biên soạn và tổng hợp nội dung