[Power Query Tutorial] Cách sử dụng Parse trong Power BI

Trong quá trình làm việc với Power Query Power BI, bạn sẽ rất hay gặp trường hợp dữ liệu thô được trích xuất từ các hệ thống web API, cơ sở dữ liệu NoSQL, hoặc tệp cấu hình chứa chuỗi văn bản phức tạp như JSON hoặc XML. Để trích xuất thông tin hữu ích từ các chuỗi này thành dạng bảng chuẩn hóa, tính năng Parse trong Power BI là công cụ bắt buộc phải nắm vững.Bài viết này, Starttrain sẽ hướng dẫn chi tiết về tính năng Parse trong Power BI, cách áp dụng thực tế, cú pháp mã M tương ứng cũng như các lưu ý quan trọng để xử lý dữ liệu hiệu quả.

Parse trong Power BI – Power Query là gì?

Parse trong Power BI là quá trình phân tích và chuyển đổi một chuỗi văn bản có cấu trúc đặc biệt thành các đối tượng dữ liệu phức tạp hơn như Record hoặc Table trong môi trường Power Query.Khi bạn kết nối Power BI với các nguồn dữ liệu hiện đại, nhiều cột dữ liệu chứa toàn bộ nội dung dưới dạng văn bản nguyên khối. Ví dụ, một ô trong cột có thể chứa chuỗi JSON như {“name”:”Product A”, “price”:100} hoặc một đoạn thẻ XML. Tính năng Parse trong Power BI sẽ đọc cấu trúc chuỗi này, nhận diện các cặp khóa – giá trị hoặc các thẻ dữ liệu, từ đó tách chúng thành từng cột riêng biệt để phục vụ phân tích và tạo báo cáo.

Hiện tại, Power Query hỗ trợ hai định dạng parse phổ biến nhất:

  • JSON (JavaScript Object Notation): Chuyển chuỗi văn bản JSON thành dạng Record hoặc List.
  • XML (Extensible Markup Language): Chuyển chuỗi văn bản XML thành dạng Table chứa cấu trúc thẻ tương ứng.

Các bước thao tác Parse trong Power BI

Chuẩn bị bảng dữ liệu thô

Mở môi trường Power Query Editor. Giả sử bạn có một bảng dữ liệu gồm hai cột chính:

  • Cột JSONData chứa các chuỗi JSON mô tả thông tin sản phẩm (tên, giá, trạng thái còn hàng).
  • Cột XMLData chứa các thẻ XML mô tả thông tin chi tiết (mã id, tên mặt hàng, số lượng).

Thao tác Parse chuỗi JSON

  • Chọn cột JSONData trong bảng làm việc.
  • Trên thanh công cụ, chuyển sang thẻ Transform (hoặc Add Column nếu muốn giữ lại cột gốc).
  • Tìm nhóm công cụ Text Column, chọn mũi tên thả xuống tại mục Parse.
  • Nhấn chọn JSON.

Parse trong Power BI
Sau khi thực hiện, các giá trị dạng văn bản trong cột JSONData sẽ lập tức chuyển thành dạng đối tượng Record.

Parse trong Power BI

Expand dữ liệu JSON thành các cột riêng biệt

  • Nhấp vào biểu tượng mũi tên hai chiều (Expand) ở góc phải trên cùng của tiêu đề cột JSONData.
  • Danh sách các trường dữ liệu bên trong JSON sẽ hiển thị (ví dụ: name, price, inStock).
  • Bỏ chọn mục Use original column name as prefix nếu bạn muốn tên cột mới gọn gàng hơn.
  • Nhấn OK.

Parse trong Power BI
Các cột name, price, inStock sẽ xuất hiện dưới dạng dữ liệu chuẩn hóa trong bảng.

Parse trong Power BI

Thao tác Parse chuỗi XML

  • Chọn cột XMLData chứa chuỗi thẻ XML.
  • Trên thanh menu Transform, chọn Parse rồi nhấn vào XML.

