EzTech

Dashboard đa kênh Shopee, Lazada, TikTok Shop: gộp số thế nào

2026-09-15 · Power BI & Dashboard

Dashboard đa kênh Shopee, Lazada, TikTok Shop: gộp số thế nào

Shop bán trên cả Shopee, Lazada và TikTok Shop. Cuối tháng, câu hỏi của chủ shop rất ngắn: tháng này cả ba sàn bán được bao nhiêu, sàn nào lời hơn sau khi trừ phí?

Câu trả lời thì không ngắn. Ba sàn xuất ba bộ file khác nhau ở gần như mọi chỗ: tên cột, cách ghi ngày, tên trạng thái đơn, số dòng cho một đơn, và cả cách xếp các khoản phí. Cộng thẳng ba file vào một bảng thì ra một con số, nhưng con số đó không trả lời được câu hỏi nào.

Bài này đi qua sáu chỗ lệch nhau cụ thể, đo trên bộ file xuất thật mà đội ngũ EzTech dùng để dựng mẫu báo cáo sàn, rồi hướng dẫn cách đưa cả ba về một bảng chung để dựng dashboard đa kênh trên Power BI.

Hai chiếc laptop đặt cạnh nhau trên bàn gỗ, một người đang gõ trên chiếc bên trái
Ba sàn, ba cửa sổ trình duyệt, ba bộ file xuất, và một câu hỏi cần một con số. (Ảnh: StockSnap)

Dashboard đa kênh cần hai loại file từ mỗi sàn

Mỗi sàn cho xuất hai loại file, và mỗi loại trả lời một nhóm câu hỏi khác nhau:

  • File đơn hàng: có bao nhiêu đơn, trạng thái ra sao, giao đi tỉnh nào, sản phẩm nào. Dùng để đếm đơn và tính tỷ lệ hủy, tỷ lệ hoàn.
  • File đối soát (thu nhập): tiền về cho từng đơn sau khi trừ từng khoản phí. Dùng cho mọi câu hỏi về tiền.

Nguyên tắc đầu tiên: tiền lấy từ file đối soát, số đơn lấy từ file đơn hàng. File đơn hàng ghi nhận lúc đặt, có khoản còn ở dạng dự kiến (file Shopee có hẳn cột "Phí vận chuyển (dự kiến)"); số tiền thật chỉ chốt khi sàn quyết toán. Chi tiết về cách đọc file đối soát của Shopee có ở bài đối chiếu tiền về từ sàn TMĐT.

Sáu chỗ file xuất của ba sàn lệch nhau

1. Ngày tháng: bốn cách ghi, tất cả đều là chữ

Trong bộ file mẫu, cột thời gian của cả ba sàn đều được lưu dưới dạng chữ chứ không phải kiểu ngày, và mỗi file ghi một kiểu:

FileCách ghi thời gian
TikTok Shop, file đơn hàng19/09/2024 07:57:42
TikTok Shop, file đối soát2024/07/31
Lazada, file đơn hàng31 Aug 2024 21:17
Shopee, file đơn hàng2024-08-01 09:26

Ngay trong cùng một sàn, TikTok Shop ghi hai kiểu khác nhau cho hai loại file. Lazada dùng tên tháng tiếng Anh viết tắt. Mỗi truy vấn phải ép kiểu ngày riêng, bằng Change Type → Using Locale với đúng vùng ngôn ngữ của file đó. Dùng chung một bước chuyển kiểu cho cả ba thì ngày 01/08 dễ bị đọc thành 08/01. Cách xử lý chi tiết ở bài sửa lỗi ngày tháng trong Power Query.

2. Trạng thái đơn: ba ngôn ngữ, ba cách đặt tên

  • TikTok Shop: tiếng Anh viết hoa chữ đầu (Completed, Canceled, Shipped), cộng thêm một cột trạng thái con (Delivered, In Transit).
  • Lazada: tiếng Anh chữ thường (confirmed, canceled, returned).
  • Shopee: tiếng Việt (Hoàn thành, Đã hủy, Đang giao).

Cần một bảng ánh xạ trạng thái: mỗi dòng là một cặp sàn và trạng thái gốc, kèm một cột trạng thái chung (hoàn thành, hủy, hoàn, đang xử lý). Bảng này cũng là chỗ ghi lại quyết định "đơn đang giao có tính vào doanh số tháng này không", thay vì để mỗi người tự hiểu một kiểu.

3. Một đơn nhiều dòng, mỗi sàn một mức

File đơn hàng của cả ba sàn đều tách mỗi sản phẩm trong đơn thành một dòng riêng. Đếm số dòng không phải là đếm số đơn:

  • File Lazada tháng 8 có 555 dòng nhưng chỉ 236 mã đơn.
  • File TikTok Shop có 256 dòng cho 241 mã đơn.
  • File Shopee tháng 8 có 197 dòng cho 184 mã đơn.

