Add-Ins Cho Excel - Tổng Hợp Dữ Liệu Sheet Và File

Liên hệ QC
Em vừa chạy thử tổng hợp 50 file con, mỗi file 40 cột, tổng số dòng gộp lại vượt 1 triệu và đã đạt giới hạn của 1 sheet.
Thời gian của PQ hết 140 s, còn Addins của anh em chạy hết 122 s anh nha.

View attachment 284059
xem sẽ bỏ tiêu đề đi nếu duyệt 50 file sẽ = 50 vòng For duyệt tiêu đề sẽ tăng tốc thêm nữa

chưa hình dung ra cách tính thời gian cho PQ từ khi thao tác ban đầu là File mới tới khi thực hiện xong....
 
Lần chỉnh sửa cuối:
Cho xin bộ file mẫu thử nghiệm và PQ với :D
Em đã tạo 1 thư mục chứa mẫu test, tạo thêm mấy file con, sau đó nhân bản các file con đó lên sao cho tổng số dòng chạm mốc 1 triệu hàng và chạy code bên dưới (Code PQ này của thầy Mỹ)

let
FolderName =" Điền địa chỉ thư mục chữa các file con vào đây ",
FileNameList= Folder.Files(FolderName)[Name],
FileNum={0..List.Count(FileNameList)-1},
DataF= List.Transform(FileNum, (f) =>
let
FFullName =FolderName & "\" & FileNameList{f},
Source1 = Table.SelectRows(Excel.Workbook(File.Contents(FFullName), null, true),each ([Kind] = "Sheet")),
SourceData=Source1[Data],
SheetName=Source1[Name],
SheetNum={0..List.Count(SheetName)-1},
DataN= List.Transform(SheetNum, (i) =>
let
Data0 = (SourceData{i}),
DataFName = Table.AddColumn(Table.PromoteHeaders(Data0), "File", each FileNameList{f}),
Datai = Table.AddColumn(DataFName, "Sheet", each SheetName{i})
in Datai),
List1 = Table.FromList(DataN, Splitter.SplitByNothing()),
ListColumns = Table.ColumnNames(List1{0}[Column1]),
Ketqua1 = Table.ExpandTableColumn(List1,"Column1",ListColumns)
in Ketqua1),
List2 =Table.FromList(DataF,Splitter.SplitByNothing()),
ListColumns2 = Table.ColumnNames(DataF{0}),
Ketqua = Table.ExpandTableColumn(List2, "Column1", ListColumns2)

in Ketqua

chưa hình dung ra cách tính thời gian cho PQ từ khi thao tác ban đầu là File mới tới khi thực hiện xong....
Em nhìn đồng hồ trên tay thôi anh ạ, tính từ lúc nhấn Refesh Data cho tới lúc thanh trạng thái bên dưới báo Ready và có thể thao tác được trên file.
 
code thì có sẳn hết rồi chỉ thêm vào thôi

đang thiết kế cái menu Ribbon Excel làm sao cho nó dễ nhìn và gọn đẹp 1 tí

Sơ bộ vậy mọi người thấy sao ... lúc nào rảnh làm 1 tí thôi ... mai mốt làm tiếp

1669793615193.png
 
I/ Giai đoạn 1: Cơ bản đã hoàn thiện

1/ Tùy chọn lấy tiêu đề và không lấy tiêu đề dữ liệu

2/ Tùy cho Refresh All Data đã lấy và lưu trước đó

3/ thay From Excel thành Form Files ( Vì hổ trợ tổng hợp 3 loại File vào 1 hàm duy nhất là: Excel, Access và SQLite +++... nếu thích thêm vào nữa)

II/ Giai đoạn 2: Phát triển Form Power Query với các tùy chọn

1/ Tùy chọn lấy vài File trong rất nhiều File trong 1 Folder

2/ Tùy chọn lấy vài Sheet trong 1 File có rất nhiều Sheet

III/ Giai đoạn 3: Tương tự như Giai đoạn 2 là viết cho Ms Server

IV/ Giai đoạn 4: tương tự như 3 mà viết cho SQL TCP/IP = Tổng hợp dữ liệu qua Internet

...............................................................
Quậy diết mới bất chợt nhận ra trong các hạng mục trên nó gần như giống nhau ... các hàm kế thừa và dùng lại cho nhau OK hết

