Có nên làm một file dữ liệu nguồn riêng và một file tổng hợp dữ liệu từ dữ liệu nguồn

Liên hệ QC

ndhmoney686

Thành viên thường trực
Tham gia
25/4/12
Bài viết
376
Được thích
104
Hiện tại mình có tạo một file, bao gồm cả dữ liệu nguồn và các báo cáo tổng hợp. Mình thấy khi dữ liệu nhiều lên một chút là nó bị chậm. Mình đang nghĩ đến giải pháp là tách ra làm 2 phần:

- Một file dữ liệu nguồn
- Một file báo cáo tổng hợp lấy từ dữ liệu nguồn.

Không biết tách ra như vậy có cải thiện được tốc độ tính toán cho file ko. Các Bạn tư vấn giúp mình nhé. Cảm ơn các Bạn!
 
Hiện tại mình có tạo một file, bao gồm cả dữ liệu nguồn và các báo cáo tổng hợp. Mình thấy khi dữ liệu nhiều lên một chút là nó bị chậm. Mình đang nghĩ đến giải pháp là tách ra làm 2 phần:

- Một file dữ liệu nguồn
- Một file báo cáo tổng hợp lấy từ dữ liệu nguồn.

Không biết tách ra như vậy có cải thiện được tốc độ tính toán cho file ko. Các Bạn tư vấn giúp mình nhé. Cảm ơn các Bạn!
Bạn nên đi theo hướng này, với csdl lớn thì chung 1 file sẽ rất ì ạch.
 
Bạn nên đi theo hướng này, với csdl lớn thì chung 1 file sẽ rất ì ạch.


Em chào Anh Hai Lúa Miền Tây và Các Bạn! Anh ơi của Em đúng như Anh nói đấy ạ, hic... nó rất ì ạch.
Em vừa ngồi test thử từ chiều xem phần báo cáo tổng hợp với CSDL, xem khi CSDL thêm dòng thì Báo cáo tổng hợp nó có tự động tham chiếu theo ko? và copy paste file để tạo các điểm khác. Em thấy có vẻ ổn.
Trong quá trình tách ra làm 2 file CSDL và Báo cáo riêng nhau. Để cho công thức tính toán được nhanh hơn. Em chưa có kinh nghiệm, Anh và các Bạn có gì chỉ bảo em với nhé.

Cảm ơn Anh Hai Lúa Miền Tây và Các Bạn. Chúc cả nhà cuối tuần vui vẻ!
 

File đính kèm

Lần chỉnh sửa cuối:
Em chào Anh Hai Lúa Miền Tây và Các Bạn! Anh ơi của Em đúng như Anh nói đấy ạ, hic... nó rất ì ạch.
Em vừa ngồi test thử từ chiều xem phần báo cáo tổng hợp với CSDL, xem khi CSDL thêm dòng thì Báo cáo tổng hợp nó có tự động tham chiếu theo ko? và copy paste file để tạo các điểm khác. Em thấy có vẻ ổn.
Trong quá trình tách ra làm 2 file CSDL và Báo cáo riêng nhau. Để cho công thức tính toán được nhanh hơn. Em chưa có kinh nghiệm, Anh và các Bạn có gì chỉ bảo em với nhé.

Cảm ơn Anh Hai Lúa Miền Tây và Các Bạn. Chúc cả nhà cuối tuần vui vẻ!
Không biết CSDL thực tế của bạn nhiều mặt hàng cỡ nào? Nếu CSDL gấp hơn 5-7 lần như vậy thì đâu cần bạn tách chi 2 File!
Để File của bạn nhẹ hơn thì có thể nhờ các Thầy cô anh chi giúp viết code.
 
Cảm ơn Bạn. Cơ sở dư liệu nhiều Bạn ạ, khoảng gần 5000 dòng. Mình ko biết về code. Nên mình toàn dùng hàm Sumproduct, IF, Vlookup cho file NXT của mình. Bây giờ thấy nó chậm nên đang dự định tách ra xem có cải thiển được hơn ko?
 
Mình xin góp ý vài lời:
- Nếu dữ liệu khoảng gần 5000 dòng như bạn nói thì vẫn có thể làm trong cùng 1 file chung cho CSDL và BC, nếu có tách thì có thể tách giữa các tỉnh như Hải Phòng làm 1 file, Đà Nẵng 1 file để dễ quản lý hơn. Việc tách ra 2 file có ưu điểm tính toán nhanh hơn, nhưng nhược điểm sẽ là khó theo dõi đường đi của dữ liệu, việc link dữ liệu cũng dễ gặp lỗi hơn, lưu trữ nhiều file hơn. Giả sử bạn ủy quyền cho 1 người khác làm công việc của bạn thì người đó sẽ khó tiếp cận file nếu bị phân nhỏ như vậy. Mình nghĩ nếu có thể thì tốt nhất nên hoàn thiện công việc trong 1 file để tiện việc lưu trữ cũng như nhiều người sử dụng được.
- Nếu cảm thấy file tính toán bị chậm thì nên xem lại cách xây dựng dữ liệu, bố cục trình bày, cách sử dụng công thức... sao cho tối ưu hơn. Việc tối ưu hóa bố cục dữ liệu sẽ giúp tăng tốc độ tính toán rất nhiều.
Mình cũng gặp vấn đề này và đang trên con đường đi tìm lời giải.
 
