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

Dữ liệu cần tải

Ngày 3: Review 3

Kế hoạch 4 giờ

Thời gianNội dung
30 phútTrắc nghiệm, gấp tài liệu
1 giờ 15Bài 1: báo cáo kiểu kế toán
45 phútBài 2: làm lại file DonHang từ đầu, tối đa 40 phút
30 phútBà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ộtKiểu
Nhà phân phốiText
ThángDate, ngày đầu tháng, ví dụ 01/01/2025
Ngành hàngText
Số lượngWhole Number
Doanh thuWhole Number

Trả lời:

  1. Bảng sạch có bao nhiêu dòng?
  2. Tổng doanh thu Q1/2025?
  3. Doanh thu tháng 1/2025 của NPP Gia Phát?

Đáp số:

  1. 270 dòng = 18 NPP x 3 tháng x 5 ngành.
  2. Tổng doanh thu = 12.091.023.690.
  3. NPP Gia Phát, tháng 1/2025 = 459.955.730.

Các bước gợi ý:

  1. Get data > Excel > sheet BaoCao > Transform Data. Xóa các bước tự động Promoted Headers, Changed Type nếu có.

  2. Remove Top Rows = 3 > Use First Row as Headers. Xóa bước Changed Type tự động.

  3. 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.

  4. 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.

  5. Cột Tháng:

    • Replace Values Tháng (có dấu cách) thành rỗng → còn 01/2025.
    • Split Column > By Delimiter / → 2 cột Thá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:
      #date([Tháng.2], [Tháng.1], 1)
      Đổi kiểu sang Date. Xóa 2 cột trung gian.
  6. 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ành Số lượng.

  7. 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òng10.543
Tổng SL32.448
Tổng Thành tiền12.091.023.690
KênhGT 6.843 dòng, MT 3.700 dòng

Thứ tự bước tham khảo:

  1. Xóa bước tự động
  2. Remove Top Rows 4
  3. Use First Row as Headers
  4. Remove Blank Rows
  5. Lọc bỏ “Mã đơn hàng” và “Tổng cộng”
  6. Remove Columns: Ghi chú
  7. Trim + Clean các cột văn bản
  8. Remove Duplicates
  9. Replace khoảng trắng kép, UPPERCASE Kênh, Capitalize Vùng
  10. Change Type Using Locale vi-VN cho Ngày đặt và Đơn giá; đổi kiểu các cột khác
  11. Replace null → 0 ở cột CK
  12. 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.

  1. 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.
  2. Hai bảng có khớp nhau từng tháng không?
  3. 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ángDonHang (Thành tiền)DoanhThuNPP (Doanh thu)
1/20255.264.785.7905.264.785.790
2/20253.240.399.0803.240.399.080
3/20253.585.838.8203.585.838.820
Tổng12.091.023.69012.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