xem hình mô tả xong giai đoạn 1 .... còn 2 chắc trên 2 tuần là xong thôi vì code có hết rồi chỉ vẽ cái Form làm sao cho nó thân thiện nhất và đơn giản dễ sử dụng nhất với người sử dụng nó

1669966070192.png

xong ai xin cũng cho ... ai mua cũng bán ... mà không xin ko mua thì ta gieo tú cầu ai thích thì lấy mà ko thì thui vậy

Ai muốn ghi Tên họ vào mục About thì liên hệ riêng = OK sạch
 
Lần chỉnh sửa cuối:
Theo mô tả lộ trình tuần tự hóa thực hiện bài số 24 ... thì hôm nay tôi giới thiệu với các bạn Form Power Query bản Demos

Tùy chọn Refresh All Data đã lấy và lưu trước đó = tạm dừng vì có nhiều phát sinh và chưa hoàn thiện

Tuần tự sử dụng Form Power Query như sau:


1670129803216.png
1/ chọn Folder và tùy chọn lọc File theo hình

1670129894473.png

Select a Folder nó sẽ lấy hết các Files trong Folder gán vào listbox phía dưới
File Type thực hiện sau đó tùy chọn lọc theo File mà Folder đã chọn trước đó

2/ Tùy chọn tổng hợp list TableName theo Files ... tích chọn list TableName cần lấy

1670130143669.png


3/ Tùy chọn tổng hơp List Files ttheo checkBox đã check

1670130316369.png


4/ Chức năng tìm File như sau nháy đúp chuột vào CheckBox nó sẽ mở path File ra chức năng này chỉ tiện tay cho thêm vào hổ trợ tìm kiếm file nhanh

1670130554793.png

5/ Ai có mong muốn điều chỉnh thêm bớt gì cứ mô tả ... tôi xem xét trong khả năng nếu phù hợp sẽ điều chỉnh lại

6/ Thong thả theo thời gian tôi sẽ gom hết nhưng cái nhu cầu phổ biến và chung nhất từng nêu trên GPE này vào ExcelTools trong phạm vi và khả năng có thể .... và đây là bản gieo tú cầu như mô tả bài trước = Free không giới hạn

Hổ trợ tổng hợp File Excel + Access + SQlite ++++ nếu thích Tôi thêm nữa vào trong 1 Hàm duy nhất
 
Lần chỉnh sửa cuối:
Có lẽ thiết kế cái Form cho bài số 25 như sau

1/ Giao diện Form Power Query sẽ bao gồm cả SQL và tổng hợp theo tùy chọn cột

2/ Tùy chọn tìm kiếm file đệ quy folder hoặc Ko

1670213391746.png
 
chưa hình dung ra cách tính thời gian cho PQ từ khi thao tác ban đầu là File mới tới khi thực hiện xong....
Tôi cũng đang test vụ Power Query với ADO về việc tổng hợp báo cáo từ nhiều file trong cùng một folder nên test cái tool của bạn luôn nhưng tool bạn chưa hỗ trợ lấy nhiều file dữ liệu CSV (Các file dữ liệu lớn trên triệu dòng họ thường lưu dạng CSV).
- Trong video là tôi test trên dữ liệu mẫu, mỗi file 500k dòng 5 cột và tôi copy ra thành 48 cột để test. Tổng hợp các file thành 3.6 triệu dòng.
- Gộp files và tổng hợp ra báo cáo theo từng bộ phận, từng tháng, năm.
--> Dùng PQ thì vừa gộp file và xử lý hết 1 phút 26 giây. Sau đó thì tùy chọn các báo cáo không mất thời gian nữa.

* Máy tính tôi là: code i5 1.4 và 8G RAM. Đang chạy song song 2 hệ điều hành Mac Os + Windows 11 nên tài nguyên bị chia ra. Máy khác chắc chạy nhanh hơn nhiều.

--> Tôi thấy đây chính là điểm mạnh, ứng dụng của PQ với ngôn ngữ truy vấn M (MCode) mà các tool, ứng dụng khác chưa làm được (các tool bên Google Sheet thì tôi không biết).

