Tableau Relationships Vs Joins: When to Choose What?

Tableau Relationships Vs Joins: When to Choose What?

Dữ liệu là nền tảng cốt lõi của mọi doanh nghiệp thành công. Với sự bùng nổ của Big Data (Dữ liệu lớn), việc sử dụng các công cụ phù hợp để tổ chức, phân tích và trực quan hóa thông tin trở nên thiết yếu. Trong đó, Tableau nổi lên như một trong những công cụ phổ biến và mạnh mẽ nhất, cho phép người dùng kết nối, hợp nhất và trực quan hóa các nguồn dữ liệu đa dạng một cách dễ dàng.
Khi thực hiện việc kết hợp dữ liệu, Tableau cung cấp hai phương thức riêng biệt: Relationships (Mối quan hệ) và Joins(Liên kết). Mặc dù cả hai phương thức đều hướng tới cùng một mục đích, chúng lại có sự khác biệt rõ rệt trong cách xử lý các kết nối dữ liệu.
Trong bài viết này, chúng ta sẽ tìm hiểu sự khác biệt giữa Relationships và Joins trong Tableau, từ đó giúp bạn xác định phương thức tối ưu cho từng trường hợp cụ thể.

Khái niệm về Tableau Relationships là gì?

Tableau Relationships giúp đơn giản hóa quy trình kết nối và phân tích dữ liệu bằng cách cho phép người dùng tận dụng các cấu trúc phân cấp tự nhiên (natural hierarchies) trong dữ liệu. Điều này có nghĩa là người dùng chỉ cần xác định các trường chung (common fields) hoặc cấu trúc tổ chức dữ liệu, Tableau sẽ tự động thiết lập các kết nối cần thiết trong mô hình dữ liệu (data model).
Relationships là phương thức ưu tiên để kết nối các bảng dữ liệu khác nhau, nhờ khả năng tự động xử lý các thay đổi trong cấu trúc dữ liệu gốc một cách linh hoạt.

Các loại Mối quan hệ (Relationships) trong Tableau

Tableau hỗ trợ ba loại mối quan hệ giữa các bảng dữ liệu. Việc lựa chọn loại mối quan hệ nào sẽ phụ thuộc vào cấu trúc tổ chức thực tế của dữ liệu nền tảng. Các loại mối quan hệ này bao gồm:

1. Mối quan hệ Một - Một (One-to-one Relationship)

Trong mối quan hệ một - một, mỗi bản ghi trong một bảng (bảng chính - primary table) được liên kết với duy nhất một bản ghi tương ứng trong một bảng khác (bảng phụ - secondary table). Loại mối quan hệ này hữu ích khi tồn tại một sự tương quan duy nhất và không lặp lại giữa các bảng.
Hình minh họa dưới đây mô tả mối quan hệ duy nhất giữa bảng OrderPrice (Giá đơn hàng) và OrderDetails (Chi tiết đơn hàng). Cả hai bảng này có mối liên hệ duy nhất với nhau thông qua cột Order ID (Mã đơn hàng).
notion image

2. Mối quan hệ Một - Nhiều (One-to-many Relationship)

Trong mối quan hệ một - nhiều, mỗi bản ghi trong một bảng (bảng chính - primary table) có thể được liên kết với nhiều bản ghi trong một bảng khác (bảng phụ - secondary table). Mối quan hệ này đặc biệt hữu ích khi một bảng chứa danh sách các thực thể duy nhất (ví dụ: khách hàng) và bảng còn lại chứa nhiều bản ghi cho mỗi thực thể đó (ví dụ: các đơn hàng).
Sơ đồ dưới đây minh họa mối quan hệ một - nhiều giữa bảng Customers (Khách hàng) và Orders (Đơn hàng). Bảng Customers là duy nhất cho mỗi khách hàng, trong khi bảng Orders có thể có các dòng lặp lại vì mỗi khách hàng có thể mua nhiều sản phẩm cùng một lúc. Do đó, mỗi dòng trong bảng Customers có thể được liên kết với nhiều dòng trong bảng Orders.
notion image

3. Mối quan hệ Nhiều - Nhiều (Many-to-many Relationship)

Trong mối quan hệ nhiều - nhiều, mỗi bản ghi trong một bảng có thể liên kết với nhiều bản ghi trong bảng còn lại và ngược lại.
Các bảng dưới đây được kết nối theo mối quan hệ nhiều - nhiều bởi vì mỗi đơn hàng (order) có thể bao gồm nhiều sản phẩm khác nhau, đồng thời mỗi sản phẩm (product) cũng có thể xuất hiện trong nhiều đơn hàng khác nhau.
notion image