Theo xu hướng chuyên nghiệp thì nên tách ra như vậy! Đặc biệt là trường hợp CSDL lớn...
Tuy nhien bạn phải am hiểu cách kết nối và lọc dữ liệu từ CSDL, tức là phải am hiểu về lập trình VBA.

Tôi sẽ sớm có bài viết liên quan đến CSDL là Table (từ Excel 2007 trở đi) và lập trình điều khiển đối tượng này vào dịp sinh nhật GPE!
 
Lần chỉnh sửa cuối:
Theo xu hướng chuyên nghiệp thì nên tách ra như vậy! Đặc biệt là trường hợp CSDL lớn...
Tuy nhien bạn phải am hiểu cách kết nối và lọc dữ liệu từ CSDL, tức là phải am hiểu về lập trình VBA.

Tôi sẽ sớm có bài viết liên quan đến CSDL là Table (từ Excel 2007 trở đi) và lập trình điều khiển đối tượng này vào dịp sinh nhật GPE!

Vấn đề về tổng hợp dữ liệu thực ra rất nan giải (nhất là với Office 2003). Mong chị PhanTuHuong sớm có bài viết liên quan đến CSDL để mọi người cùng học hỏi!
 
Hiện tại mình có tạo một file, bao gồm cả dữ liệu nguồn và các báo cáo tổng hợp. Mình thấy khi dữ liệu nhiều lên một chút là nó bị chậm. Mình đang nghĩ đến giải pháp là tách ra làm 2 phần:

- Một file dữ liệu nguồn
- Một file báo cáo tổng hợp lấy từ dữ liệu nguồn.

Không biết tách ra như vậy có cải thiện được tốc độ tính toán cho file ko. Các Bạn tư vấn giúp mình nhé. Cảm ơn các Bạn!
Thử với file này, thêm dữ liệu khoảng 10.000 dòng xem nó chạy có nỗi không.
Nếu chạy được thì xài. Nhớ Enable Macros khi mở file nhé. Bấm nút là xong
 

File đính kèm

Lần chỉnh sửa cuối:
Thử với file này, thêm dữ liệu khoảng 10.000 dòng xem nó chạy có nỗi không.
Nếu chạy được thì xài. Nhớ Enable Macros khi mở file nhé. Bấm nút là xong


