Địa chỉ:
Lầu 7 Tòa nhà STA, 618 đường 3/2, Phường Diên Hồng (Phường 14, Quận 10), TP HCM
Giờ làm việc
Thứ 2 tới thứ 6: 9:00 - 18:00
Địa chỉ:
Lầu 7 Tòa nhà STA, 618 đường 3/2, Phường Diên Hồng (Phường 14, Quận 10), TP HCM
Giờ làm việc
Thứ 2 tới thứ 6: 9:00 - 18:00
Khi xử lý dữ liệu trong Power BI, làm sạch và chuẩn hóa dữ liệu dạng văn bản luôn là một trong những bước chiếm nhiều thời gian nhất. Để giúp các nhà phân tích tối ưu hóa quy trình này, Power Query cung cấp bộ công cụ cực kỳ mạnh mẽ mang tên Extract.
Trong bài viết này, chúng ta sẽ cùng khám phá chi tiết về chức năng Extract trong Power BI, cách ứng dụng thực tế thông qua hình ảnh trực quan và cách làm chủ các mã M đằng sau giao diện kéo thả.
Extract trong Power BI (hay chính xác hơn là trong Power Query Editor) là nhóm tính năng cho phép bạn trích xuất một phần ký tự hoặc thông tin từ một cột dữ liệu văn bản hiện có để tạo ra một giá trị mới.
Thay vì phải viết những công thức DAX phức tạp ở tầng Data Model, bạn có thể thực hiện việc trích xuất ngay từ bước ETL (Extract, Transform, Load) ban đầu. Điều này giúp tối ưu hóa hiệu suất báo cáo và giữ cho mô hình dữ liệu luôn gọn nhẹ.
Bộ công cụ Extract trong Power Query cung cấp các chức năng chính sau:
Đối với các chuyên gia dữ liệu, việc quyết định xử lý dữ liệu ở bước nào cực kỳ quan trọng. Dưới đây là những lý do bạn nên ưu tiên sử dụng Extract trong Power Query thay vì tạo các cột tính toán (Calculated Columns) bằng DAX:
Đầu tiên, bạn chọn cột dữ liệu cần xử lý. Trên thanh Ribbon của Power Query Editor, bạn điều hướng đến tab Transform hoặc Add Column và nhấp chọn menu thả xuống Extract.
Toàn bộ các tùy chọn trích xuất chuỗi như Length, First Characters, Last Characters, Range, … sẽ hiển thị đầy đủ tại đây để bạn lựa chọn.

Nếu bạn muốn biết số lượng ký tự trong cột tên khách hàng Customer_Name, hãy chọn cột đó rồi click vào Extract > Length.
Kết quả thu được: Cột Customer_Name ban đầu đã được chuyển đổi thành các con số biểu thị độ dài của tên (ví dụ: “John Smith” đổi thành 10, “Emily Johnson” đổi thành 13). Bước này được Power Query ghi nhận trong phần Applied Steps là “Calculated Text Length”.

Để lấy mã tiền tố giao dịch từ cột mã đơn hàng Order_Code, chúng ta chọn cột này và nhấp vào Extract > First Characters.

Hộp thoại “Extract First Characters” xuất hiện yêu cầu nhập số lượng ký tự muốn giữ lại tính từ đầu chuỗi. Ta nhập số 2 vào ô Count và nhấn OK.

Kết quả ngay lập tức hiển thị. Cột mã đơn hàng bây giờ chỉ còn giữ lại 2 ký tự đầu tiên đại diện cho loại mã (ví dụ: “SL”, “PO”, “RT”).

Khi muốn lấy phần đuôi phân loại của mã SKU sản phẩm nằm ở cuối chuỗi của cột Product_SKU, bạn sử dụng chức năng Last Characters.
Trong hộp thoại “Extract Last Characters”, ta nhập số 3 vào ô Count để lấy 3 ký tự cuối cùng và nhấn OK.

Sau khi nhấn xác nhận, cột Product_SKU hiện tại đã được rút gọn chỉ còn lại 3 ký tự cuối cùng (ví dụ: “NY1”, “LA2”, “CHI”).

Đối với những chuỗi ký tự phức tạp chứa thông tin quan trọng ở giữa, bạn có thể dùng tính năng Range. Để thực hiện, chọn cột Transaction_ID rồi nhấp chọn Extract > Range.

Hộp thoại “Extract Text Range” sẽ yêu cầu bạn cung cấp hai thông số quan trọng:

Kết quả hiển thị cho thấy cột Transaction_ID đã được trích xuất chính xác chuỗi số ngày tháng năm ở giữa (ví dụ: từ “TX150124-A001” trích xuất thành công chuỗi “150124” gồm 6 ký tự bắt đầu từ vị trí index thứ 2).

Giả sử bạn có một danh sách địa chỉ email trong cột Email và chỉ muốn lấy phần tên người dùng (phần đứng trước ký tự “@”). Hãy sử dụng chức năng Text Before Delimiter.
Đầu tiên, chọn cột Email, nhấp vào Extract và chọn Text Before Delimiter.

Hộp thoại cấu hình sẽ xuất hiện. Tại đây, bạn nhập ký tự “@” vào ô Delimiter và nhấn OK.

