Power BI Modeling MCP × Claude Cowork — Blueprint
MCP DIRECT · CLAUDE COWORK × POWER BI MODELING MCP

เชื่อม Claude เข้ากับ
Power BI MCP

คู่มือติดตั้งและใช้งาน Power BI Modeling MCP Server (ของ Microsoft, Public Preview) ผ่าน Claude Desktop / Claude Cowork — ให้ Claude สร้าง แก้ไข ตรวจสอบ และทำเอกสารโมเดล Power BI ได้ด้วยภาษาธรรมชาติ โดยไม่ต้องคลิกเมนูเอง

5
สิ่งที่ต้องมีก่อน
21
OPERATION GROUPS
8
MODULE การใช้งาน
2
วิธีติดตั้ง

ปัญหาก่อนมี Power BI MCP

งาน Data Modeling ใน Power BI ส่วนใหญ่เป็นงานที่ทำซ้ำและใช้เวลานาน ทั้งที่รู้ว่าจะเขียนอะไร แต่ต้องคลิกเมนูทีละขั้น

✍️
เขียน DAX ทีละบรรทัด
Copy DAX จาก ChatGPT ไปวางใน Power BI แล้วแก้ error ไปมา เพราะ AI ไม่เห็นโครงสร้างโมเดลจริง
🧱
สร้าง Measure ซ้ำๆ
Measure แบบเดียวกัน (YoY, %Growth, Running Total) ต้องพิมพ์ใหม่ทุกตารางที่ต้องการ
📄
ทำเอกสารโมเดลด้วยมือ
Data Dictionary, คำอธิบาย Business Logic ของแต่ละ Measure ไม่มีใครมีเวลาทำให้ครบ
🐌
Debug Query ช้าไม่รู้สาเหตุ
ไม่มีเครื่องมือดู Storage Engine event ง่ายๆ ว่า Query ไหนกินเวลาตรงไหน
🧹
Metadata รก
Measure ที่ไม่ใช้แล้ว ชื่อคอลัมน์ไม่สม่ำเสมอ ไม่มีเวลาไล่ทำความสะอาด

เลือกให้ถูกก่อนติดตั้ง

Microsoft มี MCP Server สำหรับ Power BI สองตัวที่ทำงานคนละหน้าที่กัน — Blueprint นี้เน้น Local Modeling MCP เพราะเป็นตัวที่ให้ Claude "สร้างและแก้ไข" โมเดลได้จริง

หัวข้อ🟡 Local Modeling MCP (เน้นในคู่มือนี้)Remote MCP (Preview)
ใช้ทำอะไรสร้าง/แก้ไขโครงสร้างโมเดล, เขียน DAX, ทำเอกสาร — งานฝั่ง Developerถามคำถามข้อมูล/insight จากโมเดลที่ Publish แล้ว — งานฝั่ง Business User
รันที่ไหนเครื่อง Local ผ่าน stdio (VS Code / Claude Desktop)Cloud-hosted endpoint ของ Microsoft
ต้องมีอะไรก่อนPower BI Desktop เปิดไฟล์ค้างไว้ (หรือ Fabric/TMDL)Admin ต้องเปิด Tenant Setting + Fabric/Copilot capacity
แก้ไขข้อมูลได้ไหมได้ — สร้าง/ลบ/แก้ Table, Column, Measure, Relationship ฯลฯไม่ได้ — Query อย่างเดียว

โครงสร้างการเชื่อมต่อ

Claude ไม่ได้คุยกับ Power BI โดยตรง แต่คุยผ่าน MCP Server ที่ทำหน้าที่แปลคำสั่งภาษาคนให้เป็นการเรียก Tabular Object Model (TOM) ของ Analysis Services

Claude Desktop / Cowork
พิมพ์คำสั่งภาษาไทย/อังกฤษ
Power BI Modeling MCP
แปลเป็น Tool Call (stdio)
Power BI Desktop / Fabric
Local XMLA Endpoint