Mức chênh khác nhau giữa ba sàn tùy vào việc khách hay mua nhiều món trong một đơn đến đâu. Nếu dashboard đếm dòng thay vì đếm mã đơn duy nhất, sàn nào khách mua nhiều món sẽ trông như bán được nhiều đơn hơn hẳn. Số đơn phải là số mã đơn khác nhau, và phần tiền đi kèm phải cộng ở đúng một tầng, không cộng cả tầng đơn lẫn tầng sản phẩm.

4. Dòng mô tả nằm lẫn trong dữ liệu

File đơn hàng TikTok Shop có một dòng thứ hai ngay dưới tiêu đề, dùng để giải thích từng cột: ô dưới "Order ID" ghi "Platform unique order ID.", ô dưới "Order Status" ghi "Current order status.".

Nếu không bỏ dòng này, bảng sẽ có thêm một đơn giả và một trạng thái lạ. Khi đổi cột tiền sang kiểu số, ô chứa chữ ở dòng này còn báo Error. Bước Remove Top Rows phải đặt ngay sau bước dùng dòng đầu làm tiêu đề.

5. Phí nằm ngang ở sàn này, nằm dọc ở sàn kia

Đây là chỗ lệch ảnh hưởng tới cấu trúc bảng nhiều nhất.

  • TikTok Shop và Shopee: mỗi đơn là một dòng, mỗi loại phí là một cột.
  • Lazada: mỗi loại phí của mỗi đơn là một dòng riêng. File đối soát tháng 9 có 4.378 dòng cho 381 mã đơn, với 20 tên phí khác nhau nằm chung trong một cột.

Muốn gộp ba sàn thì phải đưa về cùng một hình dạng. Dạng nên chọn là dạng dọc của Lazada: một dòng là một khoản tiền của một đơn. Với TikTok Shop và Shopee, chọn các cột phí rồi dùng Unpivot Columns để xoay thành dòng. Cách dùng Unpivot có ở bài Unpivot trong Power Query.

Sơ đồ đưa ba sàn về cùng hình dạng: file TikTok Shop và Shopee mỗi khoản một cột được Unpivot thành dòng, file Lazada vốn mỗi khoản một dòng, cả ba ghép thành bảng chung với tên khoản gốc khác nhau cùng quy về một chỉ tiêu
Hai sàn xếp các khoản theo cột, một sàn xếp theo dòng. Bảng chung chọn dạng dòng, và ba tên gốc khác nhau quy về cùng một chỉ tiêu.

6. Tên khoản phí: rất ít khoản có ở cả ba sàn

Sau khi xoay về dạng dọc, cột "tên khoản" của ba sàn vẫn không khớp nhau. Bảng danh mục mà đội ngũ EzTech dùng để ánh xạ phí của các sàn có 62 chỉ tiêu. Đối chiếu với ba file đối soát:

  • Chỉ 3 chỉ tiêu có tên tương ứng ở cả ba sàn: doanh số trước giảm giá, giảm giá do người bán chịu, và hoàn doanh số.
  • 41 chỉ tiêu chỉ xuất hiện ở đúng một sàn.

Ngay cả chỉ tiêu có ở cả ba sàn cũng mang ba cái tên: doanh số trước giảm giá là "Subtotal before discounts" ở TikTok Shop, "Giá gốc" ở Shopee, và "Giá trị sản phẩm" ở Lazada. Ở Lazada, giảm giá của người bán còn xuất hiện dưới dạng một dòng phí tên "Phí khuyến mãi mã giảm giá", trong khi ở hai sàn kia nó là một cột giảm trừ doanh số.

Vì vậy không thể gộp phí bằng cách so tên. Cần một bảng danh mục chỉ tiêu: mỗi dòng là một chỉ tiêu chung, mỗi cột là tên gốc tương ứng ở từng sàn, kèm cột nhóm khoản mục để dashboard cộng lên.

Cấu trúc bảng chung cho dashboard đa kênh

Bảng danh mục gom 62 chỉ tiêu vào 5 nhóm khoản mục. Đây cũng là 5 dòng nên có trên trang tổng quan của dashboard:

  1. Doanh số sau giảm giá của người bán
  2. Hoàn doanh số
  3. Phí vận chuyển người bán chịu
  4. Phí sàn
  5. Điều chỉnh

Bảng dữ liệu chung sau khi gộp có dạng dọc, mỗi dòng một khoản tiền:

CộtNội dung
Ngày quyết toánĐã ép kiểu ngày theo đúng định dạng của từng sàn
SànShopee, Lazada, TikTok Shop
ShopTên gian hàng, khi một sàn có nhiều gian
Mã đơnĐể nối sang bảng đơn hàng
Chỉ tiêuTên chung lấy từ bảng danh mục
Khoản mụcMột trong 5 nhóm ở trên
Số tiềnGiữ nguyên dấu âm của phí như file gốc
Sơ đồ luồng dữ liệu dashboard đa kênh: file đối soát của ba sàn mỗi sàn một nhánh làm sạch riêng, ép kiểu ngày bằng Using Locale, Unpivot phí, rồi Merge với bảng danh mục chỉ tiêu và Append thành bảng chung
Mỗi sàn một nhánh xử lý riêng, gặp nhau ở bảng danh mục và bảng chung.

