Giới thiệu

Chào bạn! Nếu bạn là một dân văn phòng đang tìm cách tối ưu hóa quy trình báo cáo bán hàng hàng tháng mà không cần phải làm thủ công từng bước, thì bạn đã đến đúng nơi. Với Case Study 1: Báo cáo bán hàng cuối tháng tự động, bạn sẽ học được cách sử dụng công cụ mạnh mẽ như Python (pandas) để tự động hóa việc xử lý dữ liệu, tính toán KPI, tạo ra báo cáo tài chính, và sau đó sử dụng công cụ như Power BI để phân tích trực quan dữ liệu. Bài viết này sẽ giúp bạn từng bước xây dựng một hệ thống báo cáo bán hàng tự động hoàn chỉnh, từ nhập liệu, xử lý đến xuất kết quả.
1. Mục Tiêu & Kết Quả Của Báo Cáo
Mục tiêu
- Gom nhiều file Excel bán hàng từ các cửa hàng khác nhau vào một bảng dữ liệu duy nhất.
- Làm sạch & hợp nhất dữ liệu để có một bảng thống nhất dễ dàng phân tích.
- Tính toán các KPI tài chính như: Đơn hàng, Số lượng bán, Net Sales (Doanh thu ròng), Lợi nhuận, và Tỷ lệ biên lợi nhuận (Margin%).
- Xuất ra file star-schema cho Power BI để dễ dàng phân tích và trực quan hóa dữ liệu.
- Sử dụng Make.com để tự động gửi email báo cáo KPI cho quản lý khi có báo cáo mới.
Kết quả
- Tạo ra file báo cáo cuối tháng tự động bao gồm các thông tin tài chính, KPI tổng hợp và có thể xuất sang Power BI để phân tích.
- Tiết kiệm thời gian: Giảm thiểu công sức làm thủ công trong việc tổng hợp dữ liệu và báo cáo.
- Tự động hóa quá trình báo cáo: Với việc áp dụng công nghệ, bạn có thể tự động gửi email báo cáo KPI cho các quản lý mà không phải làm thủ công.
2. Các File Dữ Liệu Mẫu
Trước khi đi vào chi tiết cách thực hành, bạn sẽ cần các file dữ liệu mẫu để có thể thực hành cùng với bài viết này. Dưới đây là những file mẫu mà bạn sẽ sử dụng trong quá trình thực hành:
- File dữ liệu bán hàng cho các tháng:
sales_2025-07_storeA.xlsx,sales_2025-07_storeB.xlsx,sales_2025-08_storeA.xlsx. - File tham chiếu chi phí sản phẩm:
product_costs.xlsx– Bao gồm thông tin về các sản phẩm và chi phí sản xuất. - File báo cáo tổng hợp: Sau khi hoàn thành quy trình ETL, bạn sẽ có file
sales_consolidated.xlsxđể phân tích dữ liệu. - File CSV cho Power BI:
FactSales.csvvàKPI_Summary.csv.
Tải các file mẫu:
- sales_2025-07_storeA.xlsx
- sales_2025-07_storeB.xlsx
- sales_2025-08_storeA.xlsx
- product_costs.xlsx
- sales_consolidated.xlsx
- FactSales.csv
- KPI_Summary.csv
- CASE_STUDY_1_README.txt
3. Quy Trình Làm Việc – Từ Nhập Liệu Đến Báo Cáo
Quy trình làm việc này bao gồm ba bước chính: Nhập liệu, Xử lý dữ liệu (ETL), và Xuất báo cáo.
Bước 1: Nhập Liệu (Sales Data)
Các file nhập liệu của bạn sẽ có cấu trúc tương tự như sau:
- OrderID: Mã đơn hàng.
- OrderDate: Ngày đặt hàng.
- Region: Vùng bán hàng (miền).
- Store: Cửa hàng bán hàng.
- Salesperson: Nhân viên bán hàng.
- ProductID: Mã sản phẩm.
- ProductName: Tên sản phẩm.
- Qty: Số lượng bán.
- UnitPrice: Giá bán mỗi đơn vị.
- DiscountRate: Tỷ lệ giảm giá.
- Shipping: Phí vận chuyển.
- PaymentMethod: Phương thức thanh toán (Thẻ, Tiền mặt, Online).
- TaxRate: Tỷ lệ thuế.
Bước 2: Xử lý Dữ Liệu (ETL)
Chúng ta sẽ sử dụng Python (pandas) để thực hiện công việc này. Cụ thể, chúng ta sẽ thực hiện các bước sau:
Làm sạch dữ liệu
- Chuyển đổi các kiểu dữ liệu cho các cột:
OrderDate,Qty,UnitPrice,DiscountRate,Shipping,TaxRate. - Loại bỏ các giá trị thiếu hoặc không hợp lệ.
Tính toán các chỉ số tài chính
- Gross =
Qty * UnitPrice: Doanh thu trước thuế. - DiscountAmount =
Gross * DiscountRate: Tiền giảm giá. - NetSales =
Gross - DiscountAmount: Doanh thu ròng. - TaxAmount =
NetSales * TaxRate: Tiền thuế. - Total =
NetSales + TaxAmount + Shipping: Tổng thanh toán. - COGS =
Qty * UnitCost: Chi phí hàng hóa bán ra. - Profit =
NetSales - COGS: Lợi nhuận. - Margin% =
Profit / NetSales: Tỷ lệ biên lợi nhuận.
Thực hiện các phép tính trên dữ liệu
Bạn sẽ thực hiện tính toán các trường tài chính trên toàn bộ dữ liệu đã hợp nhất và lưu vào một file Excel mới có tên sales_consolidated.xlsx.
Bước 3: Xuất Báo Cáo
Sau khi xử lý dữ liệu, chúng ta sẽ tạo ra các bảng dữ liệu để sử dụng trong Power BI và KPI Summary cho báo cáo email.
- FactSales: Đây là bảng dữ liệu chi tiết với các thông tin như Mã sản phẩm, Doanh thu, Chi phí, Lợi nhuận.
- DimDate, DimProduct, DimSalesperson, DimRegion: Các bảng chiều dữ liệu để kết nối với FactSales trong Power BI.
- KPI_Summary: Tổng hợp các KPI theo tháng và khu vực, giúp gửi báo cáo KPI nhanh chóng.
4. Tạo Báo Cáo trong Power BI
1) Cấu trúc Mô Hình Dữ Liệu
Sau khi xuất file sales_consolidated.xlsx, bạn sẽ import vào Power BI. Dưới đây là cách tạo mối quan hệ giữa các bảng dữ liệu:
- FactSales[ProductID] → DimProduct[ProductID]
- FactSales[Salesperson] → DimSalesperson[Salesperson]
- FactSales[Region] → DimRegion[Region]
- FactSales[OrderDate] → DimDate[Date]
2) Tạo Các Measures DAX
Dưới đây là các DAX measures bạn có thể sử dụng trong Power BI:
Net Sales := SUM(FactSales[NetSales])
Profit := SUM(FactSales[Profit])
Margin % := DIVIDE([Profit], [Net Sales])
Orders := COUNTROWS(FactSales)
Units := SUM(FactSales[Qty])
MoM Net Sales % :=
VAR Prev =
CALCULATE([Net Sales], DATEADD(DimDate[Date], -1, MONTH))
RETURN DIVIDE([Net Sales] - Prev, Prev)
3) Xây Dựng Dashboard
- Cards: Hiển thị các chỉ số quan trọng như Net Sales, Profit, Margin %, Orders, Units.
- Line chart: Hiển thị doanh thu theo thời gian (theo tháng hoặc quý).
- Bar chart: So sánh doanh thu giữa các khu vực (Region) hoặc nhân viên bán hàng (Salesperson).
- Table: Liệt kê các sản phẩm và các chỉ số KPI.
5. Tự Động Gửi Email Báo Cáo KPI
Sau khi báo cáo được xuất ra, bạn có thể sử dụng Make.com để tự động gửi email báo cáo cho các quản lý khi có báo cáo mới. Các bước chính trong quá trình này:
1) Tạo Kịch Bản Tự Động (Make.com)
- Tạo lịch trình: Chạy báo cáo tự động vào cuối mỗi tháng (6:00 PM).
- Tìm file báo cáo mới: Tìm kiếm file
sales_consolidated.xlsxtrong Google Drive. - Gửi email: Gửi email với KPI Summary trong phần nội dung và đính kèm file báo cáo.
2) Mẫu Email HTML
<h3>Báo cáo KPI doanh thu – {{Month}}/{{Year}}</h3>
<p>Net Sales: <b>{{NetSales}}</b> | Profit: <b>{{Profit}}</b> | Margin: <b>{{MarginPct}}%</b> | Orders: <b>{{Orders}}</b></p>
<table border="1" cellpadding="6" cellspacing="0">
<tr><th>Region</th><th>Orders</th><th>Units</th><th>Net Sales</th><th>Profit</th><th>Margin%</th></tr>
{{#each KPI_ByRegion}}
<tr>
<td>{{Region}}</td><td>{{Orders}}</td><td>{{Units}}</td>
<td>{{NetSales}}</td><td>{{Profit}}</td><td>{{MarginPct}}</td>
</tr>
{{/each}}
</table>
<p>Xem dashboard Power BI: {{PowerBI_Link}}</p>
6. Best Practices Triển Khai
Dưới đây là một số best practices để triển khai báo cáo tự động hiệu quả:
- Đặt tên cột thống nhất trong quá trình ETL để tránh nhầm lẫn khi phân tích.
- Ép kiểu dữ liệu rõ ràng trước khi tính toán để tránh gặp phải dữ liệu không hợp lệ.
- Sử dụng star-schema trong Power BI để mô hình dữ liệu trở nên rõ ràng và dễ hiểu.
- Kiểm tra lỗi dữ liệu để đảm bảo không có giá trị thiếu hay lỗi trong quá trình tính toán.
- Bảo mật dữ liệu: Đảm bảo các file chi tiết chỉ được chia sẻ với những người có quyền truy cập.
Kết Luận
Với quy trình tự động hóa báo cáo bán hàng này, bạn sẽ có thể tiết kiệm thời gian và nâng cao hiệu quả công việc. Bằng cách sử dụng Python để xử lý dữ liệu và Power BI để trực quan hóa, bạn có thể dễ dàng phân tích hiệu suất bán hàng và gửi báo cáo hàng tháng mà không phải làm thủ công. Hãy bắt tay vào thực hành và trải nghiệm hiệu quả ngay hôm nay!
Chúc bạn thành công trong việc triển khai báo cáo tự động!