qEA3L8u.png


 
Lần chỉnh sửa cuối:
Tôi cũng đang test vụ Power Query với ADO về việc tổng hợp báo cáo từ nhiều file trong cùng một folder nên test cái tool của bạn luôn nhưng tool bạn chưa hỗ trợ lấy nhiều file dữ liệu CSV (Các file dữ liệu lớn trên triệu dòng họ thường lưu dạng CSV).
- Trong video là tôi test trên dữ liệu mẫu, mỗi file 500k dòng 5 cột và tôi copy ra thành 48 cột để test. Tổng hợp các file thành 3.6 triệu dòng.
- Gộp files và tổng hợp ra báo cáo theo từng bộ phận, từng tháng, năm.
--> Dùng PQ thì vừa gộp file và xử lý hết 1 phút 26 giây. Sau đó thì tùy chọn các báo cáo không mất thời gian nữa.

* Máy tính tôi là: code i5 1.4 và 8G RAM. Đang chạy song song 2 hệ điều hành Mac Os + Windows 11 nên tài nguyên bị chia ra. Máy khác chắc chạy nhanh hơn nhiều.

--> Tôi thấy đây chính là điểm mạnh, ứng dụng của PQ với ngôn ngữ truy vấn M (MCode) mà các tool, ứng dụng khác chưa làm được (các tool bên Google Sheet thì tôi không biết).

qEA3L8u.png


Thong thả sẽ thêm File CSV, Text +++++++ sau thôi

đang tập chung làm từng cái 1 cho xong cái đã

Vừa mò vừa viết và + vừa thăm dò ý kiến quần chúng tham gia cho nó hoàn thiên hơn

( đừng hiểu sai vặn vẹo từ quần chúng ở đây he ... ko lại ồn ào ... từ đó có lẽ ai đó đã từng trong xx sẽ hiểu nó ....Miễn bàn ở đây .... ai đó bà tám dòng này vui lòng lập thớt mà bàn )
 
Lần chỉnh sửa cuối:
Tôi vừa xóa hết các file và Úp lại File bài Số 1 có giao diện như sau

Thong thả tôi sẽ thêm loại File CSV + text +++++ vào sau

1/ Với tùy chọn duyệt File đệ quy Folder và không ... trước mặc định là duyệt đệ quy

tiết kiệm thời gian nếu ko cần thiết duyệt đệ quy Folder

2/ chức năng Run SQL To Range Hổ trợ Excel + Access + SQLite builder SQL

3/ Mục list Files path trong ComboBox sẽ loại bỏ sau thêm vào đó sẽ là tùy chọn tổng hợp File theo SQL với các tùy chọn cột

1670226538058.png


Ai có mong muốn gì cứ nêu + báo lỗi tôi sẽ điều chỉnh lại

Xin cảm ơn
 
Lần chỉnh sửa cuối:
Tôi đang thiết kế cái Form cho SQL TCP/IP giao diện như sau

1670291376448.png

Form Ms Server tạm sơ bộ như sau

1670291735739.png

Trong đó bao gồm:

1/ như thường lệ đã úp nhiều thớt khác là lấy dữ liệu qua Internet = Run SQL To Range

2/ Tổng hợp list TableName = tùy chọn trong CheckListBox ( Mới )

3/ Tổng hợp list File = tùy chọn trong CheckListBox ( Mới )

4/ Tổng hợp list File + Table với SQL tùy chọn các Cột của nó ( Mới )

5/ quá trình thực hiện nếu xét thấy chức năng nào đó ko phù hợp có thể xem xét điều chỉnh lại
........................

File bài số 1 mới úp lại điều chỉnh tìm kiếm File nhanh hơn rất nhiều khi chọn File Type và checkBox In sub Folder

Xong hết như kế hoạch định trước sẽ có 1 khoãng thời gian nhất định Fix code và lắng nghe người dùng phản hồi xong => điều chỉnh lại cho phù hợp

và viết thêm các tiện ích nhỏ kèm theo cho tăng thêm phần lung linh của nó :p
 
Lần chỉnh sửa cuối:
File bài số 1 Hổ trợ tìm kiếm File nhanh mặc định với Folder đã chọn trước đó

Trong đó bao gồm nhiều chức năng đã mô tả loạt bài trước

1670293270983.png
 
Khi nào anh hoàn thiện, anh có thể làm video hướng dẫn thì tuyệt vời quá. Em chưa đủ trình nên lắng nghe mọi người thôi. Rất cám ơn sản phẩm của anh vì cộng đồng.
 