Kết quả cho thấy toàn bộ phần tên miền phía sau “@” đã được loại bỏ, hệ thống chỉ giữ lại phần tên người dùng (username) một cách hoàn hảo.
Dữ liệu thực tế đôi khi có cấu trúc lặp lại phức tạp, ví dụ như đường dẫn thư mục trong cột Document_Path. Để lấy phần tên file hoặc thư mục cấp thấp, bạn dùng Text After Delimiter.
Chọn cột dữ liệu và truy cập tính năng.

Nhập dấu gạch chéo ngược \ vào ô Delimiter.


Điều đặc biệt làm nên sức mạnh của Power Query nằm ở tùy chọn nâng cao. Hãy mở rộng phần Advanced options. Ở đây, chúng ta cấu hình quét từ đầu chuỗi (Scan for the delimiter: From the start of the input) và yêu cầu hệ thống bỏ qua 2 dấu gạch chéo đầu tiên (Number of delimiters to skip: 2).

Hình minh họa thể hiện kết quả: Power Query đã bỏ qua 2 dấu \ đầu tiên của đường dẫn gốc (C:\Company…) và trích xuất thành công toàn bộ phần đường dẫn phía sau (Sales\Reports…).

Khi bạn cần bóc tách tên miền cốt lõi của website từ các dải URL đầy đủ trong cột Website, phần thông tin giá trị này thường nằm kẹp giữa cặp dấu // và dấu / tiếp theo. Đây là lúc Text Between Delimiters phát huy tác dụng tốt nhất.
Nhấp chọn tính năng này từ menu Extract.

Trong hộp thoại thiết lập ở hình extract-trong-power-bi-19.jpg, bạn nhập // vào ô Start delimiter (ký tự phân tách bắt đầu) và / vào ô End delimiter (ký tự phân tách kết thúc).

Kết quả cho thấy các tiền tố giao thức (https://) và toàn bộ phần trang con phía sau đều bị cắt bỏ, hệ thống trả về đúng tên miền chính của các doanh nghiệp.

Đằng sau giao diện kéo thả trực quan của Power Query là ngôn ngữ M (M-code). Khi bạn thực hiện bất kỳ thao tác Extract nào, hệ thống sẽ tự động tạo ra một dòng code tương ứng trên thanh công thức (Formula Bar).
Việc hiểu rõ các hàm M-code này sẽ giúp bạn chủ động tùy biến hoặc tự viết mã trực tiếp trong Advanced Editor để xử lý các tác vụ phức tạp một cách chuyên nghiệp nhất.
Sử dụng hàm Text.Length để đếm tổng số ký tự của một trường dữ liệu.
Mã M mẫu: = Table.TransformColumns(Table1_Table, {{“Customer_Name”, Text.Length, Int64.Type}})
Sử dụng hàm Text.Start kết hợp với tham số đếm số lượng ký tự cần lấy.
Mã M mẫu: = Table.TransformColumns(#”Calculated Text Length”, {{“Order_Code”, each Text.Start(_, 2), type text}})
Sử dụng hàm Text.End để trích xuất các ký tự từ đuôi phía bên phải của chuỗi.
Mã M mẫu: = Table.TransformColumns(#”Extracted First Characters”, {{“Product_SKU”, each Text.End(_, 3), type text}})
Sử dụng hàm Text.Middle với cú pháp chi tiết gồm: tên cột, chỉ số index bắt đầu và số lượng ký tự cần thu thập.
Mã M mẫu: = Table.TransformColumns(#”Extracted Last Characters”, {{“Transaction_ID”, each Text.Middle(_, 2, 6), type text}})
Sử dụng hàm Text.BeforeDelimiter chỉ định rõ ký tự phân tách.
Mã M mẫu: = Table.TransformColumns(#”Extracted Text Range”, {{“Email”, each Text.BeforeDelimiter(_, “@”), type text}})
Sử dụng hàm Text.AfterDelimiter kết hợp tham số xác định số lượng delimiter cần bỏ qua.
Mã M mẫu: = Table.TransformColumns(#”Extracted Text Before Delimiter”, {{“Document_Path”, each Text.AfterDelimiter(_, “\”, 2), type text}})
Sử dụng hàm Text.BetweenDelimiters cung cấp chuẩn xác cặp ký tự phân tách mở và đóng.
Mã M mẫu: = Table.TransformColumns(#”Extracted Text After Delimiter”, {{“Website”, each Text.BetweenDelimiters(_, “//”, “/”), type text}})
Dù là một tính năng trực quan, người phân tích dữ liệu đôi khi vẫn đối mặt với một vài trở ngại khi áp dụng Extract trong Power BI:
Việc thành thạo bộ công cụ Extract trong Power BI thông qua giao diện Power Query là một kỹ năng không thể thiếu đối với mọi chuyên gia dữ liệu. Nó không chỉ giúp bạn giải quyết nhanh gọn những bài toán làm sạch dữ liệu văn bản rắc rối mà còn cải thiện mạnh mẽ hiệu suất vận hành của toàn bộ báo cáo phân tích.
Nếu bạn muốn nâng cao kỹ năng phân tích và trực quan hóa dữ liệu chuyên nghiệp, khóa học Power BI tại Starttrain sẽ giúp bạn xây dựng dashboard, xử lý dữ liệu với Power Query, sử dụng DAX và tạo các báo cáo trực quan phục vụ công việc thực tế. Chương trình được thiết kế theo lộ trình từ cơ bản đến nâng cao, kết hợp nhiều bài tập thực hành với dữ liệu doanh nghiệp, giúp học viên có thể áp dụng ngay sau khi hoàn thành khóa học.

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official

Starttrain Official
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.




