# Nối ChatGPT Codex với Power BI qua MCP server

[Pankaj Namekar](https://homus.dev/speakers/pankaj-namekar) · [Data With Pankaj](https://homus.dev/orgs/data-with-pankaj)

> Cài Power BI Modeling MCP Server, nối Codex với Power BI Desktop, rồi tạo bảng ngày, relationship, DAX KPI, insight và bố cục report bằng prompt.

Topics: Dev Tools, Workflow, Agents

Canonical: https://homus.dev/talks/chatgpt-power-bi-via-mcp-server-gpt-6-0-astra-for-reports-dashboards-models

## 1. ChatGPT, Power BI và MCP server: video này làm gì

Pankaj chào mọi người quay lại kênh Data With Pankaj và giới thiệu một video mới về tích hợp Power BI với AI. Trong video này, anh cho xem chính xác cách nối ChatGPT với Power BI thông qua một MCP server, rồi khám phá xem AI giúp mình làm việc hiệu quả hơn thế nào với các model và report trong Power BI.

Anh nhắc rằng kênh đã có sẵn một playlist chi tiết về tích hợp Power BI qua MCP server. Ai muốn xem các use case từ đầu tới cuối thì nên xem playlist đó: anh đã đi qua nhiều tình huống, từ data cleaning, data transformation, tới data modeling, DAX và kỹ năng làm report. Còn hôm nay, video tập trung riêng vào việc tích hợp ChatGPT với Power BI.

![Trang tiêu đề trong Power BI Desktop: Connecting ChatGPT with a Power BI model using an MCP server](https://homus.dev/photos/pJF7vC3DJhs-0003.jpg)

Trang mở đầu được dựng ngay trong file Power BI Desktop "Demo 101": ChatGPT ở bên trái, Power BI ở bên phải, nối với nhau bằng một đường "MCP server", bên dưới là dòng "MCP server connected".

Thứ tự của video như sau: trước tiên dựng phần tích hợp, sau đó làm vài demo thực tế. Các demo gồm tạo và làm việc với DAX, hiểu và chỉnh sửa data model, tìm ý tưởng và cải tiến cho report, cùng vài use case Power BI thực tế khác. Rồi anh bắt đầu tutorial để xem ChatGPT, Power BI và MCP server phối hợp với nhau ra sao.

Đường đi trong demo: Codex trong app ChatGPT nói chuyện với MCP server của Power BI, và MCP server làm việc trực tiếp với model đang mở trong Power BI Desktop.

## 2. Tài liệu hướng dẫn và ba công cụ cần cài

Cho demo này, Pankaj đã soạn sẵn một tài liệu chi tiết, và anh mở nó ra. Tài liệu chỉ cách nối ChatGPT Codex với Power BI thông qua MCP server. Theo đó, bạn cần tải VS Code, rồi tải app Codex, tức app ChatGPT trên máy tính. Anh đã để sẵn mọi link trong tài liệu và nói sẽ chia sẻ tài liệu này trong phần mô tả video, để ai cũng làm theo được đúng quy trình.

Anh giải thích: trong video anh sẽ hướng dẫn chi tiết cách làm, nhưng tài liệu này được viết ra để ai không theo kịp video vẫn có thể đọc và tự dựng môi trường này trên máy mình.

![Trang 2 của tài liệu PDF: 1. Install Required Tools, với VS Code, Codex App và extension Power BI Modeling MCP Server](https://homus.dev/photos/pJF7vC3DJhs-0228.jpg)

Trang "1. Install Required Tools" trong tài liệu sáu trang của Pankaj: VS Code (code.visualstudio.com), Codex App (chatgpt.com/codex) và VS Code Extension "the Power BI Modeling MCP Server", kèm ba bước cài: mở VS Code, tìm extension, bấm Install. Dòng chú thích cuối trang nói extension này cài MCP server cần để nối app Codex với semantic model của Power BI.

Bước đầu tiên là tải VS Code. Máy của Pankaj đã có sẵn VS Code nên anh mở nó ra luôn. Anh nhấn mạnh VS Code miễn phí (theo video đăng ngày 20/09/2026), bạn không phải mua gì cả.

## 3. Cài extension Power BI Modeling MCP Server trong VS Code

Trong VS Code, sau khi tải về, bạn vào mục Extensions. Ở đó bạn chỉ cần thêm đúng một extension: **Power BI Modeling MCP Server**. Máy anh đã cài extension này rồi. Cách tìm: gõ "mcp" vào ô tìm kiếm là sẽ thấy extension đó, có nút Install, bạn chỉ việc bấm cài.

![VS Code Extensions Marketplace với kết quả tìm MCP, trên cùng là Power BI Modeling MCP Server của Microsoft](https://homus.dev/photos/pJF7vC3DJhs-0223.jpg)

Ô Extensions Marketplace của VS Code với từ khoá "MCP": kết quả đầu tiên là Power BI Modeling MCP Server do Microsoft phát hành, mô tả là "brings Power BI semantic modeling capabilities to your agents". Bên dưới còn các MCP server khác như Azure MCP Server, Context7 và Microsoft Fabric MCP Server.

Khi extension đã được thêm vào VS Code thì phần việc với VS Code coi như xong. Mã nguồn và tài liệu chính thức của MCP server này nằm trong repo [microsoft/powerbi-modeling-mcp](https://github.com/microsoft/powerbi-modeling-mcp) trên GitHub.

## 4. Tải app Codex và tìm file thực thi của MCP server

Tiếp theo bạn tải Codex, hay app ChatGPT. Bấm vào link trong tài liệu, nó sẽ đưa bạn tới trang chính thức của ChatGPT, ở đó có nút tải bản cho Windows. Bấm tải, app sẽ được cài về máy và trông như trang Codex anh cho xem.

Đến đây ta đã thêm extension MCP server vào VS Code. Việc kế tiếp là tìm chính file của extension đó trong máy. Để tìm, tài liệu đưa một từ khoá cho Windows Explorer: gõ đường dẫn bắt đầu bằng biến môi trường user profile rồi tới thư mục extension của VS Code.

```
%USERPROFILE%\.vscode\extensions
```

![Trang 3 của tài liệu: 2. Locate MCP Server Executable, bốn bước và một đường dẫn ví dụ](https://homus.dev/photos/pJF7vC3DJhs-0303.jpg)

Trang "2. Locate MCP Server Executable": mở File Explorer, đi tới `%USERPROFILE%\.vscode\extensions`, mở thư mục `analysis-services.powerbi-modeling-mcp-<version>\server\`, rồi copy đường dẫn của `powerbi-modeling-mcp.exe`. Ghi chú cuối trang nhắc số version có thể khác, hãy tìm thư mục bắt đầu bằng "analysis-services.powerbi-modeling-mcp-".

Bấm tìm theo đường dẫn đó, bạn sẽ thấy thư mục mở ra: trong thư mục analysis services powerbi modeling mcp có thư mục `server`, và bên trong là file `powerbi-modeling-mcp`. Bạn copy đường dẫn của file này, vì ta sẽ phải đưa đường dẫn đó vào ChatGPT làm input khi thêm extension vào ChatGPT. Pankaj bấm "Copy as path" rồi dán tạm ra Notepad để dùng ở bước sau. Đường dẫn ví dụ trong tài liệu có dạng:

```
C:\Users\yourname\.vscode\extensions\analysis-services.powerbi-modeling-mcp-0.1.9-win32-x64\server\powerbi-modeling-mcp.exe
```

## 5. Thêm MCP server vào Codex: Plugins, MCPs và hai argument

Xong bước đó, ta mở ChatGPT. Ở thanh điều hướng bên trái có mục Plugins. Trong đó là giao diện liệt kê những ứng dụng bạn đã cài, các ứng dụng phổ biến và nhiều ứng dụng khác. Ở góc trên bên phải có nút Manage, hình bánh răng. Bấm vào đó bạn sẽ thấy các tab Plugins, Apps, MCPs, Skills và Marketplace. Ta bấm vào MCPs.

Pankaj đã thêm sẵn Power BI Modeling MCP ở đây. Nếu bạn không thấy nó, hãy bấm Add: bạn sẽ thấy các lựa chọn create plugins, add a marketplace và add MCP server. Chọn add MCP server thì bạn phải điền name, command, argument và các thứ khác. Nhưng theo anh, mặc định khi MCP server đã được cài từ VS Code thì nó sẽ tự hiện ở đây.

![Màn hình Update Powerbi-modeling-mcp MCP trong cài đặt Codex, với Command to launch và hai argument --start, --skipconfirmation](https://homus.dev/photos/pJF7vC3DJhs-0503.jpg)

Trang cài đặt "Update Powerbi-modeling-mcp MCP" trong tab MCPs: ô "Command to launch" trỏ tới file `powerbi-modeling-mcp.exe` trong thư mục extension của VS Code, phần Arguments có hai dòng `--start` và `--skipconfirmation`, phía dưới là Environment variables để trống.

Bấm vào biểu tượng bánh răng của MCP đó, bạn sẽ thấy ô command đã trỏ tới đúng đường dẫn file anh vừa copy. Từ file MCP server này, ChatGPT sẽ tương tác với Power BI. Anh nói rõ: anh dùng Codex chứ không dùng phần chat thường của ChatGPT.

Rồi tới các argument. Có hai argument là start và skip confirmation. Lý do: nếu không có, mỗi lần làm một việc nó sẽ hỏi bạn xác nhận, kiểu cho phép việc này, cho phép tất cả các việc kia. Để tránh bị hỏi liên tục, anh thêm đúng từ khoá này vào phần argument:

```
--start
--skipconfirmation
```

Vậy là xong. Bạn bấm Save, rồi khởi động lại máy. Sau đó bạn có thể nối thẳng Power BI với ChatGPT và tương tác với nó. (README của repo chính thức liệt kê `--start` là tuỳ chọn để khởi động MCP server khi đăng ký với một MCP client.)

## 6. Model Demo 101 và prompt kết nối đầu tiên

Quay lại app, bạn sẽ thấy có cả Codex và ChatGPT. Pankaj dùng Codex. Về gói, anh nói mình đang dùng gói trả phí (lúc gọi là Plus, lúc gọi là Pro, theo video đăng ngày 20/09/2026), nhưng bạn có thể bắt đầu với gói miễn phí. Chỉ có điều gói miễn phí giới hạn số token, bạn cần nhớ điều đó. Trên màn hình, model được chọn ở ô chat là "GPT-6 Astra Light" (tên model theo video đăng ngày 20/09/2026).

Anh mở model Power BI của mình. Model có năm bảng; anh chuyển sang Model view để cho xem. Có một bảng Sales, đó là fact table, và bốn bảng dimension. Model này chưa có DAX nào. Kế hoạch là nối model với Codex, rồi nhờ nó tạo một bảng calendar, hoặc tạo vài DAX.

![Model view trong Power BI: Sales_Fact ở giữa, nối với Store_Dim, Employee_Dim, Customer_Dim và Product_Dim](https://homus.dev/photos/pJF7vC3DJhs-0614.jpg)

Model view của file Demo 101 trước khi Codex động vào: fact table Sales_Fact ở giữa, nối với bốn bảng dimension Store_Dim, Employee_Dim, Customer_Dim và Product_Dim. Trong khung Data bên phải còn có bảng Title, và chưa có bảng ngày nào.

Anh chuyển sang ChatGPT, chọn Codex và bắt đầu prompt. Tên model là demo101: nhìn sang Power BI sẽ thấy tên file pbix là Demo 101. Anh lưu ý demo này làm với file pbix, không phải pbip. Prompt đầu tiên:

```
Connect with Power BI model Demo 101
```

Codex mất một lúc để tìm tới đúng model đó trên máy, rồi sẽ hỏi bạn muốn làm những việc gì với model này. Kết quả trên màn hình: nó làm trong 50 giây, báo đã kết nối với Demo 101 trong Power BI Desktop và xác minh quyền truy cập, model có 9 bảng và 6 relationship. Pankaj nói đã kết nối xong với file Power BI Desktop Demo 101.

## 7. Tạo bảng ngày theo khoảng min và max của model

Quay lại Power BI, anh chỉ ra rằng chưa có measure nào. Việc đầu tiên anh nhờ là tạo một bảng calendar, sau đó sẽ nhờ viết code DAX: DAX measure, có thể là calculated column, measure hoặc bảng.

Anh nói rõ trong video này sẽ không đi sâu vào chi tiết, đây chỉ là demo để khám phá xem nó chạy thế nào. Anh hứa sẽ sớm có thêm các video đi sâu vào từng mảng: DAX, data modeling, data cleaning bằng Power Query, làm report, mỗi việc một video chi tiết.

Prompt thứ hai tạo bảng date, hay calendar, dựa trên khoảng ngày nhỏ nhất và lớn nhất trong model:

```
Can you create dates table based on min & max date range from my model
```

Codex trả lời rằng nó dùng Power BI modeling và DAX skill để xem xét model và các cột ngày, rồi tạo một bảng date phủ từ ngày nhỏ nhất tới ngày lớn nhất. Thời gian chạy tuỳ việc: việc nhỏ có thể xong trong vài giây, việc lớn thì lâu hơn.

Pankaj chú thích thêm: lúc này anh chỉ prompt chung chung, chưa dùng skill nào. Nếu gõ vào ô chat, bạn sẽ thấy có một số skill, trong đó có nhóm của MCP với nhiều skill khác nhau. Nếu dùng skill cụ thể như DAX, reporting hay modeling thì sẽ tốn ít token hơn. Cách prompt hiệu quả và tiết kiệm token, anh để dành cho các video sau.

![Table view của bảng Dates mới tạo, chỉ có một cột Date, thanh công thức hiện hàm CALENDAR](https://homus.dev/photos/pJF7vC3DJhs-1003.jpg)

Bảng Dates vừa được tạo trong Table view: chỉ có một cột Date từ 16-01-2010, 5.097 dòng. Thanh công thức cho thấy bảng được tạo bằng hàm CALENDAR, lấy ngày nhỏ nhất và lớn nhất từ cả Hire_Date của Employee_Dim lẫn Sale_Date của Sales_Fact.

Codex xác định ngày nhỏ nhất trong model là 16/01/2010 và ngày lớn nhất là 30/12/2023, rồi tạo bảng. Trên màn hình, nó còn ghi khoảng ngày này dựa trên ngày tuyển nhân viên và ngày bán hàng, đã xác minh 5.097 ngày liên tục không trùng, và bảng tự tính lại giới hạn khi model refresh. Công thức hiện trên thanh công thức của Power BI:

```
Dates = CALENDAR(MIN(MIN(Employee_Dim[Hire_Date]), MIN(Sales_Fact[Sale_Date])), MAX(MAX(Employee_Dim[Hire_Date]), MAX(Sales_Fact[Sale_Date])))
```

## 8. Prompt quyết định kết quả: bảng lịch đầy đủ cột

Mở Table view ra, Pankaj thấy bảng date chỉ có đúng một cột. Muốn có một bảng date chi tiết thì phải nói trong prompt: tôi cần một date dimension table đầy đủ, khi đó nó sẽ tạo đủ các cột năm, tháng, tên tháng, quý, số quý. Anh gõ prompt tiếp theo:

```
Can you create all columns in Date tables Like year, month ,day in details
```

Anh giải thích: kết quả hoàn toàn phụ thuộc vào cách bạn viết prompt. Nếu ngay prompt đầu anh đã nói "tôi cần bảng calendar chi tiết" thì nó đã tạo bảng chi tiết ngay. Nếu bạn cần bảng calendar theo năm tài chính (fiscal year), hay theo lịch của một nước khác, cứ nói ra là nó tạo theo đúng prompt. Ở đây anh chỉ đưa một prompt chung: tôi cần bảng date trong model dựa trên khoảng min và max, nên nó chỉ tạo một cột. Giờ nó sẽ thêm cột, và ta xem được thay đổi trực tiếp trong Power BI.

Anh chỉ thêm một điểm: trong bảng date, Codex đã đánh dấu cột date làm calendar table. Mỗi khi tạo bảng calendar hay bảng date, muốn dùng được các hàm time intelligence thì luôn phải đánh dấu bảng đó là calendar table. Ở đây ChatGPT tự bật lựa chọn đó, tức là đánh dấu cột Date của bảng Dates làm cột ngày.

Trong lúc chạy, Codex đưa ra vài đề xuất: dùng tuần bắt đầu từ thứ Hai, thêm số tuần ISO. Đó là những input nó gợi ý; bạn có thể nói ngày đầu tuần của mình là ngày nào, và nó sẽ tạo theo đó. Một lần nữa, kết quả thay đổi theo cách bạn viết prompt.

![Codex báo đã thêm 35 calendar columns vào bảng Dates, liệt kê theo nhóm Year, Quarter, Month, Week, Day, Boundaries, Keys](https://homus.dev/photos/pJF7vC3DJhs-1443.jpg)

Sau 3 phút 12 giây, Codex báo đã thêm 35 cột vào Dates, gom theo nhóm: Year, Quarter, Month, Week (tuần bắt đầu thứ Hai và số tuần ISO), Day, Boundaries (đầu và cuối năm, quý, tháng, tuần) và Keys. Nó cũng cấu hình sắp xếp theo thứ tự thời gian, một hierarchy Year, Quarter, Month, Date, và kiểm tra năm nhuận cùng ranh giới năm ISO.

Kết quả trong bảng date: date dimension được tạo chi tiết với date key, year, is leap year, year start, year end, quarter number, quarter name; tương tự với month number, month name, month short; rồi is weekend, is weekday, day of the year, day short, day name, day of the week, day of the month. Chỉ trong vài phút, một bảng calendar đầy đủ đã xong, và bạn xem được toàn bộ code.

Pankaj chỉ ra cách nó viết: công thức của bảng chỉ lo khoảng min và max, còn mỗi cột được tạo riêng bằng DAX dưới dạng calculated column. Đầu tiên nó tạo cột Date, sau đó thêm lần lượt các cột khác. Nếu ngay lượt đầu bạn hỏi "tạo giúp bảng calendar với chừng này cột trong một lần", nó sẽ dùng ADDCOLUMNS và CALENDAR để bạn thấy toàn bộ code trong một chỗ.

## 9. Nối bảng Dates với bảng Sales_Fact

Việc tiếp theo là modeling: nối bảng date với fact table. Trong Model view, bảng Dates chưa có relationship nào với bảng Sales_Fact. Sales_Fact có cột Sale_Date, nên cột Date của bảng Dates phải nối với Sale_Date. Anh cố tình không nói "dùng cột này làm khoá" hay "lấy Sale_Date của Sales_Fact làm khoá để nối". Codex sẽ tự quét model rồi nối với cột phù hợp. Prompt:

```
Connect dates table with sales fact table
```

Codex trả lời rằng nó sẽ kiểm tra các relationship hiện có và nối Dates với Sales_Fact. Nó tự nhận ra trong Sales_Fact có Sale_Date và cột này nối được với Date của bảng Dates. Trong lúc chờ, Pankaj thú nhận anh cũng chưa thử Codex với Power BI qua MCP server trước đó; anh đang khám phá ngay trong video, nên không chắc việc nào nó làm được và việc nào không.

![Codex báo đã nối Dates[Date] (1) tới Sales_Fact[Sale_Date] (*) với relationship active, một chiều](https://homus.dev/photos/pJF7vC3DJhs-1643.jpg)

Sau 1 phút 8 giây: Codex nối `Dates[Date]` (phía 1) với `Sales_Fact[Sale_Date]` (phía nhiều) bằng một relationship active, lọc một chiều, và xác minh rằng bộ lọc ngày lọc đúng doanh số, mọi ngày bán đều có ngày tương ứng. Ở ô chat, Pankaj đã bắt đầu gõ prompt kế tiếp về DAX measures.

Kết quả: bảng Dates nối qua cột Date, Sales_Fact nối qua Sale_Date. Double-click vào đường nối, anh cho thấy Sale_Date nối với Date theo quan hệ one-to-many: phía "một" ở bảng date, phía "nhiều" ở fact table. Tóm lại, đến đây ta đã tạo bảng date bằng Codex rồi dựng modeling cho nó.

## 10. Tạo DAX measures cho các KPI quan trọng

Bây giờ tới DAX measures. Prompt của Pankaj:

```
can you create few DAX measures consider important KPIS
```

Anh nói Codex có thể tạo đủ loại DAX chi tiết: time intelligence, các phép so sánh, hay DAX thông thường như revenue. Trong demo này anh chỉ thử mấy cái chung cho các KPI quan trọng. Model lúc đó gần như không có DAX: chỉ có một DAX duy nhất, dùng cho tiêu đề của chính video này.

Codex quét model, xem các cột, giá trị của chúng, bao nhiêu giá trị unique và distinct, rồi xác định KPI nào quan trọng và tạo DAX dựa trên đó. Trên màn hình, nó nói sẽ dùng Power BI DAX và modeling skill để thêm các KPI bán hàng chính như revenue, units sold, customers, average sale value và tăng trưởng year-over-year; nó kiểm tra measure hiện có trước để phép tính khớp với model. Sau khi chạy lệnh, nó ghi nhận mỗi Sale_ID là duy nhất, Total_Price khớp với quantity nhân unit price, và sẽ thêm 11 KPI vào bảng measure Title có sẵn, gom thành các nhóm Sales, Customers, Shipping và Time Intelligence, giá trị tiền dùng hai số thập phân mà không giả định đơn vị tiền tệ.

Pankaj nhắc lại: với cách này bạn làm được những việc chi tiết như data cleaning, data modeling, DAX, viết documentation, thậm chí tạo report; anh sẽ làm trong các video sau. Anh cũng để ý rằng mình không yêu cầu đưa mọi measure KPI quan trọng vào một bảng measure riêng, nên tò mò xem nó sẽ gom vào một bảng riêng hay đặt mỗi KPI vào bảng tương ứng.

Trong lúc chờ, anh nói về một điều anh rất thích ở AI này: dù làm project từ con số không, bạn luôn có toàn bộ cuộc chat bên mình. Bạn quay lại được bất kỳ điểm nào, kiểu "từ điểm này trong cuộc chat, hãy lấy cái này làm gốc và làm mọi thay đổi từ đây, đừng giữ những thay đổi sau đó". Tức là ta gọi lại được cuộc trò chuyện, làm validation và testing, và có cả logic quay lui.

Kết quả Codex báo: 11 KPI measure được tạo và validate trong Title, thư mục KPIs, chia bốn nhóm Customers, Sales, Shipping và Time Intelligence.

Kết quả: Codex báo đã tạo và validate 11 KPI trong Title, mục KPIs. Pankaj đọc danh sách: total sales, units sold, sales transaction, average sales, rồi sales year-on-year growth, sales year-on-year change. Nó cũng đưa ra tổng hiện tại: trên màn hình là 764.345.617,83 sales, 550.000 transactions và 1.000 customers. Đúng như anh đoán, nó tạo một bảng Title chứa các thư mục con: KPI, rồi nhóm liên quan khách hàng, nhóm bán hàng, nhóm shipping và nhóm time intelligence.

## 11. Kéo KPI lên canvas và chuyện "đã được validate"

Kéo các KPI này lên canvas là thấy giá trị thật. Pankaj chọn visual dạng card, rồi kéo vài KPI trong nhóm Sales vào: total sales, units sold, sales transaction.

![Report view với bốn card: Total Sales 764.35M, Units Sold 3M, Sales Transactions 550K, Average Sale Value 1.39K](https://homus.dev/photos/pJF7vC3DJhs-2023.jpg)

Trên canvas, bốn card hiện giá trị của các measure vừa tạo: Total Sales 764.35M, Units Sold 3M, Sales Transactions 550K và Average Sale Value 1.39K. Khung Data bên phải cho thấy cây thư mục Title, KPIs với các nhóm Customers, Sales, Shipping và Time Intelligence.

Anh lưu ý một điều: trong output, Codex ghi rằng mọi con số đã được validate. Đó là điểm quan trọng, nghĩa là việc kiểm tra cho các KPI này đã được làm. Bạn còn có thể hỏi thêm, ví dụ: với quốc gia này, với sản phẩm này, hãy validate toàn bộ các KPI. Nó sẽ đưa ra một bản tóm tắt chi tiết ngay trong chat, và bạn chỉ cần đối chiếu bản tóm tắt đó với report Power BI của mình.

Theo Pankaj, cách nó làm là lấy dữ liệu từ Power BI rồi tự tính. Nếu bạn dùng DAX nào, Codex cũng tính theo cách tương tự, rồi so kết quả của DAX với kết quả của chính Codex. Chỉ khi hai bên khớp hoàn toàn nó mới báo là đã validate. Vậy là ta đã làm xong phần modeling và DAX.

## 12. Hỏi business insight từ model

Thêm một việc nữa: anh muốn xem có business insight gì từ model này.

```
Can you suggest important business insights
```

Codex lại quét toàn bộ model, qua các bảng dimension khác nhau và fact table, rồi thử phân tích xu hướng theo nhiều kiểu và chia sẻ insight. Pankaj gợi ý bạn có thể hỏi top 10 hay top 5 insight; hành vi khách hàng ra sao; xu hướng doanh số thế nào; nhân viên làm việc ra sao theo thời gian; sản phẩm nào bán chạy nhất, ở vùng nào, thành phố nào. Bạn chỉ cần viết prompt bằng lời thường. Codex sẽ đi vào model, hoạt động như một agent, lấy dữ liệu từ model theo input của bạn và đưa ra kết quả.

![Bảng ba cột Business insight, Evidence, Suggested action do Codex trả về, cùng phần Important context](https://homus.dev/photos/pJF7vC3DJhs-2203.jpg)

Câu trả lời của Codex là một bảng ba cột: Business insight, Evidence và Suggested action, gồm sáu insight (doanh số gần như đi ngang, vùng West dẫn đầu doanh số mỗi cửa hàng, tổng theo danh mục phản ánh độ rộng mặt hàng, nhóm Consumer chiếm phần lớn, mùa vụ theo tháng yếu, chi phí shipping là cơ hội tiết kiệm). Cuối cùng là "Important context": dữ liệu dừng ở 30/12/2023 và không có dữ liệu giá vốn.

Chỉ trong vài giây, nó đưa ra insight chi tiết. Pankaj đọc: model có khoảng 764 triệu doanh số (trên màn hình ghi 764,35 triệu trên 550.000 giao dịch; anh đọc là "hơn 500 giao dịch"). Rồi tới những phát hiện hữu ích nhất. Doanh số gần như đi ngang: so cùng giai đoạn đầu năm tới cuối năm ở cả hai năm, doanh số 2023 chỉ tăng nhẹ so với 2022 (anh đọc là 0,8%, còn trên màn hình ghi 0,18%). Hành động đề xuất là tập trung tăng tần suất giao dịch và giá trị bán trung bình.

Anh giải thích cấu trúc câu trả lời: mỗi insight đi kèm bằng chứng (evidence). Ví dụ nếu bạn thấy doanh số tăng trong tháng một, thì bằng chứng là gì; nó đưa ra đúng thông tin đó. Rồi tới hành động bạn có thể làm để đạt mục tiêu cụ thể. Tương tự cho các vùng và các danh mục. Ví dụ nhóm consumer chiếm ưu thế trong doanh số: trong các phân khúc khách hàng, insight về phân khúc consumer cho thấy đây là chỗ ta có thể tối ưu chi phí. Nó đưa ra những gợi ý kiểu như vậy.

Anh nói thêm: bạn còn có thể hỏi top 5 insight rồi top 5 cơ hội của model này, hoặc hỏi nên làm report thế nào để chia sẻ với ban lãnh đạo, và nó cũng sẽ gợi ý.

## 13. Gợi ý bố cục báo cáo ba trang

Pankaj muốn làm một report ba trang và cần chút input về cách làm, nên anh đưa một prompt chung:

```
can you suggest 3 pages report layout
```

Codex đề xuất ba trang theo cùng một bố cục 16:9: Executive Overview, Products & Store Performance, và Customers & Shipping. Với mỗi trang, nó chỉ ra phần filter ở trên cùng, hàng KPI, ô giữa bên trái, giữa bên phải, dưới bên trái, dưới bên phải. Tức là trang nào cũng có gợi ý dùng filter nào, KPI nào, chart nào, cột và measure nào. Đó là loại kết quả bạn nhận được.

Trang 1 "Executive Overview" theo gợi ý của Codex. Trang 2 "Products & Store Performance" thêm Sales per Store, Sales per Product, scatter chart hiệu quả cửa hàng và một nút chuyển Product / Store; trang 3 "Customers & Shipping" có Customers Served, Sales per Customer, Shipping Cost %, top 10 khách hàng và matrix shipping theo vùng. Codex cũng liệt kê các measure còn thiếu cần thêm.

Theo phần trả lời trên màn hình, trang Products & Store Performance nhằm xác định sản phẩm và địa điểm nào tạo ra kết quả, và trang Customers & Shipping nhằm hiểu giá trị khách hàng và hiệu quả shipping. Cuối câu trả lời là danh sách "Additional measures needed": Sales per Store, Sales per Product, Sales per Customer, Transactions per Customer, Revenue Share %, Shipping Cost % và Shipping Cost per Transaction.

## 14. Wireframe cho từng trang và lời kết

Anh thử thêm một prompt, để xem nó có gợi ý được wireframe không:

```
can you suggest simple wireframe for each page
```

Lần này nó gợi ý bằng plain text. Pankaj nói nếu muốn dạng HTML hay SVG thì cứ yêu cầu, kết quả sẽ thay đổi tương ứng. Anh chỉ đưa prompt chung chung, và kết quả chịu ảnh hưởng trực tiếp từ prompt. Câu trả lời này về cơ bản là phiên bản tiếp theo của câu trả lời trước.

![Wireframe dạng plain text cho trang 1 Executive Overview trong Codex](https://homus.dev/photos/pJF7vC3DJhs-2443.jpg)

Wireframe dạng chữ cho "Page 1, Executive Overview" trên canvas 16:9: dòng tiêu đề kèm "Data through 30 Dec 2023", ba slicer, bốn ô KPI, line chart doanh số theo tháng so với năm trước, bar chart theo vùng và theo danh mục, matrix theo tháng, và thanh điều hướng giữa ba trang ở dưới cùng. Bên dưới là wireframe của "Page 2, Products & Stores".

Anh đọc wireframe của trang Executive Overview: tiêu đề trang, rồi ngày, tức dữ liệu có tới ngày nào; tiếp đến các slicer; rồi các KPI; rồi line chart, bar chart, một bar chart nữa, matrix; và ở dưới cùng là phần điều hướng trang, ghi tên từng trang. Các trang khác cũng tương tự.

Nếu muốn wireframe chi tiết hơn, bạn có thể nhờ nó tạo bằng HTML, SVG hay ảnh JPG, rồi import làm canvas background trong Power BI và chỉ việc đặt visual của bạn lên trên. Có nhiều cách khác nhau, và anh sẽ đi sâu vào từng mảng của Power BI trong các video sắp tới.

Đó là cách dùng ChatGPT với Power BI qua MCP server. Pankaj kết video: nếu thấy hữu ích thì subscribe và chia sẻ cho bạn bè, và hẹn gặp lại trong video tiếp theo về tích hợp Power BI với AI.

## Nguồn và liên kết

- Tên gốc: ChatGPT + Power BI via MCP Server 🔥 | GPT 6.0 Astra for Reports, Dashboards & Models
- Sự kiện: [YouTube](https://homus.dev/events/youtube)
- Video gốc: [https://www.youtube.com/watch?v=pJF7vC3DJhs](https://www.youtube.com/watch?v=pJF7vC3DJhs)

- Kênh YouTube Data With Pankaj (Pankaj Namekar): [youtube.com/channel/UCBFboq9x_CXch8Ddx30a1rQ](https://www.youtube.com/channel/UCBFboq9x_CXch8Ddx30a1rQ)

- Power BI Modeling MCP Server, repo chính thức của Microsoft (cách cài trong VS Code, các tuỳ chọn dòng lệnh như `--start`): [github.com/microsoft/powerbi-modeling-mcp](https://github.com/microsoft/powerbi-modeling-mcp)

- Visual Studio Code: [code.visualstudio.com](https://code.visualstudio.com/)

Nguồn: https://homus.dev/talks/chatgpt-power-bi-via-mcp-server-gpt-6-0-astra-for-reports-dashboards-models · cập nhật 2026-10-20
