Khai Phá Sức Mạnh Của Python Trong Power Query Editor
6/18/2025•2分で読める
Khai Phá Sức Mạnh Của Python Trong Power Query Editor
Power Query Editor trong Power BI là một công cụ ETL (Extract, Transform, Load) cực kỳ mạnh mẽ, cho phép người dùng làm sạch, định hình và biến đổi dữ liệu từ vô số nguồn khác nhau. Tuy nhiên, có những tác vụ phân tích hoặc thao tác dữ liệu phức tạp mà ngôn ngữ M tích hợp sẵn có thể gặp khó khăn hoặc trở nên cồng kềnh. Đây là lúc Python, với hệ sinh thái thư viện phong phú, bước vào và mở ra những khả năng mới.
Trong bài viết này, chúng ta sẽ cùng khám phá cách tích hợp và sử dụng Python script ngay trong Power Query Editor để nâng tầm khả năng xử lý dữ liệu của bạn.
Tại Sao Lại Dùng Python Trong Power Query?
Thư Viện Khổng Lồ: Python có các thư viện mạnh mẽ như Pandas (cho thao tác dữ liệu), NumPy (cho tính toán số học), Scikit-learn (cho machine learning), SciPy (cho tính toán khoa học), và nhiều hơn nữa. Bạn có thể tận dụng chúng để:
Thực hiện các phép biến đổi dữ liệu phức tạp.
Làm sạch dữ liệu nâng cao (ví dụ: sử dụng regular expressions).
Thực hiện phân tích thống kê hoặc các thuật toán machine learning đơn giản.
Làm giàu dữ liệu từ các API bên ngoài (sử dụng thư viện requests).
Linh Hoạt: Nếu bạn đã quen thuộc với Python, việc sử dụng nó trong Power Query sẽ giúp bạn giải quyết vấn đề nhanh hơn và hiệu quả hơn với những logic phức tạp.
Tái Sử Dụng Code: Bạn có thể sử dụng lại các script Python đã viết cho các mục đích khác.
Điều Kiện Tiên Quyết
Trước khi bắt đầu, hãy đảm bảo bạn đã có:
Cài đặt Python: Tải và cài đặt phiên bản Python mới nhất (hoặc một phiên bản ổn định) từ python.org hoặc thông qua các bản phân phối như Anaconda. Anaconda thường được khuyên dùng vì nó đi kèm với nhiều thư viện khoa học dữ liệu phổ biến.
Cài đặt Thư Viện Cần Thiết: Chủ yếu là Pandas và Matplotlib (Power BI yêu cầu Matplotlib, ngay cả khi bạn không trực tiếp tạo biểu đồ từ script). Bạn có thể cài đặt qua pip:
Cấu Hình Power BI Desktop:
Mở Power BI Desktop.
Vào File > Options and settings > Options.
Trong cửa sổ Options, chọn Python scripting.
Power BI thường sẽ tự động phát hiện thư mục cài đặt Python của bạn. Nếu không, bạn cần chỉ định đúng đường dẫn đến thư mục gốc của Python (nơi chứa file python.exe).
Nhấn OK.
Hướng Dẫn Sử Dụng Python Script Trong Power Query Editor
Hãy cùng xem qua một ví dụ đơn giản: thêm một cột mới vào bảng dữ liệu dựa trên giá trị của các cột hiện có.
Bước 1: Mở Power Query Editor và Nạp Dữ Liệu
Trong Power BI Desktop, chọn Get data và nạp một nguồn dữ liệu bất kỳ (ví dụ: một file Excel hoặc CSV đơn giản).
Giả sử chúng ta có bảng dữ liệu sau tên là SalesData với các cột: Product, Quantity, Price.
| Product | Quantity | Price |
| A | 10 | 5 |
| B | 5 | 20 |
| C | 8 | 12 |
Bước 2: Chạy Python Script
Trong Power Query Editor, chọn tab Transform.
Trong nhóm Scripting, nhấn vào Run Python script.
Bước 3: Viết Python Script
Một cửa sổ "Run Python script" sẽ xuất hiện. Đây là nơi bạn viết code Python.
Quan Trọng: Power Query sẽ truyền dữ liệu hiện tại của bảng (tại bước bạn chèn script Python) vào script dưới dạng một Pandas DataFrame có tên là dataset.
Mục tiêu của chúng ta là thêm cột Revenue (Doanh thu) bằng cách nhân Quantity với Price.
Nhập đoạn code Python sau vào cửa sổ:
Nhấn OK.
Bước 4: Xem Kết Quả
Sau khi script chạy, Power Query sẽ hiển thị một bảng kết quả từ Python script. Bạn sẽ thấy một đối tượng Table (thường là DataFrame dataset mà bạn đã trả về).
Nhấp vào chữ Table bên cạnh tên dataset (hoặc tên DataFrame bạn đã trả về nếu khác) trong ô giá trị để mở rộng và xem dữ liệu.
Bảng của bạn giờ đây sẽ có thêm cột Revenue:
Bước 5: Áp Dụng và Đóng
Nhấn Close & Apply trong Power Query Editor để lưu các thay đổi và tải dữ liệu đã biến đổi vào mô hình Power BI.
Những Điều Cần Lưu Ý Và Thực Hành Tốt Nhất
Biến dataset: Luôn nhớ rằng dữ liệu đầu vào từ Power Query vào script Python của bạn được chứa trong một Pandas DataFrame có tên là dataset.
Trả Về DataFrame: Script Python của bạn phải trả về một Pandas DataFrame. Thông thường, bạn sẽ thao tác trên dataset và trả về chính nó.
Hiệu Năng: Việc chạy Python script có thể chậm hơn so với các phép biến đổi M gốc, đặc biệt với lượng dữ liệu lớn. Hãy sử dụng nó một cách có chọn lọc cho các tác vụ mà M không xử lý tốt.
Lỗi và Gỡ Lỗi (Debugging): Việc gỡ lỗi Python script trong Power Query có thể hơi khó khăn. Hãy thử nghiệm script của bạn trong một môi trường Python riêng biệt (như Jupyter Notebook) với một mẫu dữ liệu nhỏ trước khi đưa vào Power Query. Thông báo lỗi của Power BI đôi khi không chi tiết bằng.
Privacy Levels (Mức Độ Riêng Tư): Khi kết hợp các nguồn dữ liệu khác nhau, mức độ riêng tư có thể ngăn script Python chạy. Bạn có thể cần điều chỉnh cài đặt này (File > Options and settings > Options > Privacy).
Scheduled Refresh và Gateway: Nếu bạn xuất bản báo cáo lên Power BI Service và cần làm mới dữ liệu tự động, On-premises Data Gateway (gateway cá nhân hoặc tiêu chuẩn) phải được cài đặt và cấu hình với môi trường Python và các thư viện tương ứng trên máy chủ gateway. Đây là một điểm rất quan trọng!
Giữ Script Đơn Giản: Cố gắng giữ cho các script Python của bạn tập trung vào một tác vụ cụ thể. Nếu cần nhiều bước phức tạp, hãy cân nhắc chia thành nhiều script Python hoặc kết hợp với các bước M.
Bình Luận Code: Luôn bình luận (comment) code Python của bạn để dễ hiểu và bảo trì sau này.
Kết Luận
Tích hợp Python vào Power Query Editor mở ra một thế giới mới về khả năng xử lý và phân tích dữ liệu trong Power BI. Bằng cách tận dụng sức mạnh của các thư viện Python, bạn có thể giải quyết những thách thức dữ liệu phức tạp, thực hiện phân tích nâng cao và tự động hóa các quy trình mà trước đây khó thực hiện chỉ với ngôn ngữ M.
Mặc dù có một số lưu ý về hiệu năng và cấu hình, lợi ích mà Python mang lại là không thể phủ nhận. Hãy bắt đầu thử nghiệm và khám phá cách Python có thể giúp bạn tạo ra những báo cáo Power BI sâu sắc và mạnh mẽ hơn!