Giao diện
Ví dụ sử dụng - Dynamic Calculation
Ví dụ 1: Tính tổng đơn hàng với chiết khấu và VAT
Tính thành tiền cho đơn hàng: subtotal sau chiết khấu, cộng phí ship, cộng VAT.
Cấu hình node Dynamic Calculation (bước cuối):
engine:math.jsexpression:(discounted + shipping) * 1.1scope:{ "discounted": "node2.result", "shipping": "record.shippingFee" }outputType:number
Mỗi bước tính toán sử dụng kết quả bước trước qua scope mapping. Engine math.js đảm bảo phép tính chính xác với số thập phân.
Ví dụ 2: Tính hoa hồng theo bậc doanh thu
Tính hoa hồng cho nhân viên bán hàng theo bậc: dưới 50M được 5%, 50-100M được 7%, trên 100M được 10%.
Cấu hình node Dynamic Calculation (tính rate):
engine:formula.jsexpression:IF(revenue >= 100000000, 0.10, IF(revenue >= 50000000, 0.07, 0.05))scope:{ "revenue": "aggregateNode.result" }outputType:number
Engine formula.js hỗ trợ hàm IF lồng nhau giống spreadsheet, phù hợp cho logic phân bậc. Kết quả rate được nhân với doanh thu ở node tiếp theo.
Ví dụ 3: Tính điểm ưu tiên khách hàng
Tính điểm ưu tiên dựa trên nhiều yếu tố: số đơn hàng, tổng chi tiêu, thời gian là khách hàng.
Cấu hình node Dynamic Calculation:
engine:math.jsexpression:orderCount * 0.3 + spendScore * 0.5 + loyaltyYears * 0.2scope:{ "orderCount": "agg1.result", "spendScore": "agg2.result / 1000000", "loyaltyYears": "dateCalc.result" }outputType:number
Scope mapping kết hợp kết quả từ nhiều node trước (Aggregate, Date Calculation) vào một biểu thức tính điểm tổng hợp.