DYNAMIC - COL - ROW BC FIX

Ý NGHĨA CHỨC NĂNG

  • Báo cáo fix. Tạo dynamic dòng và cột

  • Nhóm cột

  • dòng tổng cộng có điều kiện dạng where thay vì theo id

    Mẫu báo cáo

    Công thức báo cáo

NGUYÊN TẮC CHUNG

  • Báo cáo tích vào:

    • Fix

    • Dynamic column

  • code trước tất cả

    • Tính toán ra dynamicRow

    • Tính toán ra dynamicCol

  • code Hậu xử lý

    • Viết các hàm tính toán của dòng chi tiết

      • Ví dụ psNoKhoanmuc(idKhoanmuc, thang)

    • Viết các hàm tính toán của dòng tổng

      • Ví dụ psNoKhoanmuc_sum(dieukienWhereKhoanmuc, thang)

  • Nếu có nhiều dynamicRow thì số lượng tham số thay đổi theo cột nên đồng bộ với nhau giữa các hàm. Ví dụ,

    • psNoKhoanmuc(tkno,tkco,-khoanmuc,-bophan,-thang)

    • psNoDoanhthu(tkno,tkco,-khoanmuc,-bophan,-thang)

TRƯỚC TẤT CẢ

  • Hàm chính:

    • Tạo báo cáo phụ, phục vụ tính toán cho các hàm dynamicRow và dynamicCol phía dưới

  • Viết các hàm dynamicRow

    • Sinh ra các dòng tự động: Cột chỉ tiêu và cột công thức

    • Cột công thức, thì thay đổi tham số tương ứng với việc chèn dòng. Ví dụ, chèn dòng theo khoanmuc, thì công thức sẽ thay đổi theo tham số khoanmuc

  • Viết hàm dynamicCol

    • Sinh ra các cột tự động

    • Nhân bản công thức cột đầu tiên. Sau đó, thay đổi tham số cho cột vừa nhân bản. Ví dụ, chèn cột theo tháng, bộ phận thì công thức cần thay đổi tham số tháng, bộ phận

    • Xử lý nhóm cột nếu có

  • Code của bài toán trên như sau:

HẬU XỬ LÝ

  • Hàm chính:

    • chạy báo cáo phụ để tạo ra nguồn cho các hàm phía dưới phục vụ tính toán

  • Code các hàm phục vụ công thức cột (hoặc gán trong trước tất cả)

Last updated