CÔNG TY CỔ PHẦN BLUESOFTS

Hướng dẫn tạo báo cáo động trong Excel: Trích xuất ngược dữ liệu - Drill-down và Add-in A-Tools

 Đây là phương pháp tạo báo cáo có tính quản trị thông mình, rất phù hợp cho những người quản lý, làm tổng hợp dữ liệu, kiểm soát số liệu,... Đây là giải pháp linh hoạt, chạy nhanh, tự động hóa, tác nghiệp cao trong Excel và Add-in A-Tools.
 
            Để tạo báo cáo “Drilldown và Add-in A-Tools” truy xuất nguồn dữ liệu theo Phương pháp lọc từng cấp (Tổng -> chi tiết) các bạn cần chú ý các mục sau:
-        - Tìm các điều kiện tạo ra chỉ tiêu tổng?
-        - Lọc theo điều kiện của chỉ tiêu tổng
-        - Điều kiện để tìm kiếm
z6074288388385_de0064a373405a190821c1c2a500a9fb-(1).jpg 
 
 
Phương pháp tạo sự chuyển động (Kêt hợp các hàm)
 z6074291211953_ddab84904e37a94e049da8a888165c63-(1).jpg
 
Để tạo sự chuyển động trong báo cáo chúng ta dùng phương pháp tạo sự kiện hay viết lệnh sự kiện để có thể chuyển động từ sheet này sang sheet khác hoặc khi chọn chuột sẽ về địa chỉ mong muốn.
 
Cách khai báo gọi sự kiện
 
Tên sự kiện=Tên hàm có sẵn hoặc hàm viết trong VBA
-        Các hàm có thể sử dụng: SET(),GOTO(),DATA(),UPDATE()
 
Cách dùng từng sự kiện:
1.     1.OnSelectionChange=FunctionName (tên hàm):
Sự kiện này chạy khi dùng chuột hay chọn ô trong khu vực có hàm BS_SQL   
     
Ví dụ 1: chọn vào một ô trog báo cáo thì gám giá trị vào ô C3,C4 và cập nhật 2 vùng tại các ô E10, H10.    
Nếu nhấp đúp chuột trên báo cáo thì hàm gán KHO!A1=DATA(row,1) đồng thời tìm theđiều kiện và mở ô trong sheet KHO. Ứng dụng hàm SET, UPDATE, GOTO()
=bs_sql("SELECT...", "OnSelectionChange=SET(C3=DATA(row,2), C4='KH001', UPDATE(E10,H10);  
Giải thích:
'KH001' là chuỗi - Không được dùng "KH001"
DATA(row,1) sẽ trả về giá trị tại cột số 1, dòng hiện thời thuộc dòng bạn chọn trong báo cáo có hàm BS_SQL
DATA(row,2) sẽ trả về giá trị tại cột số 2, dòng hiện thời...
 
2.     2.Thuộc tính chạy khi nhấp đúp chuột trên ô OnDblClick=FunctionName (tên hàm)
Sự kiện này chạy khi nhấp đúp chuột vào một ô trong khu vực có hàm BS_SQL
Ví dụ 2:                      
=bs_Sql("SELECT...", "OnDblClick=GOTO(KHO, 4, 1=DATA(row,2), 4=C4);")            
Giải thích ví dụ trên: khi nhấp đúp chuột vào một ô trong báo cáo thì hàm GOTO sẽ chạy, do khai báo sự kiện OnDblClick.         
Hàm GOTO sẽ chọn con trỏ vào dòng tìm được, vị trí cột 4 trong bảng KHO.       
Điều kiện tìm là: tìm từ dòng đầu tiên đến cuối cùng trong bảng KHO, nếu           
- Cột số 1 trong bảng KHO bằng giá trị "XK0000010" (giả thiết hàm DATA(row,2) trả về giá trị "XK0000010" tại dòng hiện thời trong báo cáo có hàm BS_SQL)
- Và cột 4 bằng "KH001" (giải thiết ô C4 chứa giá trị "KH001" trong sheet).

 
3.     3.OnBeforeUpdate=FunctionName (tên hàm)                                 
Sự kiện này chạy (chạy hàm "FunctionName") sau khi SQL đã được chạy, nhưng chưa đổ dữ liệu vào sheet. Sự kiện này dùng khi cần định dạng vùng hay làm một số việc nào đó trước khi mảng kết quả được trả về bởi hàm BS_SQL()                       
Ví dụ 3:                      
=bs_Sql("SELECT...", "OnBeforeUpdate=YourMacroVBA;")                    
Giải thích: hàm "YourMacroVBA" được chạy trước khi mảng dữ liệu đổ vào bảng tính. Hàm này người dùng tự lập trình trong module của VBA.       
Cấu trúc hàm "YourMacroVBA" phải viết theo khuân mẫu trong tài liệu   
                                   
 
4.     4.OnAfterUpdate=FunctionName (tên hàm)                                   
Sự kiện này chạy (chạy hàm "FunctionName") sau khi mảng kết quả đã được đổ vào bảng tính. Sự kiện này dùng khi cần định dạng lại vùng kết quả hay làm một số việc nào đó khi hàm BS_SQL đã hoàn thành mọi việc.               
Ví dụ 4:                      
=bs_Sql("SELECT...", "OnAfterUpdate=YourMacroVBA;")                      
Giải thích: hàm "YourMacroVBA" được chạy trước khi mảng dữ liệu đổ vào bảng tính. Hàm này người dùng tự lập trình trong module của VBA.       
Cấu trúc hàm "YourMacroVBA" phải viết theo khuân mẫu trong tài liệu   

5.     5.OnBeforeExec=FunctionName (tên hàm)                        
Sự kiện này chạy (chạy hàm "FunctionName") trước khi câu lệnh SQL chạy. Sự kiện này dùng khi cần chuẩn bị các vấn đề trước khi thực thi câu lệnh SQL, như định nghĩa lại name, định dạng,…                      
Ví dụ 5:                      
=bs_Sql("SELECT...", "OnBeforeExec=UPDATE(A3,H3);")                      
Giải thích: hàm UPDATE sẽ cập nhật công thức tại ô A3, H3 trước khi thực hiện câu lệnh SQL của công thức này. 
                                   
          Những gì tôi demo trong video dưới đây là không dùng VBA. Theo quan điểm không phải ai cũng học lập trình được, thời gian cần hoàn thành sớm công việc. Bluesofts đã tạo ra một công nghệ trong Excel là Add-in A-Tools kèm với khoá đào tạo phương pháp tổ chức CSDL, kết nối dữ liệu, truy vấn để làm báo cáo động, tạo hiệu ứng tương tác động giữa các báo cáo. Chỉ trong 6 bài học quan trọng của Công ty cổ phần Bluesofts, bạn sẽ tự mình thiết kế được bộ báo cáo quản trị trong Excel mà bình thường bạn phải mất nhiều năm tháng học Excel và VBA và thực sự công việc của bạn đã được đáp ứng hay không còn là câu hỏi đầy nghi ngờ...


 

Download Add-in A-Tools để thực hành