Khi nào anh hoàn thiện, anh có thể làm video hướng dẫn thì tuyệt vời quá. Em chưa đủ trình nên lắng nghe mọi người thôi. Rất cám ơn sản phẩm của anh vì cộng đồng.
Bạn thử tải file bài số 1 ấy xong bấm chuột vài cái là ra thôi ... mọi cái nó tự động hóa hết rồi ... phần còn lại của Bạn là Select hay Check = Tích chọn nó thôi

Xong hết tôi sẽ làm 1 Video theo yêu cầu của Bạn ... hiện đang code tổng hợp File qua Internet - SQL TCP/IP

Mọi cái khá đơn giản là kế thừa các hàm trước viết thêm các hàm trung gian là xong thôi


1670318850095.png
 
Cơ bản Tôi đã thực hiện xong ... Mô tả sơ bộ qua hình ảnh sau

1/ Nếu bạn tích chọn khoanh tròn màu xanh và chạy Buton màu xanh nó sẽ tổng hợp các File đã chọn bạn bao gồm tất cả các Sheet trong File

2/ Nếu bạn tích chọn khoanh màu đỏ thì nó sẽ tổng hợp các Tablename đó cho bạn

3/ Nếu bạn tích chọn Khoanh tròn màu tím .... như trên

5/ kèm theo các tiện ích tìm kiếm vvv

6/ Áp dụng cho SQL TCP/IP = như nhau

7/ Áp dụng cho Ms Server chỉ có tổng hợp TableName .... Ms Server ko có File ??!!!

8/ File úp lại bài số 1

9/ quá trình sử dụng ai có mong muốn gì cứ nêu + mô tả lỗi ... nếu phù hợp và khả năng cho phép tôi sẽ điều chỉnh lại

10/ Tôi sẽ viết lại cái AppServer sau vì mấy bản trước úp trên này có nhiều lỗi phát sinh ngoài ý muốn


1670377562070.png
 
Lần chỉnh sửa cuối:
Cơ bản Tôi đã thực hiện xong ... Mô tả sơ bộ qua hình ảnh sau

1/ Nếu bạn tích chọn khoanh tròn màu xanh và chạy Buton màu xanh nó sẽ tổng hợp các File đã chọn bạn bao gồm tất cả các Sheet trong File

2/ Nếu bạn tích chọn khoanh màu đỏ thì nó sẽ tổng hợp các Tablename đó cho bạn

3/ Nếu bạn tích chọn Khoanh tròn màu tím .... như trên

5/ kèm theo các tiện ích tìm kiếm vvv

6/ Áp dụng cho SQL TCP = như nhau

7/ Áp dụng cho Ms Server chỉ có tổng hợp TableName .... Ms Server ko có File ??!!!

8/ File úp lại bài số 1

9/ quá trình sử dụng ai có mong muốn gì cứ nêu + mô ta lỗi ... nếu phù hợp và khả năng cho phép tôi sẽ điều chỉnh lại

10/ Tôi sẽ viết lại cái AppServer sau vì mấy bản trước úp trên này có nhiều lỗi phát sinh ngoài ý muốn


View attachment 284333
Tuyệt vời.
Với những người không thạo Power Query thì Addins của anh là một công cụ bổ sung rất tuyệt vời, đợt này khi có thời gian em sẽ giành thời gian để test addins này.
Cảm ơn anh.
 
Tôi mới thử nếu Tổng hợp lấy hết TableName của 1 File Access có Tổng số dòng là 216 ngàn dòng x 12 cột

1/ Lấy trên PC chạy hết trên 4 giây

2/ lấy qua Internet chạy hết trên 10 giây ( Phụ thuộc 1 phần vào tốc độ mạng của nhà ai đó nhanh hay chậm )

3/ Trong file sau có trên 40 TableName trong đó có nhiều Tablename chỉ có trên 5 Cột

1670555414637.png
 
Lần chỉnh sửa cuối:
@ongke0711
Làm phiền bạn chút

Rảnh tôi đang xem cấu trúc file CSV trên Delphi và vài file trên GPE này mà thấy nó rối cả lên chưa hình dung ra đâu là cấu trúc hay sử dụng nhất

File tôi úp phía dưới là các file mẫu đo Delphi tạo ra ... còn trên GPE này lại khác :p

để load Data từ file csv trên Delphi họ cho vào TFDMemTable chạy khá nhanh

Phiền Bạn có file csv nào chuẩn chung nhất úp cho xin 1 file test code
 

File đính kèm

  • Data_CSV.rar
    186.3 KB · Đọc: 8
Web KT
Back
Top Bottom