Parse trong Power BI

  • Ngay lập tức, dữ liệu chuỗi XML sẽ được biến đổi thành dạng Table trong từng ô.

Parse trong Power BI

Mở rộng dữ liệu XML để hoàn thiện bảng

  • Nhấp vào nút mũi tên hai chiều (Expand) trên tiêu đề cột XMLData.
  • Chọn các trường cần thiết xuất hiện từ cấu trúc XML (ví dụ: id, name, qty).
  • Nhấn OK để hoàn tất việc giải mã dữ liệu. Bảng dữ liệu lúc này đã được làm sạch và tách thành từng cột rõ ràng, sẵn sàng cho việc tải vào Power BI Model.

Parse trong Power BI

Parse trong Power BI

Khi nào cần dùng Parse trong Power BI

Chức năng Parse trong Power BI được ứng dụng rộng rãi trong nhiều kịch bản xử lý dữ liệu thực tế:

  • Tích hợp dữ liệu từ REST API: Các phản hồi (response) từ API thường trả về định dạng JSON hoặc XML nén trong một cột văn bản. Việc parse giúp bạn chuyển dữ liệu này thành bảng báo cáo.
  • Xử lý dữ liệu Log hệ thống: Các tệp log phần mềm, web server hoặc nhật ký giao dịch thường lưu vết dưới dạng chuỗi JSON phức tạp.
  • Dữ liệu xuất từ cơ sở dữ liệu NoSQL: Khi kết nối với MongoDB, DocumentDB hay các cột kiểu JSON trong PostgreSQL/SQL Server, dữ liệu tải về Power Query ban đầu thường ở dạng chuỗi thô.
  • Trích xuất thông tin cấu hình: Các tệp thiết lập hệ thống lưu dưới dạng XML cần chuyển đổi sang dạng bảng để theo dõi chỉ số.

Mã M cho chức năng Parse trong Power BI

Mã M cho Parse JSON

Cú pháp hàm M được dùng để chuyển chuỗi văn bản JSON thành cấu trúc dữ liệu:Json.Document(text)

