Truy vấn bảng chéo - Xuất sang bảng điều khiển Excel

Chào các bạn,

Tôi quay lại với một câu hỏi khác --- lần này là về việc kết hợp các truy vấn bảng chéo để tạo báo cáo bảng điều khiển.

Lý lịch:

Tôi liên kết đến một bảng SQL với hàng triệu bản ghi. Từ bảng này, tôi truy xuất dữ liệu 12 tháng gần nhất, thu hẹp số lượng bản ghi xuống còn hơn một triệu. Do thiếu kiến ​​thức về SQL, tôi không sử dụng các truy vấn truyền trực tiếp. Tuy nhiên, tôi không gặp vấn đề về thời gian xử lý --- truy vấn bảng đơn của tôi với một triệu bản ghi chỉ mất chưa đến 3 giây để chạy. Một truy vấn bảng chéo trung bình với cùng số lượng bản ghi lại mất nhiều thời gian hơn. Từ bảng lớn này, tôi có khoảng 80 truy vấn bảng chéo phân tích các thông tin khác nhau theo công ty, chi nhánh, đại diện và khách hàng --- theo ngày, tháng, quý và năm. Các truy vấn bảng chéo riêng lẻ hoạt động hoàn hảo, cung cấp cho tôi chính xác những gì cần thiết. Thông tin từ mỗi truy vấn bảng chéo được sử dụng để tạo ra các chỉ số điền vào báo cáo bảng điều khiển. Vì tôi thích sử dụng Excel hơn Access để phân tích thêm, nên kết quả của mỗi truy vấn bảng chéo được xuất sang Excel. Đây là quy trình chạy hàng ngày lúc 5:00 sáng:

  • Một tác vụ theo lịch trình được chạy và gọi một thủ tục lưu trữ.
  • Thủ tục lưu trữ gọi một hàm công khai chạy từng truy vấn bảng chéo và xuất dữ liệu sang Excel. Mỗi truy vấn sẽ có một tab riêng.
  • Để giảm thiểu việc cuộn ngang (ít tab hơn), thông tin được xuất sang 4 bảng tính Excel khác nhau --- ngày, tháng, quý và năm.
  • Các truy vấn/bảng tính đã xuất được lưu trữ trên ổ đĩa dùng chung.
  • Dữ liệu đã lưu trữ được ánh xạ vào một bảng tính "dashboard" duy nhất và được sử dụng để phân tích thêm.
  • Bảng tính điều khiển được định dạng để tạo ra một báo cáo hấp dẫn, không chỉ tóm tắt dữ liệu từ mỗi truy vấn bảng chéo (với phân tích phụ) mà còn bao gồm cả biểu đồ.
  • Bảng điều khiển Excel được lưu trữ dưới dạng báo cáo PDF và được phân phát mỗi sáng.

Do số lượng truy vấn và dữ liệu lớn, quy trình nêu trên mất khoảng 20 phút để chạy. Vì đây là sự kiện được kích hoạt theo thời gian, nên thời gian xử lý không thành vấn đề vì nó diễn ra một giờ trước khi tôi đến văn phòng.

Câu hỏi của tôi, thực ra không phải là vấn đề (phương pháp trên hoạt động hoàn hảo), là: liệu có cách nào thông minh hơn để đạt được kết quả tương tự không? Phương pháp trên có lỗi thời không --- một cách làm rõ ràng của người mới bắt đầu khi giải quyết một công việc lớn? Báo cáo trên bảng điều khiển rất ấn tượng, nhưng tôi tò mò bạn sẽ xử lý kết quả tương tự như thế nào?

Cảm ơn rất nhiều,

Ken mới vào nghề




Trả lời:

Bạn đang phân tích dữ liệu của mình theo nhiều chiều khác nhau. Đó là trường hợp hoàn hảo để sử dụng bảng tổng hợp (pivot table) trong Excel. Điều này sẽ giúp người dùng tự khám phá ra kết quả của riêng mình.

Tiến thêm một bước nữa và sử dụng PowerPivot trực tiếp với cơ sở dữ liệu SQL; không cần đến Access ở giữa.

Chắc chắn rồi, việc này sẽ đòi hỏi bạn phải tìm hiểu thêm các khái niệm mới, nhưng trường hợp của bạn là một ví dụ hoàn hảo để sử dụng bảng tổng hợp (pivot table).



Trả lời:

Cảm ơn Tom. Tôi sẽ nghiên cứu PowerPivot so với các bảng SQL của mình. Tôi cho rằng Excel không phù hợp vì số lượng bản ghi quá nhiều, lên đến hàng triệu. Vì vậy, tôi đã sử dụng Access để tóm tắt dữ liệu (truy vấn bảng chéo) trước khi sử dụng đến sức mạnh của Excel.

Ken



Trả lời:

Bạn đang phân tích dữ liệu của mình theo nhiều chiều khác nhau. Đó là trường hợp hoàn hảo để sử dụng bảng tổng hợp (pivot table) trong Excel. Điều này sẽ giúp người dùng tự khám phá ra kết quả của riêng mình.

Tiến thêm một bước nữa và sử dụng PowerPivot trực tiếp với cơ sở dữ liệu SQL; không cần đến Access ở giữa.

Chắc chắn rồi, việc này sẽ đòi hỏi bạn phải tìm hiểu thêm các khái niệm mới, nhưng trường hợp của bạn là một ví dụ hoàn hảo để sử dụng bảng tổng hợp (pivot table).

Nếu một nửa số truy vấn bảng chéo dựa trên các bảng được kết hợp, liệu PowerPivot vẫn là lựa chọn tốt nhất? Và tôi đang sử dụng phiên bản Excel 2010 32 bit --- liệu nó có thể xử lý hơn một triệu bản ghi không? Tôi đoán rằng trong vòng một năm, số lượng bản ghi sẽ tăng lên 1,5 triệu.

Tin tốt là, những gì tôi đã xây dựng đang hoạt động tốt, vì vậy tôi có thời gian để xem xét các lựa chọn khác.

Ken

Comments

Popular posts from this blog

Điều tôi muốn làm trong Excel 2010 là tạo một nút tùy chỉnh và gắn nó vào thanh công cụ Truy nhập nhanh và chạy một macro cụ thể.

Mở tài liệu Excel và Word từ Outlook Lỗi - Không đủ bộ nhớ

Excel 2016 - mở tất cả các tệp trong MỘT phiên bản