QuangW
Thành viên mới
- Tham gia
- 1/12/23
- Bài viết
- 21
- Được thích
- 11
Những số bôi vàng như trong ảnh.Em cần những số bôi vàng như trong ảnh ạ.
View attachment 297283
Bạn giải nén ra, lưu cả 2 files trong đó chung một folder rồi chạy thử nhé.chịu bác rồi đấy .........
Bạn nạp file PDF vào Power Query rồi Append query lại là được:
View attachment 297302
let
FolderName ="D:\MyPham\DOWNLOAD\Documents\Datapdf",
FileNameList= Folder.Files(FolderName)[Name],
FileNum={0..List.Count(FileNameList)-1},
DataF= List.Transform(FileNum, (f) =>
let
FFullName =FolderName & "\" & FileNameList{f},
Source1 = Table.SelectRows(Pdf.Tables(File.Contents(FFullName), [Implementation="1.3"]),each ([Kind] = "Table")),
Source2=Table.SelectColumns(Source1,{"Data"}),
SourceData=Table.ExpandTableColumn(Source2,"Data", {"Column1", "Column2"}),
FillDown = Table.FillDown(SourceData,{"Column1"}),
Filter1 = Table.SelectRows(FillDown, each [Column2] <> null),
Trans = Table.PromoteHeaders(Table.Transpose(Filter1))
in Trans),
ToTable =Table.FromList(DataF,Splitter.SplitByNothing()),
ListColumns2 = List.LastN(Table.ColumnNames(DataF{0}),4),
Ketqua = Table.ExpandTableColumn(ToTable, "Column1", ListColumns2),
AddIndex = Table.AddIndexColumn(Ketqua, "STT", 1, 1, Int64.Type),
Reorder = Table.ReorderColumns(AddIndex,{"STT", "DATA1", "DATA2", "DATA3", "DATA4"})
in Reorder
Tôi vẫn chưa thấy thuyết phục lắm.Không phải thế anh nhé.
Bản chất ở việc MS nâng cấp Office đọc được tập tin PDF.
Tôi vẫn chưa thấy thuyết phục lắm.
Power Query ra đã lâu. Công dụng chính của nó là để sử lý dữ liệu không theo dạng bảng trải rộng (spreadsheet). Tại quý vị rất ít khi dùng đến cách đọc dữ liệu ở dạng lập thể (cube) cho nên chưa hiểu tại sao Excel dẫn xa Google Sheets về phương diện Analysis.
PDF mang tiếng là PDF nhưng thực tế có nhiền phiên bản không hoàn toàn được tiêu chuẩn. Nhất là khi nó được biến cải bằng phần mềm dỏm, nó sẽ chưa một số fonts và graphics không tiêu chuẩn.Không phải thế anh. Để có dữ liệu cho Power Query thì nó phải đọc / chuyển đổi nội dung trong PDF thành bảng dữ liệu đã.
Đây là phần xử lý OCR. Office 2010 trở xuống không đọc được tập tin PDF, Office 2013-2016 mở được PDF nhưng vẫn hạn chế, tới Office2019 mới tạm ổn.
Và gần đây MS mới có chuyển image thành text trên Excel365.
Em cảm ơn bác nhé! Chạy rất nhanh luôn.Bạn giải nén ra, lưu cả 2 files trong đó chung một folder rồi chạy thử nhé.
Em không biết dùng Power Query, vừa thử tìm trên Youtube mà vẫn chưa làm được.Bạn nạp file PDF vào Power Query rồi Append query lại là được:
View attachment 297302
Em cảm ơn nhé! chạy rất ổn ạ!Code Power query như sau, chỉ 1 query duy nhất. Sửa đường dẫn thư mục ở dòng đầu
JavaScript:let FolderName ="D:\MyPham\DOWNLOAD\Documents\Datapdf", FileNameList= Folder.Files(FolderName)[Name], FileNum={0..List.Count(FileNameList)-1}, DataF= List.Transform(FileNum, (f) => let FFullName =FolderName & "\" & FileNameList{f}, Source1 = Table.SelectRows(Pdf.Tables(File.Contents(FFullName), [Implementation="1.3"]),each ([Kind] = "Table")), Source2=Table.SelectColumns(Source1,{"Data"}), SourceData=Table.ExpandTableColumn(Source2,"Data", {"Column1", "Column2"}), FillDown = Table.FillDown(SourceData,{"Column1"}), Filter1 = Table.SelectRows(FillDown, each [Column2] <> null), Trans = Table.PromoteHeaders(Table.Transpose(Filter1)) in Trans), ToTable =Table.FromList(DataF,Splitter.SplitByNothing()), ListColumns2 = List.LastN(Table.ColumnNames(DataF{0}),4), Ketqua = Table.ExpandTableColumn(ToTable, "Column1", ListColumns2), AddIndex = Table.AddIndexColumn(Ketqua, "STT", 1, 1, Int64.Type), Reorder = Table.ReorderColumns(AddIndex,{"STT", "DATA1", "DATA2", "DATA3", "DATA4"}) in Reorder
View attachment 297311
Tất cả đều thực hiện với M-code của PQ. Bạn cứ lấy 1 file xuống, xào nấu, lọc, xoay ngang xoay dọc đúng ý. Bỏ code đó vào trong vòng lặp của folder.Bác có thể chỉ em chỗ nào để lọc ra những data mình cần không ạ? Em còn dạng data theo hàng ngang nữa.
Nếu chỉ sửa đường dẫn thư mục ở dòng đầu tiên thì bắt buộc phải chạy. Bạn phải nói rõ là "loạn" như thế nào, kết quả loạn đâu? Code copy cho cái hình to lên mới xem được.Có thể cho em xin hướng dẫn bằng hình ảnh hoặc video được không ạ? Em làm loạn hết lên rồi.
Đổi mỗi cái đường dẫn là được rồi, sửa code lung tung làm gì khi bạn không hiểu, muốn sửa thì phải hiểu code đấy nó chạy như nào, trong khi bạn còn chưa biết Powe query thì làm sao sửa code 2 vòng lặp như vậy được. Khá mờ nhìn không rõ như khả năng sai ở bước Renamed ColumnsCó thể cho em xin hướng dẫn bằng hình ảnh hoặc video được không ạ? Em làm loạn hết lên rồi.
View attachment 297456
Hai lỗi:Khá mờ nhìn không rõ như khả năng sai ở bước Renamed Columns
Thí dụ lấy file Table001 sẽ được code:Tất cả đều thực hiện với M-code của PQ. Bạn cứ lấy 1 file xuống, xào nấu, lọc, xoay ngang xoay dọc đúng ý. Bỏ code đó vào trong vòng lặp của folder.
1. Cái trên là em sửa lại file của anh ạ! Em dùng Excel16 Power Query không có phần lấy dữ liệu từ PDF.Thí dụ lấy file Table001 sẽ được code:
View attachment 297496
Ghép đoạn code này vào trong vòng lặp của 1 code lấy toàn folder, dùng List.Transform để lặp. Còn kỹ năng lặp thì không thể giải thích cho người mới học trong 1 tiếng đồng hồ được.
Vâng anh. Em chưa biết gì về Power Query, cũng không ngờ trong Excel còn nhiều thứ chưa biết mà lại hay đến vậy. Cảm ơn các anh giúp đỡ.Đổi mỗi cái đường dẫn là được rồi, sửa code lung tung làm gì khi bạn không hiểu, muốn sửa thì phải hiểu code đấy nó chạy như nào, trong khi bạn còn chưa biết Powe query thì làm sao sửa code 2 vòng lặp như vậy được. Khá mờ nhìn không rõ như khả năng sai ở bước Renamed Columns
Em lọc được dữ liệu mình cần rồi anh ơi. Nhiều bước quá chứ không gọn như của anh.Thí dụ lấy file Table001 sẽ được code:
View attachment 297496
Ghép đoạn code này vào trong vòng lặp của 1 code lấy toàn folder, dùng List.Transform để lặp. Còn kỹ năng lặp thì không thể giải thích cho người mới học trong 1 tiếng đồng hồ được.