Em cũng muốn sử dụng code cho file nắm Anh Ba Tê ạ. Nhưng chưa biết về code sợ nó trục chặc thì ko biết chỗ nào mà sửa. Nhờ vả nhiều em cũng ngại. Cho nên gần như hoàn toàn Em sử dụng hàm cho file (nhưng có vẻ khi dữ liệu nhiều lên file chạy ì ạch. Em toàn phải để Caculation ở dang Manual, khi tính kết quả thì F9.
Hiện tại do chưa biết về code nên Em tạm tính đến giải pháp. Tách phần báo cáo ra 1 file. CSDL ra 1 file. Thì file CSDL khi nhập dữ liệu nó sẽ nhanh hơn Anh và các Bạn nhỉ? (nhưng nếu để Caculation ở dạng Automatic thì file Báo cáo nó cũng tính thì file CSDL cũng bị ảnh hưởng thì phải? hic...
Sắp tới có thời gian em thử nghiên cứu món code này. Ko biết có học được ko đây. Nếu học được thì áp dụng cho file chắc sẽ ko bị ì ạch nhiều Anh nhỉ?
 
Lần chỉnh sửa cuối:
Em cũng muốn sử dụng code cho file nắm Anh Ba Tê ạ. Nhưng chưa biết về code sợ nó trục chặc thì ko biết chỗ nào mà sửa. Nhờ vả nhiều em cũng ngại. Cho nên gần như hoàn toàn Em sử dụng hàm cho file (nhưng có vẻ khi dữ liệu nhiều lên file chạy ì ạch. Em toàn phải để Caculation ở dang Manual, khi tính kết quả thì F9.
Hiện tại do chưa biết về code nên Em tạm tính đến giải pháp. Tách phần báo cáo ra 1 file. CSDL ra 1 file. Thì file CSDL khi nhập dữ liệu nó sẽ nhanh hơn Anh và các Bạn nhỉ? (nhưng nếu để Caculation ở dạng Automatic thì file Báo cáo nó cũng tính thì file CSDL cũng bị ảnh hưởng thì phải? hic...
Sắp tới có thời gian em thử nghiên cứu món code này. Ko biết có học được ko đây. Nếu học được thì áp dụng cho file chắc sẽ ko bị ì ạch nhiều Anh nhỉ?
Có thì xài, học thì từ từ học, đừng vọc phá thì nó không hư, có trục trặc mà không giải quyết được thì hỏi.
GPE rất vô tư, bạn đừng lo.
Cách đây hơn 1 năm tôi có biết VBA là gì đâu. Toàn học lóm trên GPE này thôi.
Híc!
 
Em cũng muốn sử dụng code cho file nắm Anh Ba Tê ạ. Nhưng chưa biết về code sợ nó trục chặc thì ko biết chỗ nào mà sửa. Nhờ vả nhiều em cũng ngại. Cho nên gần như hoàn toàn Em sử dụng hàm cho file (nhưng có vẻ khi dữ liệu nhiều lên file chạy ì ạch. Em toàn phải để Caculation ở dang Manual, khi tính kết quả thì F9.
Hiện tại do chưa biết về code nên Em tạm tính đến giải pháp. Tách phần báo cáo ra 1 file. CSDL ra 1 file. Thì file CSDL khi nhập dữ liệu nó sẽ nhanh hơn Anh và các Bạn nhỉ? (nhưng nếu để Caculation ở dạng Automatic thì file Báo cáo nó cũng tính thì file CSDL cũng bị ảnh hưởng thì phải? hic...
Sắp tới có thời gian em thử nghiên cứu món code này. Ko biết có học được ko đây. Nếu học được thì áp dụng cho file chắc sẽ ko bị ì ạch nhiều Anh nhỉ?

Tách file ra mà vẫn dùng công thức thì cũng vẫn chưa giải quyết được vấn đề. Bạn sẽ gặp rất nhiều rắc rối sau này khi di chuyển file, cài lại máy...
 
Cái báo cáo trên bạn làm cho mình hay nộp cho sếp? Nếu để nộp cho sếp thì xét như thế này:

- Nếu liên lạc giữa báo cáo và dữ liệu nguồn qua công thức đơn giản thì để cùng một file cho dễ kiểm chứng và dễ bảo trì. Nhất là các báo cáo có chứa kết quả của Pivot table, có khi người đọc muốn nhìn kết quả theo khía cạnh khác (nhiệm vụ của Pivot Table là vậy mà!)

- Nếu công thức lằng ngoằng thì để sếp có đọc cũng chả hiểu, có hiểu cũng chả có thì giờ kiểm chứng. Vậy thì để file riêng cho nó gọn ghẽ, dễ nhìn. Lúc tách file riêng thì chép value luôn, không để cho nó lằng ngoằng gì nữa.
 
Có thì xài, học thì từ từ học, đừng vọc phá thì nó không hư, có trục trặc mà không giải quyết được thì hỏi.
GPE rất vô tư, bạn đừng lo.
Cách đây hơn 1 năm tôi có biết VBA là gì đâu. Toàn học lóm trên GPE này thôi.
Híc!


Vậy hả Anh? Vậy thì sắp tới Em sẽ cố gắng nghiên cứu code. Có gì Anh và các Bạn chỉ bảo Em với nhé.
 
Ở ngoại quốc, những nhà có sân sau rộng người ta hay dùng gỗ đóng thành một cái khung khoảng 2x2 mét. Trong đó người ta đổ cát rồi thả con nít 2-5 tuổi vào chơi. Đứa bé có thể có một vài món đồ chơi bằng nhựa hình cái lon, cái gáo, và chúng tha hồ xúc cát chơi đắp bờ, đắp nhà, vv... Cái này tiếng Anh gọi là sandbox (khung cát)

Trong từ ngữ chuyên môn, sandbox được dùng để chỉ một nơi mà người ta có thể tha hồ phá phách, tự chế biến ra những mẫu mã để thí nghiệm sự suy nghĩ, sáng kiến của mình.

Để học chơi với VBA, bạn có thể tạo cho mình một cái sandbox. Tức là tạo một folder nào đó chỉ dùng để học tập và thí nghiệm. Sau đó bạn tạo một cái folder khác tên là Originals (nguyên bản), và một folder nữa tên là Solutions (đáp án - đã giải). Bạn chép file dữ liệu vào Originals, và chép một bản khác vào vùng "sandbox". Bản "sandbox" này bạn tha hồ vọc. Hễ nát bét ra thì xoá đi và copy bản khác từ Originals vào làm lại. Được cái kết quả nào đắc ý thì export nó qua Solutions. Làm như vậy sau một thời gian sẽ khá, đồng thời sẽ có một thư viện code để dành xài.
 
Mới đầu thì nên mua quyển sách VBA căn bản của anh Hướng đọc trước đã, nghiên cứu các khái niệm và dần dần làm quen với những đoạn code ngắn, chỉ vài dòng, sau đó nghiên cứu tiếp.
 
Web KT

Bài viết mới nhất

Back
Top Bottom