Power Query là một công cụ mạnh mẽ trong Excel và Power BI, giúp xử lý và biến đổi dữ liệu một cách nhanh chóng. Hai tính năng quan trọng trong Power Query mà bạn cần hiểu rõ là Merge và Append. Bài viết này sẽ giúp bạn phân biệt hai tính năng này và lựa chọn cách sử dụng phù hợp với nhu cầu của mình.
1. Giới thiệu tính năng gộp bảng trong Power Queries
Trong xử lý dữ liệu với Power Query, chúng ta thường xử lý cùng lúc rất nhiều bảng dữ liệu. Đôi khi những dữ liệu có sự liên quan với nhau nhưng lại được lưu trữ dưới dạng nhiều bảng độc lập khác nhau khiến cho việc truy vấn và xử lý dữ liệu trở nên khó khăn hơn. Trong những trường hợp như vậy việc kết hợp các bảng là một cách hữu hiệu để tạo ra một bảng mới tinh gọn và đơn giản hơn cho việc phân tích.
Trong Power Query có 2 tính năng để có thể kết hợp các bảng dữ liệu đó là Merge Queries và Append Queries. Cả hai tính năng này đều giúp kết hợp 2 hay nhiều bảng lại với nhau vậy đâu là điểm khác biệt giữa hai tính năng này và trong những trường hợp nào nên dùng Append, trường hợp nào sẽ dùng Merge. Đó chính là nội dung chúng ta sẽ cùng tìm hiểu trong bài viết này.
2. Tổng quan về Merge và Append
2.1 Tính năng Merge Queries
Merge Queries là tính năng được dùng để kết hợp dữ liệu theo chiều ngang, tức là thêm các cột từ một bảng vào bảng khác dựa trên một cột khóa chung (gọi là key tương tự lệnh như JOIN trong SQL).
Cách hoạt động: Merge thực hiện các kiểu liên kết (join) theo key chung. Có rất nhiều loại kết hợp khác nhau. Tuỳ nhiên 4 kiểu liên kết thường sử dụng nhất đó là:
- Inner Join: Chỉ giữ lại các hàng có giá trị khớp trong cả hai bảng.
- Left Join: Giữ tất cả các hàng từ bảng chính và thêm dữ liệu tương ứng từ bảng phụ.
- Right Join: Tương tự Left Join nhưng ưu tiên bảng phụ.
- Full Outer Join: Kết hợp toàn bộ dữ liệu từ cả hai bảng, ngay cả khi không có giá trị khớp.
>> Chi tiết thêm về các loại liên kết khác: Các Phương Thức Merge Dùng Trong Kết Hợp Bảng
2.2 Tính năng Append Queries
Append Queries là tính năng dùng để dùng để kết hợp các bảng dữ liệu theo chiều dọc, tức là nối các dòng của bảng này vào bảng khác. Tính năng này hữu ích khi các bảng có cùng cấu trúc cột và bạn muốn gộp chúng lại thành một bảng lớn hơn.
Cách hoạt động: Append không yêu cầu các bảng phải có cột khóa chung. Thay vào đó, nó gộp dữ liệu theo cấu trúc bảng:
- Nếu các bảng có cùng cấu trúc (tên cột và số cột giống nhau), dữ liệu sẽ được gộp trực tiếp.
- Nếu các bảng không hoàn toàn giống nhau, cột thiếu sẽ được điền giá trị null.
3. So sánh Merge và Append trong Power Query
Bảng so sánh Merge và Appends:
Tiêu chí | Merge | Append |
Mục đích | Kết hợp dữ liệu dựa trên cột khóa chung | Gộp dữ liệu từ nhiều bảng thành một |
Kiểu kết hợp | Thực hiện join (Inner, Left, Right, Outer) | Gộp toàn bộ dữ liệu mà không cần join |
Cấu trúc bảng | Có thể khác nhau | Nên có cấu trúc giống nhau |
Ứng dụng thực tế | Kết hợp bảng liên quan, như Orders và Customers | Hợp nhất dữ liệu các file hoặc bảng có cấu trúc tương tự |
Khi nào nên sử dụng Merge Khi nào nên dùng Append:
Sử dụng Merge khi:
- Cần bổ sung thông tin từ một bảng khác vào bảng chính.
- Dữ liệu trong bảng phụ có liên kết rõ ràng với bảng chính thông qua cột khóa.
- Ví dụ: Thêm giá sản phẩm để tính Sales Amounts từ bảng Products vào Bảng Sales theo key Products_ID.
Sử dụng Append khi:
- Cần tổng hợp dữ liệu từ nhiều bảng hoặc file có cấu trúc tương tự.
- Các bảng không cần có cột khóa, chỉ cần xếp chồng dữ liệu để phân tích.
- Ví dụ: Gộp dữ liệu doanh số bán hàng từ bảng Sales_Region1, Sales_Region2 thành bảng tổng Sales_Total. Hoặc kết hợp 2 bảng Customer_Q1 với Customer_Q2 thành bảng Customers.
4. Áp dụng thực tế Merge và Append trong Power BI
Ta sẽ cùng thực hành kết hợp bảng với bộ mô hình dữ liệu kinh doanh quen thuộc. Bộ dữ liệu sẽ gồm có 4 bảng chính:
- Bảng Sales chứa thông tin mua hàng của khách hàng
- Bảng Products lưu thông tin liên quan nhóm sản phẩm và giá bán
- Bảng CustomerQ1, CustomerQ2 lưu giữ thông tin về khách hàng theo từng Quý.
Ta sẽ thấy đối với mô hình này có tới 2 bảng Customer theo từng quý một, và chúng có cấu trúc giống hệt nhau do đó chúng ta cần phải kết hợp nó lại để đơn giản hoá mô hình. Do 2 bảng này có cùng cấu trúc với nhau nên sẽ dùng Appends. Cụ thể:
Đầu tiên ta sẽ chọn bảng CustomerQ1 sau đó vào Home tại tab Combine chọn mũi tên bên phải Append Queries, sau đó chọn Append Queries as New.
Sau khi chọn Appends as New, cửa sổ Appends sẽ xuất hiện như hình bên dưới. Trong trường hợp chúng ta chỉ có hai bảng thì chỉ cần chọn đúng tên bảng vào hai mục First table và second Table. Nhấn Ok.
Sau khi ấn Ok, Power Query sẽ tạo ra một bảng hoàn toàn mới tên là Append1 chứa tất cả dữ liệu của hai bảng. Chúng ta có thể chỉnh sửa tên của bảng thành Customer và hoàn thành Append Query. Kết quả sẽ như hình bên dưới.
Tiếp đến ta sẽ quay lại bảng Sales trong bộ dữ liệu. Ta có thể dễ dàng nhìn thấy là bảng sales đang cần thêm một cột giá sản phẩm để có thể tính được doanh thu của từng đơn hàng. Cách giải quyết là ta sẽ kết hợp 2 bảng Products và Sales theo key ProductID và lấy dữ liệu ProductsPrice vào bảng Sales.
Thực hiện như sau: Đầu tiên ta vào Power Query, tại bảng Sales ta vào Home => Combine => Merge Queries tại dấu mũi tên sổ xuống ta chọn Merge Queries để nối dữ liệu trực tiếp vào bảng Sales.
Sau đó bảng công cụ Merge sẽ hiện ra. Khi thao tác đúng ta sẽ thấy bảng Sales đang nằm ở trên, Tại bảng chọn ở dưới, chúng ta sổ mũi tên xuống và chọn bảng Products. Sau đó nội dung của bảng sẽ hiển thị ngay dưới tên của bảng, chọn tên key để kết nối. Thao tác đúng thì ta sẽ thấy hai cột Key của hai bảng được tô màu đậm hơn các cột còn lại.
Tiếp đó chúng ta chọn loại kết nối tại mục “Join Kind” trong trường hợp này chúng ta sẽ dùng “Left Outer”. Nhấn Ok để hoàn thành.
Đối với Merge trong Power Query kết quả trả về sẽ là một cột dạng “Table”. Để hiển thị đúng những cột ta cần, tại bảng Sales chọn dấu mũi tên bên phải cột, tick vào các cột cần giữ lại. Nhấn Ok để hoàn thành và xem kết quả.
Kết quả cuối cùng chúng ta sẽ có một hình dữ liệu đơn giản hơn với 3 bảng dữ liệu. Và bảng Sales đã có đầy đủ thông tin để phân tích với cột mới thêm vào là Products.Price.
5. Kết luận
Merge Queries và Append Queries là hai tính năng quan trọng và hữu ích trong Power Query, giúp hỗ trợ tối ưu hóa quá trình xử lý và kết hợp dữ liệu từ nhiều nguồn. Nếu dữ liệu chỉ cần được gộp dòng mà không yêu cầu liên kết logic, Append Queries sẽ là lựa chọn phù hợp, giúp đơn giản hóa việc hợp nhất các bảng có cấu trúc tương tự. Ngược lại, khi cần kết hợp dữ liệu phức tạp hơn hoặc bổ sung thông tin từ các bảng liên quan dựa trên cột khóa chung, Merge Queries sẽ là công cụ lý tưởng.
Việc lựa chọn đúng tính năng không chỉ đảm bảo hiệu quả xử lý dữ liệu mà còn giúp xây dựng mô hình dữ liệu trực quan và dễ phân tích hơn.