Hướng dẫn cách tính cột lũy kế khi lập BAQ hoặc trong SQL

Giả sử, chúng ta đang có một Table dữ liệu thu chi như sau:

Table: ThuChi
SttNgàyDiễn giảiThuChi
112/05/2022Thu tiền hàng 10,000,000
212/05/2022Thanh toán vật tư 2,000,000
312/05/2022Thu tiền tạm ứng   3,000,000
412/08/2022Trả tiền hàng 2,500,000
512/08/2022Trả tiền hàng    500,000
612/10/2022Trả tiền hàng 2,300,000
712/10/2022Thu tiền   7,000,000
812/10/2022Tạm ứng tiền    500,000
912/13/2022Tạm ứng tiền    300,000
1012/14/2022Trả tiền hàng    500,000
Tổng cộng 20,000,0008,600,000
Nếu bạn dùng excel thì chúng ta dễ dàng lập công thức để tính được cột số tiền tồn cuối như sau: (Tồn cuối= Tồn đầu kỳ + Thu - Chi)
Soquy
SttNgayDiengiaiThuChiToncuoi
112/05/2022Thu tiền 10,000,000 10,000,000
212/05/2022Thanh toán vật tư 2,000,000   8,000,000
312/05/2022Thu tiền tạm ứng   3,000,000 11,000,000
412/08/2022Trả tiền hàng 2,500,000   8,500,000
512/08/2022Trả tiền hàng    500,000   8,000,000
612/10/2022Trả tiền hàng 2,300,000   5,700,000
712/10/2022Thu tiền   7,000,000 12,700,000
812/10/2022Tạm ứng tiền    500,000 12,200,000
912/13/2022Tạm ứng tiền    300,000 11,900,000
1012/14/2022Trả tiền hàng    500,000 11,400,000
Tổng cộng 20,000,0008,600,00011,400,000
Nhưng trong BAQ của Epicor không hỗ trợ sẵn function để dễ dàng làm công việc này. Nếu muốn có cột lũy kế, chúng ta buộc phải xử lý trong Crystal report, hoặc phải giải quyết bằng code sử dụng update query…Tuy nhiên, chúng ta cũng có thể tạo ra lũy kế bằng BAQ với thủ thuật sau đây:
Bước 1. Trước hết bạn lập một SubQuery để tính ra cột phát sinh quỹ bằng cách lấy thu trừ đi chi (như hình bên dưới)
SubPhatsinh
SttNgayDiengiaiThuChiPhatsinh
112/05/2022Thu tiền 10,000,000    10,000,000
212/05/2022Thanh toán vật tư 2,000,000    (2,000,000)
312/05/2022Thu tiền tạm ứng   3,000,000      3,000,000
412/08/2022Trả tiền hàng 2,500,000    (2,500,000)
512/08/2022Trả tiền hàng    500,000        (500,000)
612/10/2022Trả tiền hàng 2,300,000    (2,300,000)
712/10/2022Thu tiền   7,000,000      7,000,000
812/10/2022Tạm ứng tiền    500,000        (500,000)
912/13/2022Tạm ứng tiền    300,000        (300,000)
1012/14/2022Trả tiền hàng    500,000        (500,000)
Bước 2. Nối SubQuery với Query ThuChi, đại loại như sau



"Select ThuChi.Stt, ThuChi.Ngay, ThuChi.Diengiai,ThuChi.Thu, ThuChi.Chi, (Sel ect Sum(SubPhatsinh.Phatsinh) As Total
From SubPhatsinh Where SubPhatsinh.Stt <= ThuChi.Stt) As TonCuoi
From SubPhatsinh As ThuChi"
Khi đó, chúng ta sẽ có được kết quả
SttNgayDiengiaiThuChiToncuoi
112/05/2022Thu tiền 10,000,000 10,000,000
212/05/2022Thanh toán vật tư 2,000,000   8,000,000
312/05/2022Thu tiền tạm ứng   3,000,000 11,000,000
412/08/2022Trả tiền hàng 2,500,000   8,500,000
512/08/2022Trả tiền hàng    500,000   8,000,000
612/10/2022Trả tiền hàng 2,300,000   5,700,000
712/10/2022Thu tiền   7,000,000 12,700,000
812/10/2022Tạm ứng tiền    500,000 12,200,000
912/13/2022Tạm ứng tiền    300,000 11,900,000
1012/14/2022Trả tiền hàng    500,000 11,400,000
Như vậy, Bạn có thể áp dụng thủ thuật này khi dùng BAQ để lập báo cáo sổ quỹ, hoặc các báo cáo tương tự như: sổ phụ ngân hàng hoặc thẻ kho

Nhận xét

Bài đăng phổ biến từ blog này

Dashboard theo dõi dư nợ phải thu quá hạn của khách hàng trên Epicor

Phân bổ chi phí nhân công trực tiếp (622) và chi phí sản xuất chung (627)