Các bước quản lý Mối quan hệ trong Tableau

Tính năng Relationships của Tableau giúp đơn giản hóa quy trình kết nối các bảng dữ liệu. Khi bạn nhập một bộ dữ liệu vào Tableau, hệ thống sẽ tự động xác định mối quan hệ tối ưu nhất giữa các bảng. Ngoài ra, Tableau cũng cho phép người dùng tùy chỉnh hoặc thay đổi các mối quan hệ này theo ý muốn.
Các bước dưới đây minh họa cách thay đổi loại mối quan hệ giữa hai bảng dữ liệu. Để thực hiện theo hướng dẫn này, hãy tải bộ dữ liệu tại [đây] và nhập vào Tableau.
Quy trình thực hiện:
1. Kéo và thả bảng Customers (Khách hàng) và bảng Orders (Đơn hàng) vào khung cửa sổ mô hình hóa dữ liệu (data modeling pane) của Tableau. Lúc này, Tableau sẽ tự động thiết lập một mối quan hệ giữa các bảng dựa trên cấu trúc dữ liệu nền tảng sẵn có.
notion image
Để biết loại mối quan hệ mà Tableau đã thiết lập giữa hai bảng, hãy di chuột qua đường nối giữa hai bảng đó.
notion image
Hình ảnh trên minh họa mối quan hệ nhiều - nhiều (many-to-many) giữa hai bảng Customers (Khách hàng) và Orders(Đơn hàng).
2. Để thay đổi loại mối quan hệ giữa hai bảng này, hãy nhấp vào mục Performance Options (Tùy chọn hiệu năng).
notion image
Trong mục Performance Options (Tùy chọn hiệu năng), bạn có thể chỉ định chính xác mối quan hệ mà mình muốn thiết lập giữa các bảng dữ liệu.
notion image
Việc hiểu rõ cấu trúc dữ liệu trước khi thực hiện các thay đổi về loại mối quan hệ là vô cùng quan trọng. Điều này là bởi các mối quan hệ trong Tableau được thiết kế để thiết lập một kết nối tối ưu và hiệu quả nhất giữa các bảng dữ liệu.

Tableau Joins là gì?

Tableau Joins (Liên kết bảng) tạo ra một nguồn dữ liệu thống nhất từ nhiều bảng dữ liệu khác nhau. Phương thức này thực hiện bằng cách liên kết các trường dữ liệu chung giữa hai hoặc nhiều bảng.

Các loại Liên kết (Joins) trong Tableau

Dưới đây là các loại liên kết phổ biến trong Tableau:

Liên kết trong (Inner Join)

Inner Join chỉ trả về các dòng dữ liệu có sự trùng khớp giữa cả hai bảng. Bất kỳ dòng nào không có giá trị tương ứng ở bảng còn lại sẽ bị loại bỏ khỏi kết quả.
Minh họa về Inner Join: Để thực hiện theo ví dụ minh họa này, hãy tải bộ dữ liệu tại [đây]. Sau khi tải tệp về, hai bảng dữ liệu mà chúng ta sẽ sử dụng để thực hiện phép liên kết bao gồm:
1. Bảng Customers (Khách hàng)
notion image
2. Bảng Orders
notion image
Để thực hiện liên kết trong (Inner Join) trong Tableau, hãy nhập tệp Excel bạn đã tải về. Kéo và thả bảng Customers và Orders vào khung cửa sổ mô hình hóa. Theo mặc định, Tableau sẽ thực hiện một phép liên kết Inner Join.
notion image
notion image
Khi chúng ta thực hiện Inner Join trên hai bảng Customers và Orders, kết quả trả về sẽ là bảng sau: Bảng kết quả cho thấy chỉ có các dòng trùng khớp giữa bảng Orders và Customers được giữ lại.

Liên kết trái (Left Join)

Left Join trả về toàn bộ các dòng từ bảng bên trái và các dòng trùng khớp từ bảng bên phải. Bất kỳ dòng nào không có sự trùng khớp từ bảng bên phải sẽ được hiển thị giá trị Null (trống).
Minh họa về Left Join: Để thay đổi kiểu liên kết từ Inner Join sang Left Join, hãy nhấp đúp vào biểu tượng hai hình vòng tròn lồng nhau và chọn Left.
notion image
Bảng dưới đây cho thấy Left Join trả về tất cả các dòng từ bảng Customers (bảng bên trái) và chỉ những dòng trùng khớp từ bảng Orders (bảng bên phải).
notion image

