
🎯 I. MỤC TIÊU BÀI GIẢNG
- 📌 Về kiến thức: Hiểu được bản chất của kỹ thuật ghép nối bảng (Join Tables) trong cơ sở dữ liệu và cơ chế hoạt động của Merge Queries trong Power Query.
- 🛠️ Về kỹ năng: Thành thạo các thao tác ghép 2 bảng dữ liệu dựa trên mã chung (Key Column), biết cách chọn kiểu Join (Left Outer) và mở rộng cột (Expand Column).
- 💼 Ứng dụng thực tế: Thay thế hoàn toàn các hàm
VLOOKUPhayXLOOKUPchậm chạp, dễ bị giật lag trên Excel. Khi có thêm dòng dữ liệu mới, Power BI sẽ tự động truy vấn tìm tên sản phẩm, danh mục, giá bán mà không cần copy-paste công thức.
💼 II. TÌNH HUỐNG THỰC TẾ & DỮ LIỆU MẪU
Tình huống: Bạn có một bảng Nhật ký bán hàng (Fact) chỉ chứa mã sản phẩm và số lượng bán. Để tính được doanh thu và phân tích theo nhóm hàng, bạn cần lấy thêm Tên sản phẩm, Danh mục và Đơn giá từ Bảng danh mục sản phẩm (Dimension).
Học viên hãy sao chép 2 bảng dữ liệu mẫu dưới đây vào Excel để thực hành:
📄 Bảng 1: Nhật ký bán hàng (Fact_BanHang) — 15 dòng
| MaDon | MaSP | SoLuong | NgayBan |
| HD01 | SP01 | 2 | 01/08/2026 |
| HD02 | SP02 | 5 | 01/08/2026 |
| HD03 | SP01 | 1 | 02/08/2026 |
| HD04 | SP03 | 3 | 02/08/2026 |
| HD05 | SP04 | 2 | 03/08/2026 |
| HD06 | SP02 | 4 | 03/08/2026 |
| HD07 | SP05 | 1 | 04/08/2026 |
| HD08 | SP03 | 2 | 04/08/2026 |
| HD09 | SP01 | 3 | 05/08/2026 |
| HD10 | SP04 | 5 | 05/08/2026 |
| HD11 | SP05 | 2 | 06/08/2026 |
| HD12 | SP02 | 1 | 06/08/2026 |
| HD13 | SP03 | 4 | 07/08/2026 |
| HD14 | SP01 | 2 | 07/08/2026 |
| HD15 | SP05 | 3 | 07/08/2026 |
📄 Bảng 2: Danh mục sản phẩm (Dim_SanPham) — 5 dòng
| MaSP | TenSanPham | DanhMuc | DonGia |
| SP01 | Laptop Dell XPS | Điện tử | 25000000 |
| SP02 | Chuột Logitech MX | Phụ kiện | 1500000 |
| SP03 | Bàn phím cơ Keychron | Phụ kiện | 2200000 |
| SP04 | Màn hình Dell 27 inch | Điện tử | 6500000 |
| SP05 | Tai nghe Sony WH | Phụ kiện | 4200000 |
💡 III. CÁCH GIẢI QUYẾT (TƯ DUY XỬ LÝ)
Thay vì dùng hàm VLOOKUP kéo công thức cho hàng chục nghìn dòng làm nặng file Excel:
- Nạp cả 2 bảng
Fact_BanHangvàDim_SanPhamvào Power Query Editor. - Chọn bảng
Fact_BanHangvà sử dụng tính năng Merge Queries. - Chọn cột làm cầu nối là
MaSPở cả 2 bảng với kiểu kết nối Left Outer (Giữ lại tất cả dòng ở bảng bán hàng và tìm thông tin tương ứng ở bảng sản phẩm). - Thực hiện Expand (Mở rộng) các cột thông tin cần lấy (
TenSanPham,DanhMuc,DonGia).
🪜 IV. CÁC BƯỚC THỰC HIỆN CHI TIẾT
- 🚀 Bước 1: Nạp cả 2 bảng vào Power Query
- Mở Power BI Desktop $\rightarrow$ Chọn Get Data$\rightarrow$ Chọn Excel workbook$\rightarrow$ Trỏ đến file chứa 2 bảng dữ liệu $\rightarrow$ Tích chọn cả 2 bảng
Fact_BanHangvàDim_SanPham$\rightarrow$ Chọn Transform Data.
- Mở Power BI Desktop $\rightarrow$ Chọn Get Data$\rightarrow$ Chọn Excel workbook$\rightarrow$ Trỏ đến file chứa 2 bảng dữ liệu $\rightarrow$ Tích chọn cả 2 bảng
- 🔗 Bước 2: Thực hiện Merge Queries (Trộn dữ liệu)
- Chọn bảng
Fact_BanHangở danh sách bên trái. - Tại thẻ Home trên thanh công cụ $\rightarrow$ Nhấp chọn Merge Queries (hoặc chọn Merge Queries as New nếu muốn tạo ra một bảng mới hoàn toàn).
- Chọn bảng
- 🎯 Bước 3: Thiết lập mối quan hệ giữa 2 bảng
- Bảng trên: Chọn
Fact_BanHang$\rightarrow$ Click chọn cột MaSP. - Bảng dưới: Chọn
Dim_SanPham$\rightarrow$ Click chọn cột MaSP. - Tại mục Join Kind: Giữ nguyên mặc định là Left Outer (all from first, matching from second).
- Phía dưới sẽ hiện thông báo thành công: “The selection matches 15 of 15 rows from the first table.”$\rightarrow$ Nhấn OK.
- Bảng trên: Chọn
- 🔍 Bước 4: Mở rộng các cột thông tin cần lấy (Expand Column)
- Tại bảng
Fact_BanHang, một cột mới tên làDim_SanPhamsẽ xuất hiện ở cuối bảng (chứa chữ Table). - Click vào biểu tượng 2 mũi tên chĩa ra 2 hướng nằm ở góc phải tiêu đề cột
Dim_SanPham. - Bỏ tích chọn cột
MaSP(vì bảng bán hàng đã có sẵn), chỉ giữ tích chọn TenSanPham, DanhMuc, DonGia. - Bỏ tích dòng “Use original column name as prefix” (để tên cột sạch sẽ, không bị dài) $\rightarrow$ Nhấn OK.
- Tại bảng
- ✨ Bước 5: Tính Doanh thu & Hoàn thiện
- Giữ phím
Ctrlchọn 2 cộtSoLuongvàDonGia$\rightarrow$ Vào thẻ Add Column$\rightarrow$ Select Standard$\rightarrow$ Chọn Multiply (để tạo nhanh cột Doanh thu bằng Số lượng x Đơn giá). - Chọn Close & Apply ở thẻ Home để lưu dữ liệu.
- Giữ phím
📝 V. BÀI TẬP THỰC HÀNH MỞ RỘNG (TỰ LUYỆN)
Tình huống mở rộng: Bạn có bảng Danh sách nhân viên và bảng Danh mục Phòng ban. Hãy lấy thông tin TenPhongBan và TenTruongPhong từ bảng Phòng ban ghép vào bảng Nhân viên.
Bảng 1: NhanVien
| MaNV | TenNhanVien | MaPB |
| NV01 | Nguyễn Văn An | PB01 |
| NV02 | Trần Thị Bích | PB02 |
| NV03 | Lê Hoàng Cường | PB01 |
Bảng 2: PhongBan
| MaPB | TenPhongBan | TenTruongPhong |
| PB01 | Phòng Kinh doanh | Phạm Quốc Hùng |
| PB02 | Phòng Nhân sự | Võ Thị Mai |
💡 Hướng dẫn chi tiết & Giải thích cụ thể:
- Các bước thực hiện:
- Bước 1: Nạp 2 bảng vào Power Query Editor.
- Bước 2: Chọn bảng
NhanVien$\rightarrow$ Chọn Merge Queries. - Bước 3: Click chọn cột
MaPBở bảngNhanVienvà cộtMaPBở bảngPhongBan$\rightarrow$ Nhấn OK. - Bước 4: Click nút Expand ở cột mới tạo $\rightarrow$ Tích chọn
TenPhongBanvàTenTruongPhong$\rightarrow$ Nhấn OK.
- Giải thích lý do thực hiện:
- Việc dùng
MaPBlàm khoá chính giúp máy tính nối chính xác từng nhân viên vào đúng phòng ban của họ. Khi có nhân viên mới gia nhập (NV04), bạn chỉ cần bấm Refresh, hệ thống sẽ tự tìm phòng ban cho nhân viên đó mà không phải kéo lại công thứcVLOOKUP.
- Việc dùng
📉 VI. ĐÁNH GIÁ HIỆU QUẢ BÀI GIẢNG
- 📈 Mức độ tiếp thu:Rất cao (Đạt trên 95%). Học viên văn phòng cực kỳ hào hứng vì tìm được giải pháp thay thế triệt để cho hàm VLOOKUP “huyền thoại” nhưng chậm chạp.
- 🚀 Tính ứng dụng thực chiến:10/10. Xóa bỏ hoàn toàn tình trạng file Excel bị treo/đơ do chứa quá nhiều công thức tìm kiếm.