ابزارهای تحلیلی امروزی مانند Powe BI بهگونهای طراحی شدهاند که نتایج را در کوتاهترین زمان و به پویاترین شکل ممکن نمایش دهند. با این حال بروز مشکل در مدل داده یا محاسبات پیچیده منجر به کندی فرآیند گزارش گیری میشود.
برای اینکه با چنین مشکلاتی رو به رو نشوید باید ابزارهای مناسب را داشته باشید. DAX Studio برنامهای است که در این مسیر شما را همراهی میکند. DAX یا Data Analysis Expressions، در واقع فرمول و زبان کوئری پاور بی آی و فناوریهای مشابه است. با استفاده از این ابزار میتوان سرعت کوئریهای DAX را اندازهگیری کرد و افزایش داد.
برای بهرهمندی از قابلیتهای کاربردی این ابزار بهتر است ابتدا بدانید DAX Studio چیست. در این مقاله هر آنچیزی که درباره DAX Studio باید بدانید را به شما خواهیم گفت، پس با ما همراه باشید.
DAX Studio چیست؟
DAX Studio ابزاری برای نوشتن، اجرا، تجزیه و تحلیل کوئریهای برنامههای طراحی پاور بی آی، پاور پیووت (Power Pivot) برای اکسل و جدول سرویسهای تجزیه و تحلیل به حساب میآید.
DAX Studio شامل بخشهای مختلفی میشود از جمله Object Browser، ویرایش و اجزای کوئریها، قابلیت ویرایش اندازه گیری و فرمول، برجسته سازی و ترکیببندی ساختار، ردیابی یکپارچه و خرابی اجرای کوئریها.
اگر به دنبال ابزاری رایگان و فوقالعاده برای پرس و جوی مستقیم مدلهای داده پاور پیووت یا پاور بی آی میگردید باید بدانید DAX Studio چیست و چه کاربردی دارد.
شاید در ابتدای کار با DAX Studio نتایجی که انتظار دارید را فوراً مشاهده نکنید. حتی ممکن است نتایجی کاملاً متفاوت حاصل شوند، اما هیچ نگران نباشید زیرا درک اینکه DAX Studio چگونه تاثیر خود را میگذارد، مخصوصاً برای افراد مبتدی کمی مشکل است.
رابط کاربری DAX Studio
ابزار DAX Studio از بخشهای متفاوتی تشکیل میشود. بهطور کلی میتوان سیستم رابط کاربری DAX Studio را به ۵ بخش اصلی تقسیم کرد. هر یک از این بخشها را در ادامه به شما معرفی میکنیم.
- نوار اصلی در بالاترین بخش پنجره برنامه DAX Studio قرار دارد و ظاهر آن شبیه به آخرین نسخههای پاور بی آی دسکتاپ است. به این ترتیب برای افرادی که با پاور بی آی آشنا هستند، ظاهر آشنایی دارد. در این نوار گزینههایی مختلفی قرار دارند که در طور مقاله درباره هر یک توضیحات لازم را ارائه خواهیم داد.
- نوار ستونی موجود در سمت چپ ابزار شامل جدولها و انواع دادهها میشود. با استفاده از این منوی کشویی، پایگاه دادههایی که میخواهید کوئریها را آزمایش کند را انتخاب کنید. در پایین منوی کشویی نمایهای از جدولهای حاضر نمایش داده میشود.
- بخش ویرایشگر اسکریپت برای وارد کردن کوئریهای مشخص و اجرای آنها کاربرد دارد.
- این قسمت از رابط کاربری، نتایج را نشان میدهد.
- نوار انتهایی برنامه محل نمایش اطلاعات اضافه درباره فرآیند اجرای کوئریها است.
بخشهای مختلف نوار اصلی DAX Studio
قسمتهای مختلف نوار اصلی DAX Studio به ۴ بخش تقسیم میشوند که در ادامه هر کدام از آنها را معرفی میکنیم.
کوئری (Query)
بخش کوئری دارای گزینههای متعددی است که در پایین هر یک را شرح دادهایم.
اجرا (Run)
اولین گزینهای که در این بخش مشاهده میکنید، گزینه Run است. این گزینه دارای ۲ حالت است. این حالتها عبارتند از Run Query و Clear Cache and Run.
- Run Query: این حالت، حالت پیشفرض برای اجرا یا Run است. گزینه Run Query، کوئریهای انتخاب شده را اجرا میکند و نتایج را به خروجیهای انتخاب شده میفرستد.
- Clear Cache and Run: در این حالت، قبل از اینکه کوئری اجرا شود، فرمان پاک کردن حافظه پنهان (Cache) به نمونههای متصل ارسال میشود. هدف از این کار اطمینان حاصل کردن از این است که کوئری روی حافظه سرد اجرا میشود. درک و بررسی تاثیر حافظه پنهان بر کوئری شما در هنگام تنظیم عملکرد بسیار مهم است.
کنسل (Cancel)
گزینه بعدی در نوار اصلی گزینه Cancel است. این گزینه برای متوقف کردن کوئریهای در حال اجرا کاربرد دارد.
پاک کردن حافظه پنهان (Clear Cache)
بخش بعدی که در کوئری مشاهده میکنید، بخش Clear Cache است. این گزینه به نمونههای متصل شده فرمان پاک کردن میفرستد. بنابراین کوئری روی حافظه پنهان خالی اجرا خواهد شد. به این ترتیب امکان مقایسه ۲ کوئری تقریباً مشابه فراهم میشود؛ بدون اینکه ذخیره شوند.
خروجی (Output)
Output در DAX studio چیست؟ آخرین بخش نوار کوئری Output نام دارد. این گزینه به ۵ بخش زیر تقسیم میشود:
- Grid: این حالت، حالت پیشفرض است. نتایج DAX studio به حالت شبکهای یا Grid در تب نتایج به نمایش گذاشته میشوند.
- Timer: در این حالت کوئری اجرا میشود، اما نتایج حذف میشوند. این قابلیت زمانی به کار میآید که در تنظیم عملکرد میخواهید سرعت ۲ کوئری را اندازه بگیرید، اما علاقهای به مشاهده نتایج ندارید.
- File: نتایج حاصل شده را میتوان مستقیماً به تب فایل جداگانه (.txt) یا فایل جداگانه کاما (.csv | Comma Separated Values) ارسال کرد.
- Linked (فقط در اکسل): زمانی که نتایج بهصورت output هستند و از حالت Linked Excel استفاده میکنند، جدولی در workbook فعال اکسل به وجود میآید که با منبع داده جدولی (Tabular data source) ارتباط دارد و کوئری DAX در آن تعبیه شده است. این به آن معنی است که کاربران بدون وجود DAX Studio نمیتوانند دادههای این جدول را Refresh کنند.
- Static (فقط در اکسل): این گزینه برای اجرای کوئریهای DAX کاربرد دارد و نتایج را در شیت مشخصی از workbook فعال اکسل کپی میکنند. این نسخه، تنها کپی استاتیکی از دادههایی است که قابلیت رفرش شدن ندارند. (برخلاف گزینه (Linked
ویرایش، ساختار و جستجو (Edit، Format و Find)
ابزارهای ویرایش، ساختار و جستجو به شکل دادن کوئریهایی که در ورد، اکسل و غیره پیدا میشوند، کمک میکند.
ردیابی (Traces)
قابلیت ردیابی تنها برای سرورهای ادمینها فعال است. اگر ادمین نباشید، این گزینه برای شما غیرفعال خواهد بود.
گزینههای مختلف بخش ردیابی بهترتیب زیر هستند:
برنامه کوئری (Query plan)
DAX studio از ثبت رویدادهای ردیابی طرح کوئری از سرور جدولی SSAS و نمایش دادن آنها حمایت میکند.
در حال حاضر برنامه کوئری بهصورت خام نمایش داده میشود، اما در آینده ممکن است با پردازش بیشتر، خوانایی کوئریها افزایش پیدا کند. امروزه امکان دریافت برنامههای کوئری از اتصال پاور پیووت وجود ندارد.
زمانبندی سرور (Server Timings)
زمانبندی استاندارد سرور که در پنجره خروجی گزارش میشود، زمان سپری شده برای ثبت کوئری توسط DAX studio است، اما این زمانبندی تحت تاثیر عواملی مانند سرعت شبکه و اندازه نتایج نیز قرار میگیرد. در صورتی که میخواهید زمانبندی کوئری را از دید سرور بررسی کنید باید از گزینه server timing trace استفاده کنید.
با زدن این گزینه، تب اضافهای به نمایش در میآید که کل زمانی که سرور صرف پردازش کوئری کرده است را نشان میدهد. علاوه بر این اطلاعاتی مانند زمان سپری شده در موتور ذخیره سازی (Storage Engine) و تعداد درخواستهای موتور ذخیرهسازی برای کوئری را نیز نمایش خواهد داد.
هر یک از کوئریها برای بازیابی نتایج بین موتور فرمول و موتور ذخیرهسازی تقسیم میشود. اگر تاثیر آنها به سمت موتور فرمول متمایل شود، در صورتی که بتوان فرمولها را به گونه کارآمدتری نوشت باید در آنها تجدید نظر کرد.
موتور فرمول، تک رشتهای است و همه کوئریهای جاری موتور ذخیره سازی را در حالت انتظار قرا میدهد. تقسیم بندی معمول کوئریها باید حدود ۱.۵ FE و ۴.۵ SE باشد.
موتور ذخیره سازی از پس فرمولهای جمع ساده مانند SUM، AVG و غیره بر میآید، با این حال برای محاسبه بسیاری از مژرها به فرمولهای پیچیده نیاز داریم. به این ترتیب عملیات محاسباتی پیچیدهتر ابتدا توسط موتور فرمول پردازش میشوند و دیگر زمان زیادی صرف بارگذاری نخواهد شد. اما موتور ذخیرهسازی چند رشتهای است. بنابراین عملیاتهایی که موتور ذخیرهسازی ثبت میکند اشکالات کمتری دارند، بهدلیل اینکه آنها میتوانند موازی با یکدیگر عمل کنند.
معمولاً گزارشها و تصاویری که کندتر پردازش میشوند، دارای فرمولهای DAX پیچیدهتری هستند. موتور فرمول، موتوری است که بهعلت درخواستها و پردازش دادهها، حافظه رم را پردازش میکند.
موتور ذخیرهسازی روی دادههایی که در ستونهای ذخیره سازی VertiPaq (در حافظه رم) فشرده میشوند، تکرار خواهد شد. بنابراین دادههای دیسک را در حافظه رمی قرار میدهد که از قبل در آن موجود نیست.
کوئریها باید به شکلی ساخته شوند که کوتاهترین زمان ممکن را در موتور فرمول صرف کنند.
اتصالات (Connections)
بخش اتصالات شامل ۲ قسمت میشود:
اتصال (Connect)
با کمک گرفتن از گزینه اتصال، به یک منبع وصل خواهید شد.
رفرش کردن متادیتا (Refresh Metadata)
اگر روی گزینه رفرش کردن متادیتا یا ابرداده کلیک کنید، همه متادیتاهای منابع بازیابی و تجدید میشوند.
DAX Studio چه کاربردی دارد؟
کاربرد DAX Studio چیست؟ DAX Studio در موارد بسیاری به کمک افراد میآید. اگر بخواهیم همه کاربردهای این ابزار را نام ببریم، در قالب این مقاله نمیگنجد. بنابراین در ادامه مهمترین کاربردهای DAX Studio را شرح میدهیم.
اکسترکت کردن فهرستی از Measures از مدل داده شما به صفحه گسترده اکسل
هدف این کار چیست؟
- مشاهده تصویر بزرگ دادهها
- ساخت اسناد و مدارک
- دسترسی راحتتر به معیارها برای استفاده مجدد عدم نیاز به جمعآوری دوباره آنها
کمک به نوشتن فرمولهای پیچیدهتر DAX که شامل جدول نیز میشوند
زمانی که شما Measure مینویسید که شامل جدول عملیاتی در DAX میشود، میتوانید جدول را مشاهده کنید و ببینید که آیا مطابق با چیزی است که انتظارش را داشتید یا خیر. در DAX studio این امکان وجود دارد که فقط مقادیر جدولی فرمولها را بنویسید. به این ترتیب روند شکل گیری جدول را مشاهده خواهید کرد.
یادگیری نحوه نوشتن کوئریهای DAX
ممکن است از ابتدا این مسئله چندان به چشم نیاید، اما وقتی منطقهای تجاری بسیاری را در مدل داده خود به وجود میآورید، زمانی میرسد که فقط میخواهید جدول یا فهرستی از دادهها داشته باشید و آن را برای اهداف دیگری اکسترکت کنید.
برای این کار میتوان از جدول پیووت استفاده کرد، با این حال بهتر است کوئریها را روی مدل داده بنویسید و دادههای مورد نیاز خود را در جدولی اکسترکت کنید، مخصوصاً اگر جدول بزرگ باشد.
آزمایش عملکرد مژرهای خود
زمانی که یک مژر، برای مثال جدول پیووت، عملکرد کندی دارد، آن مژر را در DAX studio اجرا کنید و با استفاده از ابزارهای زمانبندی، بررسی کنید که پاور پیووت چگونه فرمول شما را تفسیر میکند. با در دست داشتن این اطلاعات، برای افزایش کارایی فرمول، آن را دوباره بنویسید.
استفاده از فایلهای پاور بی آی دسکتاپ بهعنوان سرور SSAS
ترفندی وجود دارد که به شما اجازه میدهد از پاور بی آی دسکتاپ بهعنوان سرور استفاده کرده و سپس یک Workbook اکسل را به این سرور متصل کنید. این ترفند فقط در طول جلسه به کار میآید، با این حال هنوز هم جالب است و ممکن است مفید باشد.
نحوه اتصال DAX Studio به پاور پیووت اکسل
برای اینکه بدانید اتصال DAX Studio چیست و در اکسل چطور امکانپذیر است، باید ابتدا برنامه اکسل را راهاندازی و سپس یک ورک بوک پاور پیووت باز کنید. بعد از اینکه ورک بوگک جدید را باز کنید، متوجه میشوید که افزونه یا منوی Add-in جدیدی در نوار قرار گرفته است.
برای راهاندازی DAX Studio روی گزینه مربوط به آن کلیک کنید. یکی از منوهای دیگری که در نوار اصلی قرا میگیرد، منوی امکانات پاور پیووت است. بهتر است این ابزار را نیز نصب کنید، چرا که ترفندهای بسیار کارآمدی را در آینده با آن اجرا خواهیم کرد.
زمانی که DAX Studio را راهانداری کردید، از شما در خواست میشود که به مدل داده متصل شوید. حالت پیش فرض، همان ورک بوکی است که در اکسل شما باز است. نگران گزینه advanced options مباشید، تنها کاری که باید کنید، کلیک کردن روی connect است.
به یاد داشته باشید که در پنجره مربوط به Connect گزینهای برای اتصال به برنامه طراحی پاور بی آی وجود دارند که Test نامیده میشود. بهدلیل اینکه بسیاری از افراد معمولاً زمانی از پاور بی آی دسکتاپ استفاده میکنند که فایل Test باز است.
پس از اتصال به مدل داده، در پنجره نوار ابزار مشاهده میکنید که DAX Studio بهعنوان اپلیکیشنی مستقل در حال اجرا است. درست مانند پاور پیووت که با اینکه در اکسل نصب میشود، اما جدا از آن اجرا خواهد شد.
راهنمای اتصال DAX Studio به پاور بی آی دسکتاپ
زمانی که پاور بی آی دسکتاپ را باز میکنید، برخلاف گزینهای که در اکسل برای نصب و راهاندازیDAX Studio وجود داشت، در این برنامه چنین گزینهای وجود ندارد. با این حال برای راهاندازی DAX Studio میتوان از بخش Program Files ویندوز کمک گرفت.
اگر هنگام نصب DAX Studio، پاور بی آی دسکتاپ باز است، پنجره اتصال به نمایش در میآید. تنها کاری که در این پنجره باید انجام دهید، انتخاب مدل داده مناسب برای فایل پاور بی آی PBIX باز است.
فراموش نکنید که از DAX Studio برای اتصال به سرور جدولی SQL نیز میتوان استفاده کرد.
سخن آخر
تا اینجا یاد گرفتید DAX studio چیست، چه کاربردی دارد و شامل چه بخشهایی میشود. DAX studio بهترین ابزار برای بهینه سازی کدهای شما است. با استفاده از این ابزار عملکرد DAX خود را به حداکثر برسانید و نتایج بیشتری تولید کنید.