081+ Kiếp Nạn DAX Challenges

PBI Challenge #013 | Power BI Thực Chiến | 100+ Challenges & Cases

Topic: FIFO Inventory Cost Breakdown – Kết hợp Power Query M Code & DAX

FIFO Inventory Cost Breakdown

Yêu Cầu 01

  • Tạo ra một bảng trung gian FIFO Allocation giúp phân bổ chi tiết từng đơn hàng (Sale). Bảng này cần trả lời được câu hỏi: Đơn hàng đó lấy hàng từ Lô nhập (Lot) nào? Số lượng bao nhiêu? Giá vốn tương ứng là bao nhiêu?
  • Logic FIFO (First-In, First-Out): Hàng nhập trước phải được xuất bán trước.
  • Ví dụ:
    • Đơn hàng Sale#1 bán 120 sản phẩm X vào ngày 03/01/2021. Hệ thống sẽ kiểm tra kho tồn khả dụng trước ngày bán:
      • Lot#1 (Nhập 01/01/2021): Còn 100 units (Giá $10/unit).
      • Lot#3 (Nhập 02/01/2021): Còn 50 units (Giá $12/unit).
    • Cách tính phân bổ:
      • Lấy ưu tiên từ lô cũ nhất (Lot#1). Lấy hết 100 units → Cost = 100 × $10 = $1,000
      • Đơn hàng vẫn thiếu 20 units. Lấy tiếp từ lô cũ tiếp theo (Lot#3). Lấy 20 units → Cost = 20 × $12 = $240
      • Tổng giá vốn (COGS) cho Sale#1 là = $1,000 + $240 = $1,240
SaleIDSale_DatePurchaseIDPurchase_DateProductQtyUsedUnit CostTotal CostLabel
103/01/2021101/01/2021Product X100101000$1,000 (Lot #1)
103/01/2021302/01/2021Product X2012240$240 (Lot #3)
203/12/2021302/01/2021Product X3012360$360 (Lot #3)
303/14/2021201/14/2021Product Y2020400$400 (Lot #2)
403/15/2021201/14/2021Product Y3020600$600 (Lot #2)
403/15/2021502/15/2021Product Y2021420$420 (Lot #5)
503/20/2021602/20/2021Product Z4515675$675 (Lot #6)
603/25/2021602/20/2021Product Z1515225$225 (Lot #6)
603/25/2021703/01/2021Product Z1516240$240 (Lot #7)

Yêu Cầu 02: Tính FIFO COGS

  • Tính Tổng giá vốn hàng bán (Total Cost of Goods Sold) của từng đơn bán theo FIFO.
SaleIDChi tiết cách tínhKết quả
1100×$10 + 20×$12$1,240
230×$12$360
320×$20$400
430×$20 + 20×$21$1,020
545×$15$675
615×$15 + 15×$16$465

Yêu Cầu 03: Tính FIFO Unit Cost

  • Tính Giá vốn đơn vị (Unit Cost) trung bình để so sánh.

Yêu Cầu 04

  • Xác định chính xác số lượng hàng tồn kho còn lại trong từng lô nhập (Lot) sau khi đã thực hiện phân bổ xuất kho
PurchaseIDSL Nhập (Original)Chi tiết các đơn đã xuấtTồn cuối (Remaining)
1100Xuất hết cho Sale#1 (100)0
250Xuất cho Sale#3 (20) + Sale#4 (30)0
350Xuất cho Sale#1 (20) + Sale#2 (30)0
480Chưa phát sinh xuất kho80
540Xuất một phần cho Sale#4 (20)20
660Xuất cho Sale#5 (45) + Sale#6 (15)0
740Xuất một phần cho Sale#6 (15)25

Yêu Cầu 05

  • Sử dụng biểu đồ cột chồng (Stacked Bar Chart) để trực quan hóa cấu trúc giá vốn. Visual này sẽ giúp người xem trả lời ngay lập tức câu hỏi: “Đơn hàng này có giá trị bao nhiêu và nó được ghép lại từ những Lô hàng (Lot) nào?”
  • Thiết lập Tooltips: Khi người dùng di chuột vào từng đoạn màu trên thanh bar, thông tin chi tiết cần hiện ra như sau:
    • SaleID: 1
    • PurchaseID: 3
    • Total Cost: 240.00
    • Chi tiết: Lấy 20 units từ Lot #3 (Nhập: 01/02/2021) | Giá $12/unit = $240
  • Ý nghĩa Visual
    • Độ dài thanh Bar: Tổng giá vốn của đơn hàng.
    • Các đoạn màu (Segments): Cho thấy đơn hàng bị tách ra lấy từ nhiều lô hay chỉ lấy trọn vẹn từ 1 lô.

Khóa Học Phân Tích Dữ Liệu Với Power BI | Học Power BI Thực Chiến | Learning by Doing 100 Challenges & Cases | Inbox mình Tại Đây.