Claude เห็นแค่สิ่งที่ MCP Server เปิดให้เข้าถึง — ไม่มีสิทธิ์แตะ Report Page, Visual Layout หรือ Diagram View เพราะ Server ทำได้เฉพาะงาน Modeling Layer เท่านั้น

สิ่งที่ต้องติดตั้ง/เตรียมให้พร้อมก่อน

เช็คลิสต์ 5 ข้อนี้ให้ครบก่อน ไม่งั้น Claude จะหา MCP Server หรือไฟล์โมเดลไม่เจอ

1
Windows 10/11
การเชื่อมต่อกับไฟล์ Power BI Desktop ในเครื่องใช้ Local XMLA Endpoint ซึ่งใช้ได้เฉพาะ Windows เท่านั้น (macOS/Linux รันตัว Server ได้ แต่เชื่อมได้แค่ Fabric หรือไฟล์ TMDL)
2
Power BI Desktop + เปิดไฟล์ค้างไว้
ต้องมีไฟล์ .pbix หรือ .pbip เปิดอยู่ขณะใช้งาน แนะนำเปิด File → Options → Preview features แล้วติ๊ก "Power BI Project (.pbip) save format" และ "Store semantic model using TMDL format"
3
Claude Desktop
ติดตั้งแอป Claude Desktop (Cowork อยู่ในแอปเดียวกัน) เพราะต้องแก้ไฟล์ Config ของแอปนี้โดยตรง
4
ตัว MCP Server เอง
เลือกติดตั้งทางใดทางหนึ่ง — ผ่าน VS Code Extension (แนะนำ) หรือผ่าน npx (ต้องมี Node.js LTS) ดูรายละเอียดในส่วนถัดไป
5
สำรองไฟล์โมเดลไว้ก่อน
เพราะเป็น Public Preview และ LLM อาจแก้ไขผิดพลาดได้ ควร Save As สำรองไฟล์ .pbix/.pbip ไว้ก่อนให้ Claude แก้โมเดลจริง

เลือกวิธีติดตั้ง MCP Server

มี 2 ทางหลักที่ Claude Desktop เชื่อมกับ Power BI Modeling MCP ได้ — ต่างกันที่ความง่ายในการหา Path ของไฟล์ Server

