fct_sales — Bảng fact bán hàng
Bảng fact trung tâm của DataValue — mỗi dòng là một dòng của một đơn bán (sale.order.line), đã làm giàu đủ chiều phân tích và các chỉ tiêu lợi nhuận (MPA).
- Grain: một dòng = một dòng hàng trong một đơn bán.
- Engine:
MergeTree· ORDER BY(order_date). - Nguồn (dbt):
stg_sale_order_line⋈stg_sale_order⋈stg_res_partner⋈stg_product_product⋈stg_product_template⋈dim_product(Ngành + Nhóm) ⋈stg_crm_team⋈dim_vn_geo⋈dim_salesman⋈dim_customer. - Cube:
sales(21 chỉ tiêu).
Khoá & chiều
Phần tiêu đề “Khoá & chiều”| Cột | Kiểu | Mô tả |
|---|---|---|
order_date | Date | Ngày đặt đơn — khoá sắp xếp. Từ sale_order.date_order. |
order_id | Int64 | Mã đơn bán. Từ sale_order.id. |
customer | Nullable(String) | Tên khách hàng. Từ res_partner.name. |
customer_group | String | Nhóm khách theo giá trị (Chiến lược/Khách lớn/Khách vừa/Khách nhỏ). Từ dim_customer. |
salesman | String | Nhân viên bán. Từ dim_salesman (gán theo khách — demo). |
product | String | Tên sản phẩm. Từ product_template.name (đã tách jsonb). |
channel | String | Kênh bán. Từ crm.team (đã Việt hoá). |
business_line | String | Ngành hàng. Từ dim_product (định nghĩa Ngành 1 nơi). |
category | String | Nhóm sản phẩm (danh mục Odoo). Từ dim_product. |
region | String | Miền (Bắc/Trung/Nam). Từ dim_vn_geo theo tỉnh. |
province | String | Tỉnh/Thành. Từ res_partner.city. |
Chỉ tiêu
Phần tiêu đề “Chỉ tiêu”Nguồn giá trị: Odoo = field gốc của Odoo (dbt bê thẳng / ép kiểu / join) · dbt tính = công thức đơn giản trên số Odoo. Giá vốn (COGS) lấy từ cost master của Odoo (
standard_price) — dbt chỉ join ×qty, không bịa.
| Cột | Kiểu | Nguồn | Mô tả |
|---|---|---|---|
qty | Decimal(38,9) | Odoo | Số lượng bán. Từ sale_order_line.product_uom_qty. |
revenue | Float64 | Odoo | Doanh thu thuần (chưa thuế). Từ price_subtotal. |
amount_total | Float64 | Odoo | Doanh thu gồm thuế. Từ price_total. |
tax | Float64 | Odoo | Tiền thuế (VAT). Từ price_tax — field gốc của Odoo. |
list_amount | Float64 | Odoo | Giá niêm yết × SL (trước chiết khấu) = qty × price_unit. |
cost | Float64 | Odoo | Giá vốn (COGS) = qty × standard_price (cost master Odoo, qua dim_product). Demo thiếu → tạm 62% giá niêm yết; production dùng stock.valuation.layer. |
gross_profit | Float64 | dbt tính | Lợi nhuận gộp = revenue − cost. |
discount_amount | Float64 | dbt tính | Chiết khấu = list_amount − revenue. |
Chỉ tiêu trong Cube sales
Phần tiêu đề “Chỉ tiêu trong Cube sales”Doanh thu · Doanh thu gồm thuế · Thuế · Giá vốn · Lợi nhuận gộp · Biên lợi nhuận % · Giá trị niêm yết · Chiết khấu · Tỷ lệ chiết khấu · Sản lượng · Số đơn · Số dòng · Số khách hàng · Số sản phẩm · Giá trị đơn TB · Giá bán TB · SL/đơn · Doanh thu/khách · LN gộp/đơn · Đơn đầu tiên · Đơn gần nhất.
Quan hệ
Phần tiêu đề “Quan hệ”product→dim_product→business_line(Ngành) +category(Nhóm).province→dim_vn_geo→region(VN → Miền → Tỉnh).partner_id(đơn) →dim_customer→customer_group; →dim_salesman→salesman.customer/product/channel/tax/cost= từ Odoo (cost=standard_price);region/salesman/customer_group= gán/suy diễn (demo);business_line/category= từdim_product.