هوش مصنوعی در Power BI؛ آموزش ساخت داشبورد، فرمول DAX و گزارش مدیریتی
در این راهنمای عملی یاد میگیرید چگونه با هوش مصنوعی دادهها را برای Power BI آماده کنید، فرمول DAX بسازید، داشبورد طراحی کنید، خطاها را تحلیل کنید و گزارش مدیریتی خودکار تولید کنید.
Power BI یکی از شناختهشدهترین ابزارهای هوش تجاری، تحلیل داده و ساخت داشبوردهای مدیریتی است. این ابزار به سازمانها کمک میکند دادههای پراکنده را از Excel، پایگاه داده، نرمافزارهای حسابداری، CRM، فایل CSV و سرویسهای آنلاین دریافت و به گزارشهای قابل فهم تبدیل کنند.
بااینحال، ساخت یک گزارش Power BI فقط به انتخاب چند نمودار محدود نمیشود. تحلیلگر باید دادهها را پاکسازی کند، روابط جدولها را بسازد، Measureهای مناسب بنویسد، شاخصهای کلیدی را تعریف کند و در نهایت گزارشی ارائه دهد که به تصمیمگیری کمک کند.
هوش مصنوعی میتواند بسیاری از این مراحل را سریعتر کند:
- تحلیل ساختار داده
- پیشنهاد روش پاکسازی
- تولید کد Power Query
- نوشتن فرمول DAX
- توضیح فرمولهای پیچیده
- تشخیص ایراد احتمالی Measureها
- پیشنهاد نمودار مناسب
- ساخت صفحه گزارش
- خلاصهسازی داشبورد
- تولید گزارش مدیریتی
- پاسخگویی به سؤالهای کاربران
- مستندسازی Semantic Model
- ساخت دستیار تحلیل داده اختصاصی
در این مقاله، استفاده از هوش مصنوعی در Power BI را از مرحله آمادهسازی داده تا ساخت گزارش و اتصال به API درواره بهصورت عملی بررسی میکنیم.
Power BI چیست؟
Power BI مجموعهای از ابزارهای تحلیل داده و Business Intelligence شرکت مایکروسافت است. با استفاده از آن میتوان دادهها را از منابع مختلف دریافت، پردازش، مدلسازی و مصورسازی کرد.
اجزای اصلی اکوسیستم Power BI عبارتاند از:
Power BI Desktop
نرمافزار دسکتاپ برای دریافت داده، ساخت مدل، نوشتن فرمولهای DAX و طراحی گزارش است.
Power BI Service
سرویس آنلاین Power BI برای انتشار، اشتراکگذاری، زمانبندی بهروزرسانی و مدیریت گزارشها و داشبوردها استفاده میشود.
Power Query
Power Query مسئول دریافت، تبدیل و پاکسازی داده است. زبان مورداستفاده در آن با عنوان M شناخته میشود.
DAX
DAX مخفف Data Analysis Expressions است و برای ساخت Measure، Calculated Column و Calculated Table در مدلهای Power BI استفاده میشود.
Semantic Model
Semantic Model ساختار تحلیلی داده را شامل جدولها، رابطهها، Measureها، Hierarchyها، فرمتها و توضیحات تجاری مشخص میکند.
اگر Semantic Model بهدرستی طراحی نشده باشد، حتی بهترین نمودارها یا مدلهای هوش مصنوعی نیز ممکن است نتایج گمراهکننده تولید کنند.
هوش مصنوعی در Power BI چه کاربردی دارد؟
هوش مصنوعی میتواند در سه سطح وارد فرایند Power BI شود.
دستیار تحلیلگر
در این سطح، تحلیلگر از ChatGPT، Gemini، Claude یا مدلهای دیگر برای نوشتن DAX، اصلاح Power Query، انتخاب نمودار و تحلیل خطا استفاده میکند.
قابلیت داخلی Power BI
Copilot در Power BI میتواند براساس زبان طبیعی به ایجاد یا ویرایش بعضی گزارشها، ساخت خلاصه روایی و نوشتن DAX کمک کند.
سامانه اختصاصی
در این سطح، یک برنامه خارجی دادههای تجمیعشده Power BI را دریافت میکند و از طریق API هوش مصنوعی، خلاصه مدیریتی، تحلیل روند یا پاسخ به سؤالهای کاربران را تولید میکند.
هوش مصنوعی جای کدام بخش Power BI را نمیگیرد؟
هوش مصنوعی نمیتواند مسئولیت این تصمیمها را بهطور کامل بر عهده بگیرد:
- تعریف درست شاخصهای کلیدی
- تعیین منبع معتبر داده
- تشخیص مفهوم تجاری هر ستون
- انتخاب Grain جدولها
- تأیید صحت رابطهها
- تشخیص علت واقعی تغییرات کسبوکار
- اعتبارسنجی Measureها
- تعیین اینکه همبستگی به معنی رابطه علت و معلولی است یا نه
- تأیید گزارش نهایی
- تصمیمگیری مدیریتی
برای مثال، اگر ستون Revenue در یک فایل شامل مالیات و در فایل دیگر بدون مالیات باشد، مدل هوش مصنوعی بدون دریافت تعریف دقیق نمیتواند این تفاوت را تشخیص دهد.
تفاوت تحلیل داده، پیشبینی و تفسیر مدیریتی
در استفاده از هوش مصنوعی باید میان سه نوع خروجی تفاوت قائل شوید.
| نوع خروجی | سؤال اصلی | نمونه |
|---|---|---|
| تحلیل توصیفی | چه اتفاقی افتاده است؟ | فروش این ماه ۱۲ درصد کاهش یافته است. |
| تحلیل تشخیصی | چه عواملی همراه این تغییر دیده میشوند؟ | بیشترین کاهش مربوط به منطقه جنوب است. |
| تحلیل پیشبینی | احتمالاً چه اتفاقی میافتد؟ | در صورت ادامه روند، فروش ماه بعد کمتر خواهد شد. |
| تحلیل تجویزی | چه اقدامی پیشنهاد میشود؟ | بررسی موجودی و کانال فروش منطقه جنوب |
مدل نباید بدون داده کافی یک عامل را «علت قطعی» معرفی کند. بهتر است در گزارشهای هوش مصنوعی میان مشاهده، فرضیه و پیشنهاد تفاوت مشخصی وجود داشته باشد.
گردش کار استاندارد Power BI با هوش مصنوعی
یک فرایند حرفهای میتواند شامل این مراحل باشد:
- تعریف تصمیم یا سؤال کسبوکار
- شناسایی منابع داده
- بررسی کیفیت داده
- پاکسازی در Power Query
- طراحی مدل ستارهای
- تعریف Measureهای اصلی
- اعتبارسنجی اعداد
- انتخاب نمودار
- طراحی صفحات گزارش
- افزودن خلاصه مدیریتی
- دریافت بازخورد
- پایش و بهروزرسانی
هوش مصنوعی باید در هر مرحله یک وظیفه مشخص داشته باشد. درخواست مبهم «این داده را تحلیل کن» معمولاً خروجی عمومی تولید میکند.
مرحله اول: سؤال کسبوکار را تعریف کنید
ساخت داشبورد را از داده شروع نکنید؛ از تصمیمی شروع کنید که مدیر یا کاربر باید بگیرد.
بهجای سؤال کلی:
وضعیت فروش چگونه است؟
سؤالهای دقیقتری مطرح کنید:
- آیا فروش خالص این ماه نسبت به ماه قبل کاهش یافته است؟
- کدام محصول بیشترین سهم را در کاهش فروش داشته است؟
- کدام کانال فروش از هدف عقب مانده است؟
- آیا تعداد مشتریان جدید کاهش یافته یا میانگین مبلغ سفارش؟
- نرخ بازگشت مشتریان در سه ماه اخیر چه تغییری کرده است؟
- کدام منطقه بیشترین فاصله را با هدف فروش دارد؟
پرامپت تبدیل نیاز مدیریتی به سؤال تحلیلی
نقش تو:
یک Business Intelligence Analyst باتجربه هستی.
نیاز مدیریتی:
[نیاز یا مسئله را بنویسید]
حوزه کسبوکار:
[فروش، بازاریابی، عملیات، پشتیبانی یا منابع انسانی]
دادههای موجود:
[فهرست جدولها و ستونها]
خروجی را در قالب زیر ارائه کن:
1. تصمیمی که گزارش باید پشتیبانی کند
2. سؤالهای تحلیلی اصلی
3. KPIهای موردنیاز
4. تعریف دقیق هر KPI
5. Dimensionهای مناسب برای تحلیل
6. فیلترهای ضروری
7. دادههای مفقود
8. فرضیات نیازمند تأیید
9. نمودارهای احتمالی
10. معیار پذیرش گزارش
هیچ KPI یا دادهای را که در توضیحات وجود ندارد قطعی فرض نکن.
مرحله دوم: ساختار داده را به هوش مصنوعی توضیح دهید
برای دریافت پاسخ دقیق درباره DAX یا Power Query باید Schema داده را مشخص کنید.
نمونه Schema:
Table: Sales
- SaleID: شناسه فروش
- DateKey: تاریخ ثبت فروش
- ProductID: شناسه محصول
- CustomerID: شناسه مشتری
- Quantity: تعداد
- UnitPrice: قیمت واحد
- DiscountAmount: مبلغ تخفیف
- NetAmount: مبلغ خالص
Table: Products
- ProductID: شناسه محصول
- ProductName: نام محصول
- Category: دستهبندی
- Brand: برند
Table: Calendar
- Date: تاریخ
- Year: سال
- MonthNumber: شماره ماه
- MonthName: نام ماه
- YearMonth: سال و ماه
همچنین رابطهها را مشخص کنید:
Calendar[Date] 1 → * Sales[DateKey]
Products[ProductID] 1 → * Sales[ProductID]
هرچه توضیح مدل داده دقیقتر باشد، احتمال تولید فرمول نامعتبر کمتر میشود.
مرحله سوم: پاکسازی داده با Power Query و هوش مصنوعی
Power Query میتواند برای این عملیات استفاده شود:
- حذف ردیفهای خالی
- تغییر نوع داده
- یکسانسازی نام ستونها
- حذف فاصلههای اضافی
- جایگزینی مقدارهای نامعتبر
- ترکیب چند فایل
- Split و Merge ستونها
- حذف رکوردهای تکراری
- تبدیل تاریخ
- Pivot و Unpivot
- ساخت ستون شرطی
هوش مصنوعی میتواند کد M پیشنهاد دهد، اما باید نام جدولها، نوع ستونها و نمونه خطا را دریافت کند.
پرامپت تولید کد Power Query
برای Power Query کد M بنویس.
منبع:
فایل Excel با جدول Sales
ستونها:
- OrderID: Text
- OrderDate: Text
- Product: Text
- Quantity: Any
- UnitPrice: Any
نیاز:
1. فاصله ابتدا و انتهای Product حذف شود.
2. OrderDate به Date تبدیل شود.
3. Quantity به Int64 تبدیل شود.
4. UnitPrice به Decimal Number تبدیل شود.
5. ردیفهای بدون OrderID حذف شوند.
6. ردیفهای تکراری براساس OrderID حذف شوند.
7. خطاهای تبدیل نوع با null جایگزین شوند.
خروجی:
- کد کامل M
- توضیح هر مرحله
- پیشنیازها
- مواردی که ممکن است باعث خطا شوند
نام ستونها را تغییر نده.
نمونه کد M
let
Source = Excel.CurrentWorkbook(){[Name="Sales"]}[Content],
TrimmedProduct = Table.TransformColumns(
Source,
{
{
"Product",
each if _ is text then Text.Trim(_) else _,
type text
}
}
),
TypedColumns = Table.TransformColumns(
TrimmedProduct,
{
{
"OrderDate",
each try Date.From(_) otherwise null,
type date
},
{
"Quantity",
each try Int64.From(_) otherwise null,
Int64.Type
},
{
"UnitPrice",
each try Number.From(_) otherwise null,
type number
}
}
),
RemovedBlankOrders = Table.SelectRows(
TypedColumns,
each [OrderID] <> null and Text.Trim([OrderID]) <> ""
),
RemovedDuplicates = Table.Distinct(
RemovedBlankOrders,
{"OrderID"}
)
in
RemovedDuplicates
کد تولیدشده را روی یک نسخه آزمایشی اجرا کنید. حذف ردیف تکراری فقط زمانی صحیح است که OrderID واقعاً شناسه یکتا باشد.
مرحله چهارم: مدل داده مناسب بسازید
هوش مصنوعی میتواند مدل اولیه پیشنهاد دهد، اما طراحی نهایی باید براساس Grain و منطق تجاری انجام شود.
برای بیشتر گزارشهای تحلیلی، Star Schema نقطه شروع مناسبی است:
Calendar
↓
Sales ← Products
↑
Customers
↑
Channels
جدول Sales معمولاً Fact Table است و جدولهای Calendar، Products، Customers و Channels نقش Dimension را دارند.
پرسشهای مهم طراحی مدل
- هر ردیف Fact Table نماینده چیست؟
- کلید یکتای هر Dimension چیست؟
- رابطهها یکبهچند هستند یا چندبهچند؟
- جهت Cross-filter چگونه تنظیم شده است؟
- آیا جدول Calendar کامل وجود دارد؟
- Measureها در کدام جدول نگهداری میشوند؟
- آیا ستونهای محاسباتی غیرضروری وجود دارند؟
- آیا داده در سطح مناسب تجمیع شده است؟
پرامپت بررسی مدل داده
مدل Power BI زیر را بررسی کن.
جدولها:
[تعریف جدولها]
روابط:
[فهرست روابط]
Grain هر جدول:
[سطح هر ردیف]
KPIهای موردنیاز:
[فهرست KPIها]
این موارد را تحلیل کن:
1. Fact Table و Dimensionها
2. رابطههای احتمالی اشتباه
3. رابطههای چندبهچند
4. مسیرهای فیلتر مبهم
5. نیاز به Calendar Table
6. ستونهای مناسب Measure
7. ستونهای قابل حذف
8. خطر Double Counting
9. پیشنهاد مدل ستارهای
10. مواردی که بدون مشاهده داده قابل تشخیص نیستند
فرضیات را از یافتههای قطعی جدا کن.
مرحله پنجم: تولید Measureهای DAX
یکی از مهمترین کاربردهای هوش مصنوعی در Power BI، کمک به نوشتن DAX است.
برای دریافت فرمول صحیح باید این اطلاعات را مشخص کنید:
- نام دقیق جدولها
- نام دقیق ستونها
- رابطهها
- نوع داده
- تعریف تجاری شاخص
- انتظار شما از فیلترها
- نمونه خروجی مورد انتظار
Measure مجموع فروش
Total Sales =
SUM ( Sales[NetAmount] )
فروش ماه قبل
Previous Month Sales =
CALCULATE (
[Total Sales],
DATEADD ( 'Calendar'[Date], -1, MONTH )
)
درصد رشد ماهانه
Monthly Growth % =
VAR CurrentSales = [Total Sales]
VAR PreviousSales = [Previous Month Sales]
RETURN
DIVIDE (
CurrentSales - PreviousSales,
PreviousSales
)
فروش از ابتدای سال
Sales YTD =
TOTALYTD (
[Total Sales],
'Calendar'[Date]
)
این فرمولها به وجود یک جدول تاریخ صحیح و رابطه فعال میان Calendar و Sales وابستهاند.
قالب مناسب پرامپت DAX
برای Power BI یک Measure با DAX بنویس.
هدف:
محاسبه درصد رشد فروش خالص این ماه نسبت به ماه قبل
مدل داده:
Table: Sales
- DateKey
- NetAmount
Table: Calendar
- Date
- Year
- MonthNumber
رابطه:
Calendar[Date] یکبهچند با Sales[DateKey]
Measure موجود:
Total Sales = SUM(Sales[NetAmount])
قواعد:
- فیلترهای محصول، منطقه و کانال حفظ شوند.
- در صورت صفر یا خالیبودن فروش ماه قبل، خطای تقسیم رخ ندهد.
- خروجی بهصورت Percentage باشد.
خروجی:
1. فرمول DAX
2. توضیح Filter Context
3. پیشنیازها
4. روش آزمایش با چند سناریو
5. خطاهای احتمالی
چگونه DAX تولیدشده را بررسی کنیم؟
فرمولی که بدون خطا اجرا میشود الزاماً از نظر تجاری صحیح نیست.
این موارد را بررسی کنید:
- آیا Measure در Total درست محاسبه میشود؟
- آیا با فیلتر محصول درست کار میکند؟
- آیا با انتخاب چند ماه نتیجه منطقی است؟
- در صورت داده خالی چه اتفاقی میافتد؟
- آیا سال مالی با سال تقویمی تفاوت دارد؟
- آیا تاریخها پیوسته هستند؟
- آیا رابطه غیرفعال لازم است؟
- آیا مقدارها دوبار شمارش میشوند؟
- آیا فرمول در حجم داده بالا عملکرد مناسبی دارد؟
پرامپت بازبینی DAX
فرمول DAX زیر را بررسی کن:
[فرمول]
تعریف تجاری شاخص:
[تعریف]
مدل داده:
[جدولها و روابط]
رفتار مورد انتظار:
[انتظار]
این موارد را بررسی کن:
1. صحت منطقی
2. رفتار Filter Context
3. رفتار Row Context
4. Total و Subtotal
5. مقدارهای Blank و Zero
6. خطر Double Counting
7. عملکرد
8. نسخه سادهتر در صورت امکان
9. سناریوهای آزمایش
10. مواردی که بدون داده واقعی قابل تأیید نیستند
استفاده از Copilot در Power BI
مایکروسافت قابلیت Copilot را برای بخشهایی از Power BI ارائه کرده است. Copilot میتواند با پرامپت زبان طبیعی به ساخت یا ویرایش صفحههای گزارش، پیشنهاد Visual و تولید خلاصه روایی کمک کند.
براساس راهنمای رسمی مایکروسافت، Copilot میتواند برای ایجاد صفحه گزارش و اضافهکردن، تغییر یا حذف بعضی Visualها استفاده شود. این قابلیت محدودیتهایی دارد و همه Visualها یا تغییرهای قالببندی را پوشش نمیدهد.
پیشنیازهای Copilot در Power BI
دسترسی به Copilot صرفاً با نصب Power BI Desktop یا داشتن حساب رایگان ایجاد نمیشود.
در زمان نگارش این مقاله، مایکروسافت برای استفاده از Copilot در Power BI Desktop به مواردی مانند دسترسی مناسب به Workspace، فعالبودن قابلیت توسط مدیر و ظرفیت واجد شرایط Fabric یا Power BI Premium اشاره میکند. جزئیات و شرایط ممکن است تغییر کنند؛ بنابراین صفحه رسمی پیشنیازهای Copilot در Power BI Desktop را بررسی کنید.
اگر دکمه Copilot نمایش داده میشود اما غیرفعال است، ممکن است یکی از این علتها وجود داشته باشد:
- تنظیم Tenant غیرفعال است.
- Workspace مناسب انتخاب نشده است.
- ظرفیت موردنیاز وجود ندارد.
- کاربر مجوز لازم را ندارد.
- نسخه Power BI Desktop قدیمی است.
- منطقه یا محیط سازمانی قابلیت را پشتیبانی نمیکند.
ساخت گزارش با Copilot
گردش کار عمومی:
- گزارش یا Semantic Model را انتخاب کنید.
- پنل Copilot را باز کنید.
- هدف صفحه را با زبان طبیعی توضیح دهید.
- Visualهای تولیدشده را بررسی کنید.
- فیلدها، نوع نمودار و فیلترها را کنترل کنید.
- Measureها را با اعداد مرجع مقایسه کنید.
- قالببندی و چیدمان را اصلاح کنید.
- گزارش را ذخیره کنید.
نمونه پرامپت ساخت صفحه گزارش
یک صفحه گزارش فروش مدیریتی بساز.
هدف:
مقایسه عملکرد ماه جاری با ماه قبل و هدف ماهانه
Visualهای موردنیاز:
- فروش خالص
- درصد رشد ماهانه
- فاصله تا هدف
- فروش به تفکیک منطقه
- پنج محصول برتر
- روند فروش روزانه
- فیلتر تاریخ، منطقه و کانال
قواعد:
- از Pie Chart برای دستههای زیاد استفاده نکن.
- شاخصهای اصلی در بالای صفحه باشند.
- موارد زیر هدف مشخص باشند.
- عنوان هر Visual روشن و تجاری باشد.
- صفحه برای مرور مدیریتی سریع طراحی شود.
Copilot ممکن است نوع Visual یا فیلدهای متفاوتی انتخاب کند. خروجی را پیشنهاد اولیه در نظر بگیرید، نه نسخه نهایی.
نوشتن DAX با Copilot
طبق مرور رسمی Copilot در Power BI، Copilot میتواند در نوشتن DAX Query و ایجاد توضیحات برای Measureهای Semantic Model کمک کند.
برای نتیجه بهتر، بهجای عبارت «فرمول فروش را بنویس»، تعریف شاخص، جدولها، رابطهها و رفتار مورد انتظار را توضیح دهید.
ساخت خلاصه روایی
Narrative Summary میتواند محتوای یک گزارش، صفحه یا Visual را به متن تبدیل کند. چنین خلاصهای برای مدیرانی مفید است که میخواهند مهمترین تغییرها را بدون بررسی تکتک نمودارها مشاهده کنند.
بااینحال، خلاصه باید از این نظر کنترل شود:
- آیا بازه زمانی درست است؟
- آیا مقایسه با دوره مناسب انجام شده است؟
- آیا درصد تغییر درست محاسبه شده است؟
- آیا مشاهده با علت اشتباه گرفته نشده است؟
- آیا نکته مهمی حذف شده است؟
- آیا فیلترهای صفحه در خلاصه اعمال شدهاند؟
انتخاب نمودار با کمک هوش مصنوعی
هوش مصنوعی میتواند براساس نوع سؤال، نمودار پیشنهاد دهد.
| هدف تحلیل | نمودار مناسب |
|---|---|
| نمایش روند زمانی | Line Chart |
| مقایسه دستهها | Bar یا Column Chart |
| مقایسه مقدار واقعی و هدف | KPI، Bullet Chart یا Variance |
| نمایش سهم از کل | Stacked Bar یا Donut برای دستههای محدود |
| نمایش توزیع | Histogram یا Box Plot |
| ارتباط دو متغیر | Scatter Plot |
| جزئیات رکوردها | Table |
| نمایش موقعیت جغرافیایی | Map در صورت وجود داده معتبر |
| بررسی مراحل فرایند | Funnel Chart |
| نمایش تغییر مثبت و منفی | Waterfall Chart |
پرامپت انتخاب Visual
برای سؤال تحلیلی زیر بهترین Visual در Power BI را پیشنهاد بده:
سؤال:
[سؤال تحلیلی]
دادهها:
[فیلدها و نوع آنها]
تعداد دستهها:
[تعداد تقریبی]
مخاطب:
[مدیر، تحلیلگر یا کارشناس]
خروجی:
1. Visual اصلی
2. دلیل انتخاب
3. محور و Legend
4. Measureهای لازم
5. فیلترهای مناسب
6. گزینه جایگزین
7. Visualهای نامناسب و دلیل آنها
8. نکات طراحی برای موبایل
ساخت گزارش مدیریتی از داشبورد
داشبورد زمانی ارزشمند است که به یک تصمیم یا اقدام منجر شود.
یک گزارش مدیریتی مناسب میتواند این ساختار را داشته باشد:
عنوان گزارش:
بازه زمانی:
فیلترهای اعمالشده:
خلاصه اجرایی:
شاخصهای اصلی:
تغییرهای مهم:
موارد خارج از انتظار:
تفکیک تغییرها:
فرضیههای قابل بررسی:
اقدامهای پیشنهادی:
پرسشهای بدون پاسخ:
پرامپت خلاصه مدیریتی
براساس KPIهای زیر یک خلاصه مدیریتی فارسی تولید کن.
بازه گزارش:
[بازه زمانی]
KPIها:
[نام و مقدار شاخصها]
مقایسه با دوره قبل:
[مقادیر]
هدف:
[هدفها]
تفکیکها:
[محصول، منطقه، کانال یا مشتری]
خروجی شامل این بخشها باشد:
1. خلاصه اجرایی در حداکثر 120 کلمه
2. سه تغییر مهم
3. شاخصهای خارج از هدف
4. بخشهایی که بیشترین سهم را در تغییر دارند
5. فرضیههای قابل بررسی
6. پرسشهای نیازمند داده بیشتر
7. اقدامهای پیشنهادی
قواعد:
- مشاهده را با علت قطعی اشتباه نگیر.
- عدد جدید تولید نکن.
- درصدها را دوباره محاسبه نکن مگر داده لازم وجود داشته باشد.
- فرضیهها را صریحاً با برچسب «فرضیه» مشخص کن.
- اگر اطلاعات کافی نیست، آن را اعلام کن.
ساخت خلاصه Power BI با API درواره
اگر Copilot داخلی در دسترس شما نیست یا میخواهید سامانهای مستقل و قابل کنترل بسازید، میتوانید KPIهای تجمیعشده را از طریق Backend به API درواره ارسال کنید.
درواره زیرساخت دسترسی API به مدلهای هوش مصنوعی است. این سرویس خودِ Power BI یا ابزار ساخت داشبورد نیست؛ بلکه میتوانید از API آن برای تولید تحلیل متنی، خلاصه مدیریتی یا دستیار داده در کنار Power BI استفاده کنید.
معماری پیشنهادی:
منبع داده
↓
محاسبات قطعی در Power BI یا پایگاه داده
↓
KPIهای تجمیعشده
↓
Backend سازمان
↓
API درواره
↓
خلاصه مدیریتی
↓
ذخیره در فایل، دیتابیس یا Power BI
محاسبات مالی و درصدها بهتر است در Power BI، SQL یا کد قطعی انجام شوند. مدل زبانی باید نتیجههای محاسبهشده را تفسیر و به زبان قابل فهم تبدیل کند.
نمونه ساخت گزارش مدیریتی با Python
ابتدا کتابخانه را نصب کنید:
pip install openai
فایل metrics.json را با KPIهای تجمیعشده بسازید:
{
"period": "تیر ۱۴۰۵",
"revenue": 845000000,
"previous_revenue": 790000000,
"target_revenue": 900000000,
"orders": 1284,
"previous_orders": 1310,
"new_customers": 214,
"previous_new_customers": 176,
"top_category": "نرمافزار",
"weakest_region": "جنوب"
}
سپس کد زیر را در فایل generate_report.py قرار دهید:
import json
import os
from pathlib import Path
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DARVAREH_API_KEY"],
base_url="https://api.darvareh.ir/v1",
)
metrics = json.loads(
Path("metrics.json").read_text(encoding="utf-8")
)
revenue = metrics["revenue"]
previous_revenue = metrics["previous_revenue"]
target_revenue = metrics["target_revenue"]
revenue_growth = (
((revenue - previous_revenue) / previous_revenue) * 100
if previous_revenue
else None
)
target_gap = (
((revenue - target_revenue) / target_revenue) * 100
if target_revenue
else None
)
analysis_input = {
**metrics,
"revenue_growth_percent": round(revenue_growth, 2)
if revenue_growth is not None
else None,
"target_gap_percent": round(target_gap, 2)
if target_gap is not None
else None,
}
prompt = f"""
براساس دادههای قطعی زیر یک گزارش مدیریتی فارسی تولید کن.
دادهها:
{json.dumps(analysis_input, ensure_ascii=False, indent=2)}
ساختار خروجی:
# گزارش مدیریتی {metrics["period"]}
## خلاصه اجرایی
حداکثر 120 کلمه
## تغییرهای مهم
حداکثر 5 مورد
## فاصله از هدف
## نکات نیازمند بررسی
## فرضیهها
هر مورد باید با کلمه «فرضیه» شروع شود.
## اقدامهای پیشنهادی
حداکثر 4 اقدام
قواعد:
- هیچ عدد جدیدی محاسبه یا اختراع نکن.
- عددها را دقیقاً از داده ورودی بگیر.
- همبستگی را علت قطعی معرفی نکن.
- اگر داده کافی نیست، صریحاً اعلام کن.
- پیشنهادها کوتاه و عملی باشند.
"""
response = client.chat.completions.create(
model="YOUR_MODEL_ID",
messages=[
{
"role": "system",
"content": (
"تو یک دستیار گزارشدهی مدیریتی هستی. "
"بین مشاهده، فرضیه و پیشنهاد تفاوت قائل شو."
),
},
{
"role": "user",
"content": prompt,
},
],
temperature=0.2,
)
report = response.choices[0].message.content or ""
Path("management-report.md").write_text(
report,
encoding="utf-8",
)
print("گزارش در management-report.md ذخیره شد.")
مقدار YOUR_MODEL_ID را با Model ID درواره جایگزین کنید. برای مشاهده مدلهای موجود و اطلاعات بهروز، صفحه مدلهای درواره را بررسی کنید.
کلید API را بهصورت متغیر محیطی تعریف کنید:
export DARVAREH_API_KEY="YOUR_API_KEY"
python generate_report.py
در این مثال، درصد رشد و فاصله از هدف با Python محاسبه میشوند و مدل فقط وظیفه تفسیر و نگارش را بر عهده دارد.
واردکردن خلاصه در Power BI
برای نمایش گزارش متنی در Power BI میتوانید یکی از این روشها را انتخاب کنید:
- ذخیره خلاصه در یک جدول پایگاه داده
- ذخیره خروجی در فایل CSV یا JSON
- ساخت Endpoint داخلی برای دریافت آخرین گزارش
- ثبت خلاصه همراه با تاریخ و فیلترها
- استفاده از Power Automate برای اجرای فرایند
- نمایش متن در یک Table، Card یا Text Visual مناسب
ساختار پیشنهادی جدول:
| ReportID | Period | GeneratedAt | Filters | Summary | ModelID |
|---|---|---|---|---|---|
| 101 | ۱۴۰۵/۰۴ | ۱۴۰۵/۰۵/۰۱ | کل سازمان | متن گزارش | شناسه مدل |
بهتر است خلاصه هر دوره نگهداری شود تا تغییرهای متن و مدل قابل پیگیری باشند.
ساخت دستیار سؤالوپاسخ برای گزارش
یک قابلیت پیشرفتهتر میتواند سؤال طبیعی مدیر را دریافت کند:
- چرا فروش این ماه کمتر شده است؟
- کدام منطقه بیشترین فاصله را با هدف دارد؟
- آیا رشد درآمد از رشد تعداد سفارش بیشتر بوده است؟
- سه تغییر مهم این هفته چه بودهاند؟
گردش کار درست:
- دریافت سؤال
- تشخیص KPIهای موردنیاز
- اجرای Query روی Semantic Model یا پایگاه داده
- دریافت نتیجه ساختاریافته
- محاسبه قطعی
- ارسال نتیجه به مدل
- تولید پاسخ همراه با بازه زمانی و فیلترها
- نمایش منبع عددها
مدل زبانی نباید مستقیماً بدون کنترل به همه دادهها دسترسی داشته باشد یا Query تولیدشده را بدون اعتبارسنجی اجرا کند.
پرامپت مستندسازی Semantic Model
براساس اطلاعات زیر برای Semantic Model در Power BI مستندات بنویس.
جدولها:
[فهرست]
روابط:
[روابط]
Measureها:
[نام، فرمول و فرمت]
برای هر Measure مشخص کن:
1. نام تجاری
2. تعریف
3. فرمول DAX
4. واحد
5. سطح تجمیع
6. فیلترهای مؤثر
7. محدودیتها
8. مثال استفاده
9. تفاوت با Measureهای مشابه
هیچ تعریف تجاری را حدس نزن. موارد نامشخص را علامتگذاری کن.
مستندسازی Measureها هم برای تیم گزارشسازی و هم برای قابلیتهای Copilot مفید است. نامهای روشن و توضیحات دقیق، احتمال تفسیر اشتباه مدل را کاهش میدهند.
نکات پرامپتنویسی برای Power BI
نام دقیق جدول و ستون را بنویسید
نامهای حدسی باعث تولید فرمول غیرقابل اجرا میشوند.
تعریف تجاری شاخص را مشخص کنید
عبارت «مشتری فعال» ممکن است در هر شرکت تعریف متفاوتی داشته باشد.
رابطهها را توضیح دهید
بدون دانستن Relationshipها، مدل نمیتواند رفتار Filter Context را دقیق تحلیل کند.
نمونه خروجی بدهید
دو یا سه سناریوی نمونه میتوانند ابهام فرمول را کاهش دهند.
محدودیت را مشخص کنید
برای مثال:
- فیلتر منطقه حفظ شود.
- مقدار Blank به صفر تبدیل نشود.
- محاسبه براساس سال مالی باشد.
- مشتری تکراری فقط یکبار شمارش شود.
- سفارش لغوشده محاسبه نشود.
از مدل توضیح بخواهید
فقط فرمول نخواهید. از مدل بخواهید پیشنیازها، منطق و روش آزمایش را نیز توضیح دهد.
اشتباهات رایج
ارسال تصویر داشبورد بدون داده
مدل میتواند از روی تصویر الگوهایی ببیند، اما برای تحلیل دقیق به اعداد، فیلترها و تعریف KPIها نیاز دارد.
استفاده از DAX بدون تست
فرمول ممکن است از نظر Syntax صحیح اما از نظر منطق کسبوکار اشتباه باشد.
تعریف نامناسب KPI
اگر تعریف «فروش»، «مشتری فعال» یا «نرخ تبدیل» مبهم باشد، خروجی نیز قابل اعتماد نخواهد بود.
نسبتدادن علت به یک تغییر
کاهش فروش یک منطقه ممکن است همزمان با کاهش موجودی دیده شود، اما این بهتنهایی علت قطعی را ثابت نمیکند.
استفاده از Visual نامناسب
نمودار پیچیده یا تزئینی میتواند تحلیل را دشوارتر کند. انتخاب Visual باید براساس سؤال انجام شود.
نمایش تعداد زیاد KPI
قرارگرفتن دهها Card در یک صفحه، اولویتها را پنهان میکند. فقط شاخصهای مرتبط با تصمیم اصلی را نمایش دهید.
ارسال داده خام غیرضروری
برای ساخت خلاصه مدیریتی، معمولاً KPIهای تجمیعشده و تفکیکهای اصلی کافی هستند.
واگذاری محاسبات به مدل زبانی
درصد، جمع، میانگین و شاخصهای مالی باید با DAX، SQL یا Python محاسبه شوند.
نادیدهگرفتن فیلترها
هر خلاصه باید بازه زمانی، فیلترهای صفحه و سطح داده را مشخص کند.
نداشتن معیار مرجع
عدد فروش بدون مقایسه با هدف، دوره قبل یا بودجه، اطلاعات محدودی ارائه میدهد.
چکلیست Power BI و هوش مصنوعی
تعریف مسئله
- تصمیم موردنظر مشخص است.
- مخاطب گزارش تعریف شده است.
- سؤالهای تحلیلی روشن هستند.
- KPIها تعریف تجاری دارند.
- معیار موفقیت گزارش مشخص است.
داده
- منبع معتبر مشخص است.
- Grain جدولها تعریف شده است.
- نوع ستونها صحیح است.
- رکوردهای تکراری بررسی شدهاند.
- دادههای خالی تحلیل شدهاند.
- تاریخها یکپارچه هستند.
- مقدارهای مرجع کنترل شدهاند.
مدل
- Fact و Dimensionها مشخص هستند.
- رابطهها بررسی شدهاند.
- Calendar Table وجود دارد.
- مسیر فیلتر مبهم نیست.
- Measureها مستند شدهاند.
- خطر Double Counting بررسی شده است.
هوش مصنوعی
- Schema دقیق به مدل داده شده است.
- نام جدول و ستون واقعی است.
- پرامپت هدف مشخص دارد.
- مدل اجازه اختراع عدد ندارد.
- محاسبات در ابزار قطعی انجام میشوند.
- خروجی با داده اصلی مقایسه میشود.
- فرضیه از نتیجه قطعی جدا شده است.
داشبورد
- هر صفحه هدف مشخصی دارد.
- Visualها با سؤال هماهنگ هستند.
- KPIهای اصلی در اولویتاند.
- فیلترها واضح هستند.
- عنوان نمودارها تجاری و دقیق است.
- نمایش موبایل بررسی شده است.
- بازه زمانی مشخص است.
- آخرین زمان بهروزرسانی نمایش داده میشود.
استقرار
- گزارش با کاربران واقعی آزمایش شده است.
- دسترسیها متناسب با نقشها هستند.
- Refresh بررسی شده است.
- خطاهای فرایند ثبت میشوند.
- نسخه Measureها قابل پیگیری است.
- گزارشهای تولیدشده آرشیو میشوند.
سؤالات متداول
آیا Power BI هوش مصنوعی دارد؟
بله. Copilot در Power BI میتواند در بخشهایی مانند ساخت و ویرایش گزارش، تولید خلاصه روایی، نوشتن DAX Query و مستندسازی Measureها کمک کند. دسترسی به آن به تنظیمات و ظرفیت سازمان وابسته است.
آیا Copilot در Power BI رایگان است؟
صرف نصب Power BI Desktop یا داشتن حساب رایگان برای استفاده کامل از Copilot کافی نیست. پیشنیازهای ظرفیت، Workspace، مجوز و تنظیمات سازمان را در مستندات رسمی مایکروسافت بررسی کنید.
آیا ChatGPT میتواند فرمول DAX بنویسد؟
مدلهای زبانی میتوانند فرمول DAX پیشنهاد دهند؛ اما باید Schema، رابطهها و تعریف شاخص را دریافت کنند. فرمول نهایی باید با داده واقعی آزمایش شود.
آیا میتوان فایل Power BI را به هوش مصنوعی داد؟
بعضی ابزارها ممکن است فایل یا تصویر گزارش را تحلیل کنند، اما برای پاسخ دقیق بهتر است Schema، Measureها، فیلترها و دادههای تجمیعشده را بهصورت ساختاریافته ارائه کنید.
بهترین هوش مصنوعی برای Power BI چیست؟
برای قابلیت یکپارچه داخل Power BI، Copilot گزینه رسمی مایکروسافت است. برای تولید DAX، تحلیل خطا و گزارش متنی نیز میتوان از مدلهای زبانی عمومی یا یک راهکار اختصاصی مبتنی بر API استفاده کرد.
آیا هوش مصنوعی میتواند داشبورد کامل بسازد؟
هوش مصنوعی میتواند صفحه گزارش و Visualهای اولیه را پیشنهاد یا تولید کند؛ اما تعریف KPI، مدل داده، کنترل عددها و طراحی تجربه گزارش همچنان به تحلیلگر نیاز دارد.
چگونه خطای DAX را با هوش مصنوعی رفع کنیم؟
فرمول، متن کامل خطا، نام جدولها، نوع ستونها، روابط و رفتار مورد انتظار را در پرامپت قرار دهید. فقط ارسال پیام خطا معمولاً کافی نیست.
آیا میتوان Power BI را به API درواره متصل کرد؟
بله. روش پیشنهادی این است که یک Backend داخلی میان Power BI و API درواره قرار گیرد. Backend دادههای تجمیعشده را دریافت، درخواست مدل را مدیریت و خروجی را برای نمایش در Power BI ذخیره میکند.
درواره جایگزین Power BI است؟
خیر. Power BI ابزار مدلسازی و مصورسازی داده است. درواره زیرساخت API مدلهای هوش مصنوعی است و میتواند برای افزودن تحلیل متنی، خلاصه مدیریتی و دستیار هوشمند در کنار Power BI استفاده شود.
آیا میتوان گزارش مدیریتی را خودکار تولید کرد؟
بله. KPIها میتوانند در Power BI یا پایگاه داده محاسبه و سپس به یک Backend ارسال شوند. Backend از طریق API هوش مصنوعی، متن گزارش را تولید و در دیتابیس یا فایل ذخیره میکند.
جمعبندی
هوش مصنوعی میتواند ساخت و استفاده از گزارشهای Power BI را سریعتر کند، اما کیفیت خروجی همچنان به کیفیت داده، تعریف شاخص و مدل Semantic وابسته است.
بهترین روش این است که مسئولیتها را جدا کنید:
- Power Query برای پاکسازی داده
- Semantic Model برای ساختار تحلیلی
- DAX برای محاسبات
- Power BI برای مصورسازی
- هوش مصنوعی برای پیشنهاد، توضیح و تولید متن
- تحلیلگر برای اعتبارسنجی و نتیجهگیری نهایی
برای شروع، یکی از وظایف مشخص را انتخاب کنید:
- تولید یک Measure با DAX
- توضیح یک فرمول موجود
- پیشنهاد Visual
- ساخت خلاصه مدیریتی
- مستندسازی Semantic Model
- تحلیل یادداشتهای کاربران داشبورد
سپس خروجی را با داده مرجع مقایسه و فرایند را بهتدریج توسعه دهید.
اگر میخواهید یک دستیار تحلیل داده، مولد گزارش مدیریتی یا قابلیت سؤالوپاسخ اختصاصی در کنار Power BI بسازید، میتوانید از API درواره برای دسترسی به مدلهای هوش مصنوعی استفاده کنید.
آدرس پایه API درواره:
https://api.darvareh.ir/v1
برای مشاهده مدلها و اطلاعات بهروز، صفحه مدلهای درواره را ببینید.
مقالات مرتبط
- تحلیل فایل CSV با هوش مصنوعی؛ ساخت AI Data Analyst
- هوش مصنوعی برای Excel؛ آموزش فرمولنویسی و تحلیل داده
- تبدیل متن به جدول با هوش مصنوعی؛ آموزش Word و Excel
- هوش مصنوعی در حسابداری؛ آموزش کامل و کاربردی
- تحلیل بازخورد مشتری با هوش مصنوعی
- Structured Outputs و JSON Schema در API هوش مصنوعی
- API هوش مصنوعی چیست؟ راهنمای دریافت و استفاده
برای مطالعه شرایط استفاده و محدودیتهای مسئولیت، صفحه «سلب مسئولیت» را مشاهده کنید.