Liên kết phải (Right Join)

Right Join trả về toàn bộ các dòng từ bảng bên phải và các dòng trùng khớp từ bảng bên trái. Bất kỳ dòng nào không có sự trùng khớp từ bảng bên trái sẽ nhận giá trị Null.
Minh họa về Right Join: Để thay đổi kiểu liên kết, hãy nhấp đúp vào hai hình vòng tròn và chọn Right.
notion image
Bảng dưới đây cho thấy tất cả các dòng từ bảng Orders và chỉ những dòng trùng khớp từ bảng Customers được trả về.
notion image

Liên kết ngoài đầy đủ (Full Outer Join)

Full Outer Join trả về tất cả các bản ghi từ cả hai bảng, bất kể có sự trùng khớp ở bảng còn lại hay không.
Minh họa về Full Outer Join: Để thay đổi kiểu liên kết, nhấp đúp vào hai hình vòng tròn và chọn Full Outer.
notion image
Full Outer Join trả về toàn bộ dữ liệu từ cả hai bảng như minh họa dưới đây:
notion image

Khi nào nên chọn Relationships?

Dưới đây là một số kịch bản nên ưu tiên sử dụng Relationships thay vì Joins:
  • Bộ dữ liệu nhỏ với mối quan hệ rõ ràng: Sử dụng khi cấu trúc dữ liệu đơn giản. Relationships linh hoạt hơn với các thay đổi về cấu trúc và giúp điều hướng dữ liệu dễ dàng hơn.
  • Khi hiệu năng là yếu tố quan trọng: Relationships có thể cải thiện hiệu suất bằng cách giảm số lượng bảng cần phải thực hiện liên kết vật lý. Hơn nữa, nó cho phép Tableau tự do tối ưu hóa các câu lệnh truy vấn.
Lợi ích của Relationships:
  • Dễ sử dụng và bảo trì: Tạo ra mô hình dữ liệu đơn giản hơn, giúp các đội ngũ dữ liệu dễ tiếp cận và quản trị nguồn dữ liệu.
  • Cải thiện độ chính xác và tính nhất quán: Tránh việc tạo ra dữ liệu trùng lặp (ví dụ: khi gặp vấn đề về đa cấp độ chi tiết), giúp ngăn ngừa sự sai lệch khi dữ liệu được lặp lại trên nhiều bảng.

Khi nào nên chọn Joins?

Dưới đây là các trường hợp nên ưu tiên sử dụng Joins:
  • Kết hợp nhiều bộ dữ liệu với các khóa (keys) khác nhau: Joins giúp tạo ra một chế độ xem dữ liệu thống nhất (phẳng hóa dữ liệu). Điều này cần thiết khi xử lý các nguồn dữ liệu có cấu trúc phức tạp.
  • Hợp nhất các bảng có cấu trúc khác nhau: Cho phép bạn tùy biến cách trộn dữ liệu để thao tác và phân tích theo nhiều hướng khác nhau.
Lợi ích của Joins:
  • Sự linh hoạt và kiểm soát: Bạn có quyền kiểm soát tuyệt đối cách dữ liệu được gộp lại và cấu trúc của đầu ra cuối cùng.
  • Khả năng hợp nhất từ nhiều nguồn: Hữu ích khi cần phân tích hiện trạng toàn diện của các quy trình kinh doanh từ nhiều hệ thống khác nhau (cơ sở dữ liệu, bảng tính, điện toán đám mây).

Bảng tóm tắt so sánh Relationships và Joins

Yếu tố đánh giá
Relationships
Joins
Bộ dữ liệu
Dữ liệu nhỏ, mối quan hệ rõ ràng.
Nhiều bộ dữ liệu với các khóa khác nhau cần kết hợp.
Mối quan hệ
Có mối quan hệ phân cấp rõ ràng giữa các bảng.
Các bảng có cấu trúc khác biệt nhau.
Mô hình dữ liệu
Cần mô hình đơn giản và ưu tiên hiệu năng.
Cần một chế độ xem dữ liệu tùy biến theo mục đích riêng.
Độ chính xác/Nhất quán
Quan trọng trong việc tránh trùng lặp dữ liệu.
Cần một cái nhìn toàn diện và bao quát về dữ liệu.