วิธี A — ผ่าน VS Code Extension
แนะนำ: หา Path อัตโนมัติ
  • ติดตั้ง VS Code + Extension "GitHub Copilot Chat"
  • ติดตั้ง Extension "Power BI Modeling MCP (Analysis Services)" จาก Marketplace
  • เปิด Terminal ใน VS Code (Ctrl+`) หาโฟลเดอร์ .vscode/extensions/analysis-services.powerbi-modeling-mcp-x.x.x
  • คัดลอก Path เต็มของไฟล์ .exe ในโฟลเดอร์ server
✓ Extension ช่วยติดตั้งไฟล์ให้ครบ ไม่ต้องมี Node.js เอง
✗ ต้อง Copy Path เอง และแก้ \ เป็น \\ ใน JSON
วิธี B — ผ่าน npx (Manual)
สั้นที่สุด ถ้ามี Node.js แล้ว
  • ติดตั้ง Node.js LTS จาก nodejs.org (เช็คด้วย node --version)
  • ไม่ต้องติดตั้ง VS Code เลย
  • ใส่คำสั่ง npx ตรงลงใน claude_desktop_config.json ได้เลย
  • npx จะดาวน์โหลดเวอร์ชันล่าสุดให้อัตโนมัติทุกครั้งที่เปิด
✓ ไม่ต้องหา Path เอง ไม่ต้องอัปเดตเวอร์ชันมือ
✗ ต้องติดตั้ง Node.js ล่วงหน้า และต้องต่อเน็ตทุกครั้งที่เปิด Claude
Config A — ระบุ Path ของไฟล์ .exe (แทน USERNAME และเลขเวอร์ชันด้วยของจริง)
{ "mcpServers": { "powerbi-modeling-mcp": { "command": "C:\\Users\\USERNAME\\.vscode\\extensions\\analysis-services.powerbi-modeling-mcp-0.4.0-win32-x64\\server\\powerbi-modeling-mcp.exe", "args": ["--start"], "type": "stdio" } } }
Config B — ผ่าน npx
{ "mcpServers": { "powerbi-modeling-mcp": { "command": "npx", "args": ["-y", "@microsoft/powerbi-modeling-mcp"] } } }
ตำแหน่งไฟล์ Config: Windows → %APPDATA%\Claude\claude_desktop_config.json — ถ้ามี MCP Server อื่นอยู่แล้ว (เช่น n8n, Google Sheets, Gmail) ให้เพิ่ม Block "powerbi-modeling-mcp" เข้าไปใน mcpServers เดิม ไม่ต้องสร้างไฟล์ใหม่
ขั้นตอนหลังตั้งค่า Config เสร็จ
1
Quit Claude Desktop ให้สนิท
ปิดจากถาดไอคอนระบบ ไม่ใช่แค่ปิดหน้าต่าง แล้วเปิดใหม่
2
เปิดไฟล์ Power BI ทิ้งไว้
เปิด Power BI Desktop และโหลดไฟล์ .pbix/.pbip ที่ต้องการก่อนเริ่มคุยกับ Claude
3
เช็คไอคอน MCP ในหน้าแชท
ควรเห็น powerbi-modeling-mcp ปรากฏในรายการ Tools ของ Claude Desktop
💡ถ้าไม่ขึ้น ให้เช็คว่าแก้ \ เป็น \\ ใน Path ครบทุกจุดหรือยัง เป็นจุดพลาดที่พบบ่อยที่สุด
4
ทดสอบด้วยคำสั่งแรก
พิมพ์ "เชื่อมต่อกับไฟล์ Power BI ที่เปิดอยู่ตอนนี้" — Claude จะถามยืนยันสิทธิ์ก่อนอ่านหรือแก้โมเดลครั้งแรกเสมอ (Elicitation) ให้กด Approve

8 กลุ่มงานที่ Power BI MCP ช่วยได้

พร้อม Prompt ตัวอย่างที่พิมพ์ในแชท Claude ได้เลย — คลิกที่หัวข้อเพื่อเปิด/ปิดรายละเอียด

🔌
MODULE 1 · CONNECTION
เชื่อมต่อกับโมเดล
ก่อนทำอะไรก็ต้องเชื่อมต่อก่อนเสมอ
ใช้เมื่อ
เริ่มเซสชันใหม่ / สลับไฟล์
Operation หลัก
connection_operations
แหล่งที่เชื่อมได้
PBI Desktop / Fabric / .bim / TMDL Folder
ต้องอนุมัติ
ครั้งแรกของแต่ละฐานข้อมูล
Prompt ตัวอย่าง
พิมพ์ในแชท Claude
เชื่อมต่อกับไฟล์ Power BI Desktop ที่เปิดอยู่ตอนนี้ชื่อ "ยอดขายสาขา 2569" ถ้าไม่แน่ใจว่ามีไฟล์ไหนเปิดอยู่บ้าง ให้ลอง: แสดงรายชื่อ Power BI Desktop ที่กำลังรันอยู่ในเครื่องตอนนี้ทั้งหมด
🧱
MODULE 2 · STRUCTURE
สร้าง/แก้ไขโครงสร้างโมเดล
Table, Column, Relationship
ใช้เมื่อ
ต่อ Dimension ใหม่ / แก้ Cardinality
Operation หลัก
table_operations, column_operations, relationship_operations
จุดเด่น
Bulk operation หลายร้อย object ในคำสั่งเดียว
Prompt ตัวอย่าง
พิมพ์ในแชท Claude
สร้าง Date Table แบบ Calculated Table ตั้งแต่ปี 2020 ถึงปีปัจจุบัน ให้มีคอลัมน์ Year, Quarter (ไตรมาส), Month (ชื่อเดือนภาษาไทย), IsWeekend เพิ่มความสัมพันธ์ระหว่างตาราง Sales กับ Customer โดยใช้ CustomerKey แบบ Cross Filter ทิศทางเดียว (Single Direction)
🧮
MODULE 3 · MEASURES
สร้าง DAX Measure จำนวนมาก
Bulk creation ในคำสั่งเดียว
ใช้เมื่อ
ตั้งโมเดลใหม่ / เพิ่มชุดตัวชี้วัด KPI
Operation หลัก
measure_operations, calculation_group_operations
ความเร็ว
45 Measure ≈ 2 นาที (เทียบพิมพ์เอง 45 นาที)
Prompt ตัวอย่าง
พิมพ์ในแชท Claude
สร้าง Measure ต่อไปนี้ในตาราง Sales ให้ครบในคำสั่งเดียว: - ยอดขายรวม (SUM ของ Sales[Amount]) - ต้นทุนรวม - กำไรขั้นต้น และ % กำไรขั้นต้น - ยอดขายปีนี้เทียบปีก่อน (YoY Growth %) ใส่ Format เป็นสกุลเงินบาท (฿#,##0) ทุกตัวที่เป็นจำนวนเงิน และใส่ Description อธิบาย Business Logic เป็นภาษาไทยทุกตัว
🔍
MODULE 4 · DAX QUERY
รัน / ตรวจสอบ / Debug DAX
Execute, Validate, ClearCache
ใช้เมื่อ
Measure ขึ้น BLANK / ผลลัพธ์ผิด
Operation หลัก
dax_query_operations
ต้องอนุมัติ
Query ครั้งแรกของฐานข้อมูลนั้น
Prompt ตัวอย่าง
พิมพ์ในแชท Claude
รัน Measure "กำไรขั้นต้น" กรองเฉพาะสาขาเชียงใหม่ เดือนล่าสุด แล้วช่วยวิเคราะห์ว่าทำไมผลลัพธ์ถึงขึ้น BLANK ก่อน Deploy จริง ช่วย Validate DAX Syntax ของ Measure ทั้งหมดที่เพิ่งสร้าง ว่ามี Error หรือไม่ ก่อนที่จะบันทึกเข้าโมเดล
📚
MODULE 5 · DOCUMENTATION
สร้างเอกสาร Data Dictionary
อัตโนมัติจากโครงสร้างจริงของโมเดล
ใช้เมื่อ
ส่งมอบงานให้ทีมอื่น / Handover
Operation หลัก
database_operations (List, ExportTMDL) + table/measure List
Output
ไฟล์ Markdown พร้อม Mermaid Diagram
Prompt ตัวอย่าง
พิมพ์ในแชท Claude
สร้างเอกสาร Data Dictionary ของโมเดลนี้เป็นไฟล์ Markdown โดยให้มี: 1) แผนภาพความสัมพันธ์ระหว่างตารางแบบ Mermaid Diagram 2) รายการ Measure ทุกตัวพร้อมสูตร DAX และคำอธิบาย Business Logic เขียนเป็นภาษาไทยที่ทีมบัญชีอ่านเข้าใจ ไม่ใช้ศัพท์เทคนิค 3) รายการ Row-Level Filter ที่มีอยู่ในโมเดล
🔐
MODULE 6 · SECURITY
Security Roles (RLS/OLS)
จำกัดสิทธิ์การมองเห็นข้อมูล
ใช้เมื่อ
แจก Dashboard ให้หลายสาขา/แผนก
Operation หลัก
security_role_operations
ระวัง
ต้องทดสอบด้วย "View As Role" ก่อน Publish จริงเสมอ
Prompt ตัวอย่าง
พิมพ์ในแชท Claude
สร้าง Security Role ชื่อ "ผู้จัดการสาขา" ให้มองเห็นเฉพาะแถวที่ตาราง Branch[BranchManagerEmail] ตรงกับ USERPRINCIPALNAME() ของผู้ที่ Login เข้าดู Report
ทดสอบด้วยผู้ใช้จริงก่อน Publish เสมอ — RLS ที่ผิดอาจทำให้เห็นข้อมูลเกินสิทธิ์
⏱️
MODULE 7 · PERFORMANCE
Trace & Debug Query ช้า
จับ Event ของ Analysis Services
ใช้เมื่อ
Dashboard โหลดช้า / Timeout
Operation หลัก
trace_operations (Start, Fetch, ExportJSON)
วัดอะไร
Storage Engine vs Formula Engine time
Prompt ตัวอย่าง
พิมพ์ในแชท Claude
เปิด Trace แล้วรัน Query ของหน้า Dashboard ยอดขายรายสาขา 3 รอบ วิเคราะห์ว่าเวลาส่วนใหญ่หมดไปกับ Storage Engine หรือ Formula Engine และแนะนำว่าควรปรับ Measure หรือความสัมพันธ์ตัวไหนเพื่อให้เร็วขึ้น
🚀
MODULE 8 · DEPLOY
Export / Deploy ไป Fabric
TMDL, TMSL, Fabric Workspace
ใช้เมื่อ
ย้ายจาก Dev ไป Production
Operation หลัก
database_operations (ExportToTmdlFolder, DeployToFabric)
ประโยชน์
ไฟล์ TMDL ใช้กับ Git ได้ — Review ก่อน Merge
Prompt ตัวอย่าง
พิมพ์ในแชท Claude
Export โมเดลนี้เป็น TMDL Folder ไว้ที่ D:\PBI-Models\SalesModel แล้ว Deploy ไปยัง Workspace ชื่อ "Sales Analytics Production" บน Fabric ตั้งชื่อฐานข้อมูลใหม่ว่า "Sales_Prod"

ก่อนใช้งานจริงต้องรู้ไว้

ยังเป็น Public Preview — Tool, ชื่อ Operation และพฤติกรรมอาจเปลี่ยนก่อนออกเวอร์ชันจริง (GA) อย่าผูก Workflow สำคัญกับมัน 100% จนกว่าจะเสถียร
ต้องอนุมัติก่อนเสมอ (Elicitation) — Claude จะขอ Approve ก่อน Query ครั้งแรก และก่อนแก้ไขโมเดลครั้งแรกของแต่ละไฟล์เสมอ เพื่อกันการแก้ผิดโดยไม่ตั้งใจ — ไม่แนะนำให้ปิดด้วย --skipconfirmation เว้นแต่มั่นใจจริงๆ
แก้ได้แค่ "โมเดล" ไม่ใช่ "รายงาน" — สร้าง/แก้ Table, Column, Measure, Relationship ได้ทั้งหมด แต่แตะ Report Page, Visual, Diagram Layout ไม่ได้ — ส่วนนั้นยังต้องทำเองใน Power BI Desktop
สำรองไฟล์เสมอ — ก่อนให้ Claude แก้ไขโมเดลจริงจัง (โดยเฉพาะลบ Table/Column) ควร Save As สำรองไว้ก่อนทุกครั้ง
ระวังข้อมูลอ่อนไหวใน Log — ประวัติแชทอาจมีโครงสร้างโมเดลหรือตัวอย่างข้อมูลติดไปด้วย ควรระวังเวลาแชร์ Session ให้คนอื่นดู

ตารางสรุป Operation Group ทั้ง 21 กลุ่ม

Power BI Modeling MCP แบ่งความสามารถออกเป็น 21 กลุ่ม Operation — 8 กลุ่มหลักอธิบายไว้ใน Module ด้านบน ที่เหลือสรุปไว้ที่นี่

Operation Groupทำอะไร
connectionเชื่อม/ตัดการเชื่อมต่อกับ Desktop, Fabric, TMDL, .bim
databaseสร้าง/List/Import-Export โมเดลทั้งก้อน, Deploy ไป Fabric
tableสร้าง/แก้/ลบตาราง
columnสร้าง/แก้/ลบคอลัมน์ ตั้งชื่อ/ซ่อน/จัด Format
measureสร้าง/แก้/ลบ DAX Measure
relationshipสร้าง/แก้ความสัมพันธ์ระหว่างตาราง
calendarสร้าง Date Table / Time Intelligence Calendar
calculation_groupทำ Calculation Group เช่นสลับ Time Intelligence หลาย Measure พร้อมกัน
partitionจัดการ Partition ของตาราง (สำหรับโมเดลขนาดใหญ่)
perspectiveสร้างมุมมองย่อยของโมเดลสำหรับผู้ใช้เฉพาะกลุ่ม
security_roleตั้งค่า Row-Level / Object-Level Security
user_hierarchyสร้าง Hierarchy สำหรับ Drill-down (เช่น ปี→ไตรมาส→เดือน)
cultureตั้งค่าภาษา/Locale ของโมเดล
object_translationแปลชื่อ Table/Column/Measure หลายภาษา
function / named_expression / query_groupจัดการ Power Query Function, Parameter, กลุ่ม Query
modelตั้งค่าระดับโมเดลโดยรวม (Compatibility Level ฯลฯ)
dax_queryExecute / Validate / ClearCache DAX Query
traceจับ Event ของ Analysis Services เพื่อ Debug Performance
transactionBegin / Commit / Rollback การแก้ไขแบบปลอดภัย

ไอเดียต่อยอดเป็น Workshop

🎓
Workshop "AI + Power BI"
สอนลูกค้าที่ใช้ Power BI อยู่แล้วให้ตั้ง MCP นี้ แล้วสร้าง Measure/เอกสารด้วย Claude ในคลาสเดียว เห็นผลจับต้องได้ทันที
📦
Prompt Library เฉพาะแผนกบัญชี
รวม Prompt สร้าง Measure ทางบัญชี (งบกำไรขาดทุน, Aging AR) ให้พร้อมใช้ ต่อยอดจาก TFRS/DBD Skill ที่มีอยู่แล้ว
🔗
ต่อกับ Sheets Hub เดิม
ใช้ Power BI MCP คู่กับ Google Sheets MCP ที่มีอยู่ — Sheets เป็น Staging Data, Power BI MCP จัดการชั้น Modeling/DAX

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่จำเป็น
    เปิดใช้งานตลอด

    ประเภทของคุกกี้มีความจำเป็นสำหรับการทำงานของเว็บไซต์ เพื่อให้คุณสามารถใช้ได้อย่างเป็นปกติ และเข้าชมเว็บไซต์ คุณไม่สามารถปิดการทำงานของคุกกี้นี้ในระบบเว็บไซต์ของเราได้

  • คุกกี้เพื่อการวิเคราะห์

    คุกกี้ประเภทนี้จะทำการเก็บข้อมูลการใช้งานเว็บไซต์ของคุณ เพื่อเป็นประโยชน์ในการวัดผล ปรับปรุง และพัฒนาประสบการณ์ที่ดีในการใช้งานเว็บไซต์ ถ้าหากท่านไม่ยินยอมให้เราใช้คุกกี้นี้ เราจะไม่สามารถวัดผล ปรับปรุงและพัฒนาเว็บไซต์ได้
    รายละเอียดคุกกี้

  • คุกกี้เพื่อปรับเนื้อหาให้เข้ากับกลุ่มเป้าหมาย

    คุกกี้ประเภทนี้จะเก็บข้อมูลต่าง ๆ รวมทั้งข้อมูลส่วนบุคคลเกี่ยวกับตัวคุณเพื่อเราสามารถนำมาวิเคราะห์ และนำเสนอเนื้อหา ให้ตรงกับความเหมาะสมกับความสนใจของคุณ ถ้าหากคุณไม่ยินยอมเราจะไม่สามารถนำเสนอเนื้อหาและโฆษณาได้ไม่ตรงกับความสนใจของคุณ
    รายละเอียดคุกกี้

บันทึกการตั้งค่า