Chuyển đổi hàng có cấu trúc dữ liệu phức tạp thành cột trong Power Query
Chào các bạn, hôm nay dataMaker sẽ hướng dẫn các bạn Chuyển đổi hàng có cấu trúc dữ liệu phức tạp thành cột trong Power Query.
Ta cùng tìm hiểu qua ví dụ sau:
Yêu cầu: Có một bảng dữ liệu như hình bên dưới:
Sử dụng Power Query, chuyển đổi dữ liệu để sắp xếp, phân loại thành 3 cột cụ thể: SanPham, Value, Date như hình dưới đây:
Để giải quyết yêu cầu trên, các bạn thực hiện theo các bước sau:
Bước 1: Nhìn vào bảng dữ liệu ban đầu, ta xác định được cấu trúc 3 hàng SanPham, Value, Date được lặp lại ở các hàng kế tiếp. Để dễ thao tác, đầu tiên các bạn chia bảng dữ liệu thành các nhóm với 3 hàng như sau:
Để thêm bước mới, click chuột vào biểu tượng fx và nhập Cú pháp:
= Table.Split(Source, 3)
Như vậy các bạn đã tách được bảng dữ liệu bảng ban đầu thành 3 bảng con. Với mỗi bảng con chứa các dữ liệu gồm 3 hàng SanPham, Value và Date:
Để chuyển đổi các hàng SanPham, Value, Date thành dạng cột, ta sẽ điều chỉnh lại cú pháp thành:
= List.Transform(
Table.Split(Source, 3),
Each Table.ToRows(_)
)
Kết quả sẽ trả về ở dạng list chứa 3 list con như sau:
Trong đó mỗi List con sẽ chứa các giá trị như hình bên dưới:
Cuối cùng, chúng ta sẽ dùng dòng đầu tiên của mỗi list này làm tiêu đề và gộp 3 danh sách lại thành một bảng để có được kết quả như đề bài yêu cầu:
Quay lại khung Function và điều chỉnh cú pháp lệnh:
= Table.Combine(List.Transform(
Table.Split(Source, 3),
each Table.PromoteHeaders(Table.FromColumns(Table.ToRows(_)))
))
Như vậy, các bạn đã biết cách chuyển đổi dữ liệu hàng có cấu trúc dữ liệu phức tạp thành cột trong Power Query.
Cảm ơn các bạn đã đón đọc bài viết. Chúc các bạn thành công!
Kiến thức khá thực tể và bổ ích, cám ơn dataMaker nhiều nha