Khi áp dụng vào biến đổi cột bằng bước Table.TransformColumns, công thức M thể hiện như sau:= Table.TransformColumns(#”Changed Type”, {{“JSONData”, Json.Document}})

Sau đó, bước mở rộng cột Record sử dụng hàm:= Table.ExpandRecordColumn(#”Parsed JSON”, “JSONData”, {“name”, “price”, “inStock”}, {“name”, “price”, “inStock”})

Mã M cho Parse XML

Cú pháp hàm M được dùng để chuyển chuỗi văn bản XML thành dữ liệu dạng bảng:Xml.Tables(text)

Khi áp dụng biến đổi cột trong Power Query:= Table.TransformColumns(#”Expanded JSONData”, {{“XMLData”, Xml.Tables}})

Sau đó, bước mở rộng cột Table sử dụng hàm:= Table.ExpandTableColumn(#”Parsed XML”, “XMLData”, {“id”, “name”, “qty”}, {“id”, “name.1”, “qty”})

Parse trong Transform và trong Add Column

Trong Power Query, thao tác Parse trong Power BI có thể được thực hiện từ hai thẻ khác nhau trên thanh ruy-băng: thẻ Transform và thẻ Add Column. Việc lựa chọn thẻ nào phụ thuộc vào nhu cầu quản lý dữ liệu của bạn.

Tiêu chíParse trong TransformParse trong Add Column
Cơ chế hoạt độngThay thế trực tiếp nội dung trên cột văn bản thô hiện tại.Tạo ra một cột mới chứa kết quả đã parse, giữ nguyên cột văn bản gốc.
Quản lý bộ nhớGiúp tối ưu dung lượng bộ nhớ vì không tạo thêm cột trung gian.Tốn thêm bộ nhớ do duy trì cả cột dữ liệu gốc và cột mới.
Trường hợp sử dụngKhi bạn chắc chắn không cần dùng lại chuỗi văn bản gốc ban đầu.Khi bạn muốn đối chiếu, kiểm tra dữ liệu gốc hoặc phục vụ mục đích audit.

Lời khuyên: Nếu dữ liệu lớn, bạn nên dùng Parse trong thẻ Transform hoặc xóa cột văn bản gốc sau khi đã hoàn tất parse trong thẻ Add Column để tránh làm tăng dung lượng file Power BI.

Các lỗi thường gặp khi Parse dữ liệu trong Power BI

Dưới đây là một số sự cố phổ biến mà nhà phân tích dữ liệu thường gặp khi thực hiện Parse trong Power BI:

Lỗi Format Invalid

  • Nguyên nhân: Chuỗi văn bản bị thiếu dấu ngoặc đóng/mở {}, [], thiếu dấu trích dẫn “”, hoặc có ký tự xuống dòng đặc biệt khiến parser không nhận diện được chuẩn JSON/XML.
  • Cách khắc phục: Sử dụng chức năng Text.Clean hoặc Text.Trim trước khi parse để loại bỏ ký tự ẩn. Kiểm tra tính hợp lệ của chuỗi bằng các công cụ JSON/XML validator trực tuyến.

Lỗi Value.Error hoặc null

  • Nguyên nhân: Cột chứa giá trị rỗng (null) hoặc ô dữ liệu có định dạng văn bản trống “”.
  • Cách khắc phục: Trước khi parse, hãy lọc bỏ các giá trị null/trống hoặc thêm bước điều kiện kiểm tra trong M code:

if [JSONData] <> null and [JSONData] <> “” then Json.Document([JSONData]) else null

Cấu trúc JSON/XML không đồng nhất

  • Nguyên nhân: Dòng 1 chứa 3 trường dữ liệu, nhưng dòng 2 lại chứa 5 trường dữ liệu khác.
  • Cách khắc phục: Khi mở rộng (Expand), hãy nhấn chọn Load more trong cửa sổ xem trước để Power Query quét toàn bộ các trường dữ liệu xuất hiện trong toàn bộ file.

Tổng kết

Tính năng parse trong Power BI là một công cụ mạnh mẽ và linh hoạt trong Power Query, giúp bạn làm sạch và cấu trúc hóa các chuỗi văn bản phức tạp như JSON và XML thành dạng bảng chuẩn. Việc làm chủ kỹ thuật parse, từ các thao tác kéo thả trên giao diện cho đến việc tối ưu cú pháp mã M như Json.Document và Xml.Tables, không chỉ tiết kiệm thời gian xử lý dữ liệu thô mà còn nâng cao hiệu suất tổng thể của mô hình báo cáo.

Danh sách bài giảng

Power Query trong Power BI
406
▶

[Power BI Tutorial 2] Cách dùng Power Query trong Power...

Starttrain Official

Index Column
217
▶

[Power Query Tutorial] Cách dùng chức năng Index Column

Starttrain Official

Cách dùng chức năng Pivot Column
214
▶

[Power Query Tutorial] Cách dùng chức năng Pivot Column

Starttrain Official

Unpivot Column
197
▶

[Power Query Tutorial] Cách dùng chức năng Unpivot Column

Starttrain Official

Duration
190
▶

[Power Query Tutorial] Cách dùng Duration trong Power BI

Starttrain Official

Promoted - Demoted Headers
247
▶

[Power Query Tutorial] Cách dùng Promoted – Demoted Headers

Starttrain Official

Cách dùng R-Python Script trong Power BI
186
▶

[Power Query Tutorial] Cách dùng R Script và Python Script

Starttrain Official

Scientific
156
▶

[Power Query Tutorial] Cách dùng Scientific trong Power BI

Starttrain Official

Standard
197
▶

[Power Query Tutorial] Cách dùng Standard trong Power BI

Starttrain Official

Statistics
214
▶

[Power Query Tutorial] Cách dùng Statistics trong Power BI

Starttrain Official

Để lại một bình luận

Form - đọc sách
Form - Single Report Template

Vui lòng liên hệ qua những thông tin bên dưới. Starttrain sẽ phản hồi bạn trong thời gian sớm nhất.

Form Dashboard service