Các bước dựng bằng Power Query

  1. Mỗi sàn một thư mục, mỗi loại file một thư mục con. Nạp bằng Get Data → From Folder để kỳ sau chỉ cần thả file mới vào. Cách gộp nhiều file cùng cấu trúc có ở bài gộp nhiều file Excel bằng Power Query.
  2. Làm sạch riêng từng sàn: bỏ các dòng tiêu đề thừa (file đối soát Shopee có ba tầng tiêu đề, file đơn hàng TikTok Shop có dòng mô tả), ép kiểu ngày bằng Using Locale theo định dạng của từng file, đổi cột tiền sang kiểu số.
  3. Đưa về dạng dọc: Unpivot các cột phí của TikTok Shop và Shopee. Lazada giữ nguyên.
  4. Merge với bảng danh mục chỉ tiêu theo cặp sàn và tên gốc, kiểu Left Outer. Lọc các dòng không tìm thấy chỉ tiêu chung: số dòng này phải bằng 0. Mỗi khi sàn đổi mẫu file hoặc thêm loại phí mới, đây là chỗ báo đầu tiên.
  5. Append ba truy vấn thành bảng chung, thêm cột Sàn trước khi Append.
  6. Làm tương tự cho file đơn hàng, với bảng ánh xạ trạng thái thay cho bảng danh mục chỉ tiêu, và đếm đơn bằng số mã đơn duy nhất.

Dashboard nên có những trang nào

  • Tổng quan theo sàn: 5 nhóm khoản mục xếp theo cột sàn, cuối cùng là tiền thực về. Đây là trang trả lời câu "sàn nào lời hơn sau phí".
  • Phí sàn chi tiết: tỷ lệ từng loại phí trên doanh số, theo tháng. Phí mới xuất hiện hoặc tăng đột biến sẽ hiện ra ở đây.
  • Đơn hàng: số đơn, tỷ lệ hủy và hoàn theo trạng thái chung, theo tỉnh thành. Tên tỉnh cũng cần một bảng chuẩn hóa riêng trước khi lên biểu đồ.

Hai mẫu báo cáo sàn Shopee và báo cáo sàn TikTok Shop trong kho báo cáo của EzTech mở xem trực tiếp được, để hình dung bố cục từng trang trước khi tự dựng.

Câu hỏi thường gặp

Chỉ bán trên hai sàn thì có cần làm đủ các bước này không?

Có. Hai sàn đã đủ để lệch nhau về ngày, trạng thái, tên phí và hình dạng bảng. Làm đúng cấu trúc từ đầu thì khi mở thêm sàn thứ ba, chỉ cần thêm một nhánh xử lý và thêm một cột vào bảng danh mục.

So sánh các sàn với nhau có công bằng không?

Chỉ công bằng khi cùng một cách tính. Nếu tỷ lệ hủy của sàn này đếm cả đơn khách tự hủy trước khi xác nhận còn sàn kia không đếm, hai con số không so được với nhau. Bảng ánh xạ trạng thái là nơi thống nhất định nghĩa đó, và nên được ghi rõ ngay trên dashboard.

Sàn đổi mẫu file xuất thì sao?

Có xảy ra: ngay file đối soát của Shopee cũng đã có những mẫu khác nhau về số cột. Bước kiểm "số dòng không tìm thấy chỉ tiêu phải bằng 0" ở bước 4 sẽ báo ngay khi có tên cột hoặc tên phí mới. Khi đó chỉ cần bổ sung một dòng vào bảng danh mục, không phải sửa lại truy vấn.

File xuất có thông tin người mua, chia sẻ dashboard có sao không?

File đơn hàng và file đối soát có tên đăng nhập người mua, một số file còn có tên người nhận. Bỏ các cột này ngay ở bước làm sạch nếu dashboard không cần, trước khi chia sẻ cho người khác.

Bắt đầu từ đâu

Tải file đối soát tháng gần nhất của từng sàn đang bán, mở cả ba cạnh nhau và liệt kê tên các cột phí. Danh sách đó là bản nháp đầu tiên của bảng danh mục chỉ tiêu.

Khóa DATA FINANCE của EzTech đi từ Power Query chuyên sâu trong Excel đến báo cáo quản trị trên Power BI, dành cho người làm kế toán, tài chính. Cần dựng dashboard đa kênh cho dữ liệu cụ thể của shop thì để lại thông tin ở trang liên hệ.

Chat ZaloGọi điệnMessengerTìm đường