Hướng dẫn sử dụng CUBE đối với các BAQ có dữ liệu lớn

Cách thêm trường đếm số thứ tự trong trong BAQ
Hướng dẫn cách tính cột lũy kế khi lập BAQ hoặc trong SQL
Các dạng dashboard thường gặp trong Epicor
Cách thể hiện tỷ lệ phần trăm ở màn hình BAQ trong Epicor 10.2.500
Giới thiệu option: Union trong Subquery và cách vận dụng
Tính năng memory cache ở các màn hình Dashboard

Đối với dữ liệu lớn hoặc cần tính toán phức tạp thì việc dùng một câu BAQ để làm thực sự khó khăn.
Ví dụ: muốn biết Tài sản cố định TBME036 thường chạy cho những khách hàng nào, ta phải liên kết FAsset với bảng JobOperdtl thông qua ResourceID rồi Jobhead để tính toán xem Resource đó từng chạy cho những Job nào, Part nào? của khách hàng nào?

Một ResourceID có thể chạy cho rất nhiều sản phẩm của nhiều khách hàng khác nhau. Sau khi có dữ liệu thô đó, chúng ta phải nối các mã khách hàng lớn mà ResouceID đã chạy thành một dòng như mô phỏng bên dưới

Bảng 1
AssetNumAsset DescriptionCustID
TS1Máy AKON001
TS1Máy ASMV001
TS2Máy BKON002
TS2Máy BSEMV001
TS2Máy BSELA001
TS3Máy CSMV001
Chúng ta   phải chuyển dữ liệu ở bảng 1 thành dòng như bảng bên dưới
Bảng 2
AssetNumAsset DescriptionCustID
TS1Máy AKON001~SMV001
TS2Máy BKON002~SEMV001~SELA001
TS3Máy CSMV001

Việc xử lý dữ liệu như vậy buộc phải dùng vòng lặp FOR trong câu BAQ làm cho câu BAQ rất nặng và không thể chạy được

Do đó, Ta phải sử dụng CUBE để thực hiện công việc trên thành 2 giai đoạn
Giai đoạn 1: làm một câu BAQ để lấy dữ liệu thô ra trước...thiết lập cho hệ thống tự chạy định kỳ và lưu dữ liệu thô này tại bảng CUBE
Giai đoạn 2: lập một câu BAQ khác kết nối vào CUBE để lấy kết quả ở giai đoạn 1. Sau đó tiếp tục tính toán và xử lý các bước tiếp theo.

Hướng dẫn thiết lập và sử dụng CUBE

Bước 1: Thiết lập Process Set


Bước 2: thiết lập Executive Query
Gán câu BAQ cần lấy dữ liệu để nhồi vào bảng CUBE


Thiết lập Maping các cột dữ liệu khi chạy BAQ sẽ đổ dữ liệu vào Các trường trong bảng CUBE


Mục đích của Câu BAQ này là lấy ra những Mã AssetNum chạy hàng cho khách hàng nào có tổng giá trị  lớn 100tr

Gán thời gian mà nó sẽ chạy là hàng tuần vào 8 giờ sáng



Gán Tash vụ này vào Process đẵ tạo ở bước 1






Quay lại màn hình ở bước 1 xem việc gán tash vụ đã thành công hay chưa?


Bước 3: Tiến hành chạy thử BAQ trong CUBE




Lúc này câu BAQ sẽ được chạy nền trong System Agent




Bước 4: Vào BAQ thiết lập một câu BAQ khác kết nối vào bảng CUBE để lấy kết quả đã chạy của Câu BAQ ban đầu



Kết quả của câu BAQ đầu được lưu tại đây.



Bước 5: tiến hành thiết lập và tính toán thêm các bước cần thiết ở câu BAQ này
Lưu ý: khi dùng câu lệnh FOR trong Sub query Criteria thì không được dùng được Table Criteria...vì câu lệnh For sẽ bị lỗi Syntax
Muốn dùng thêm điều kiện Table Criteria thì phải kéo thêm bảng phụ hoặc sub query phụ nữa để xử lý.



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)