Tuần 2 · Ngày 8 · Review · 4 giờ
Mục tiêu
- Củng cố các thao tác làm sạch và biến đổi cột
- Xử lý một dạng báo cáo mới (xuất từ phần mềm kế toán)
- Đối chiếu số liệu giữa 2 nguồn
Ngày 3: Review 3
Kế hoạch 4 giờ
| Thời gian | Nội dung |
|---|---|
| 30 phút | Trắc nghiệm, gấp tài liệu |
| 1 giờ 15 | Bài 1: báo cáo kiểu kế toán |
| 45 phút | Bài 2: làm lại file DonHang từ đầu, tối đa 40 phút |
| 30 phút | Bài 3: đối chiếu 2 nguồn |
| 30 phút | Đối chiếu đáp án, ghi lỗi vào sổ |
1. Trắc nghiệm
2. Bài tập tổng hợp
Báo cáo xuất từ phần mềm kế toán (thời gian gợi ý: 75 phút)
Mở file BaoCao_DoanhThu_NPP_Q1_2025.xlsx bằng Excel và quan sát:
- 3 dòng tiêu đề, rồi dòng tên cột.
- Tên NPP chỉ ghi ở dòng đầu của mỗi nhóm.
- Sau mỗi NPP có dòng “Cộng NPP …”. Cuối file có dòng “TỔNG CỘNG”.
- Số lượng và Doanh thu là văn bản có dấu chấm ngăn hàng nghìn.
- Tháng ghi dạng
Tháng 01/2025.
Dùng Power Query (file .pbix mới hoặc query mới), biến báo cáo này thành bảng gọn DoanhThuNPP với các cột:
| Cột | Kiểu |
|---|---|
| Nhà phân phối | Text |
| Tháng | Date, ngày đầu tháng, ví dụ 01/01/2025 |
| Ngành hàng | Text |
| Số lượng | Whole Number |
| Doanh thu | Whole Number |
Trả lời:
- Bảng sạch có bao nhiêu dòng?
- Tổng doanh thu Q1/2025?
- Doanh thu tháng 1/2025 của NPP Gia Phát?
Đáp số:
- 270 dòng = 18 NPP x 3 tháng x 5 ngành.
- Tổng doanh thu = 12.091.023.690.
- NPP Gia Phát, tháng 1/2025 = 459.955.730.
Các bước gợi ý:
-
Get data > Excel > sheet BaoCao > Transform Data. Xóa các bước tự động Promoted Headers, Changed Type nếu có.
-
Remove Top Rows = 3 > Use First Row as Headers. Xóa bước Changed Type tự động.
-
Lọc cột Tháng > bỏ tick (null). Một bước này loại được cả 18 dòng “Cộng NPP…” và dòng “TỔNG CỘNG”, vì các dòng đó để trống cột Tháng.
-
Chọn cột Nhà phân phối > Transform > Fill > Down.
Thứ tự bước 3 và 4 có quan trọng không? Ở file này thì không, vì dòng “Cộng…” có giá trị riêng ở cột Nhà phân phối nên không bị Fill Down đè lên. Nhưng thói quen tốt là lọc dòng rác trước để Fill Down không “kéo” giá trị rác xuống.
-
Cột Tháng:
- Replace Values
Tháng(có dấu cách) thành rỗng → còn01/2025. - Split Column > By Delimiter
/→ 2 cộtTháng.1(tháng) vàTháng.2(năm). Đổi kiểu cả hai sang Whole Number. - Add Column > Custom Column, tên
Tháng, công thức:
Đổi kiểu sang Date. Xóa 2 cột trung gian.#date([Tháng.2], [Tháng.1], 1)
- Replace Values
-
Số lượng (thùng) và Doanh thu: Change Type > Using Locale > Whole Number, Vietnamese (Vietnam). Đổi tên
Số lượng (thùng)thànhSố lượng. -
Sắp xếp lại thứ tự cột.
#date(năm, tháng, ngày) là hàm M tạo một giá trị ngày. Bạn sẽ dùng lại nó nhiều lần.
Cách khác cho cột Tháng: sau khi bỏ chữ “Tháng ”, thêm 01/ vào trước (Transform > Format > Add Prefix) để thành 01/01/2025, rồi đổi kiểu Date Using Locale vi-VN.
Làm lại file DonHang từ đầu (tối đa 40 phút, không mở bài giảng)
Query mới từ DonHang_Q1_2025_XuatTuPhanMem.xlsx. Mục tiêu là bảng sạch có:
- 10.543 dòng.
- Kênh chỉ còn
GT/MT, Vùng chuẩn hóa, Tên cửa hàng không thừa khoảng trắng. - Ngày đặt kiểu Date, Đơn giá kiểu số đúng, CK không còn null.
- Cột Thành tiền.
Bấm giờ. Ghi lại bước nào bạn phải dừng lại suy nghĩ lâu nhất.
Kiểm tra:
| Tiêu chí | Giá trị đúng |
|---|---|
| Số dòng | 10.543 |
| Tổng SL | 32.448 |
| Tổng Thành tiền | 12.091.023.690 |
| Kênh | GT 6.843 dòng, MT 3.700 dòng |
Thứ tự bước tham khảo:
- Xóa bước tự động
- Remove Top Rows 4
- Use First Row as Headers
- Remove Blank Rows
- Lọc bỏ “Mã đơn hàng” và “Tổng cộng”
- Remove Columns: Ghi chú
- Trim + Clean các cột văn bản
- Remove Duplicates
- Replace khoảng trắng kép, UPPERCASE Kênh, Capitalize Vùng
- Change Type Using Locale vi-VN cho Ngày đặt và Đơn giá; đổi kiểu các cột khác
- Replace null → 0 ở cột CK
- Custom Column Thành tiền
Lưu ý: bước 9 có thể đặt trước bước 8 cũng được. Điều bắt buộc là Trim (bước 7) phải trước Remove Duplicates (bước 8).
Đối chiếu 2 nguồn (30 phút)
Trong thực tế, bạn thường phải chứng minh số của mình khớp với số của phòng kế toán. Đặt 2 query DonHang (bài 2) và DoanhThuNPP (bài 1) trong cùng một file .pbix.
- Tạo 2 Matrix cạnh nhau: (a) DonHang: Rows = Tháng (từ Ngày đặt), Values = Thành tiền; (b) DoanhThuNPP: Rows = Tháng, Values = Doanh thu.
- Hai bảng có khớp nhau từng tháng không?
- Vì sao chưa thể đặt Ngành hàng của 2 bảng vào cùng một visual?
2. Khớp từng đồng:
| Tháng | DonHang (Thành tiền) | DoanhThuNPP (Doanh thu) |
|---|---|---|
| 1/2025 | 5.264.785.790 | 5.264.785.790 |
| 2/2025 | 3.240.399.080 | 3.240.399.080 |
| 3/2025 | 3.585.838.820 | 3.585.838.820 |
| Tổng | 12.091.023.690 | 12.091.023.690 |
3. Hai bảng chưa có quan hệ (relationship) với nhau. Kéo Ngành hàng của bảng này với Doanh thu của bảng kia vào cùng một visual, Power BI không biết nối chúng thế nào. Kết quả sẽ lặp tổng ở mọi dòng, hoặc báo lỗi.
Muốn so sánh trên cùng một visual, cần một bảng chung (ví dụ bảng Ngành hàng, bảng Date) nối với cả 2 bảng. Đó chính là mô hình dữ liệu (Star Schema), học ở tuần 5 - 6.
3. Tự đánh giá
- Trắc nghiệm đúng từ 8/10 câu
- Bài 1 ra đúng 270 dòng và tổng 12.091.023.690
- Bài 2 hoàn thành trong 40 phút
- Tôi biết dùng
#date(năm, tháng, ngày)trong Custom Column