کاواندیش

در این وبلاگ خلاصه مطالعات یا تجارب جالب توجه خود در مورد هوشمندی کسب و کار(BI) را منتشر خواهم کرد.

کاواندیش

در این وبلاگ خلاصه مطالعات یا تجارب جالب توجه خود در مورد هوشمندی کسب و کار(BI) را منتشر خواهم کرد.

آشنایی با MDX

MDX یک زبان پرس و جو برروی داده­ های ذخیره شده در کیوب­ های OLAP می­ باشد. این زبان در ابتدا توسط مایکروسافت در سال 1997 مطرح گردید و امروزه بسیاری از ارائه­ دهندگان محصولات OLAP از آن پشتیبانی می­ کنند از جمله Oracle، MicroStrategy، SAS، SAP، Teradata، JasperSoft، Cognos.


علی رغم شباهت ظاهری بین این زبان و زبان T-SQL که برای پرس و جو بر روی پایگاه داده رابطه­ ای استفاده می­ شود، این دو زبان کاملاً از یکدیگر مستقل هستند. همچنین اگرچه می­ توان برخی پرس و جوهای MDX را به T-SQL تبدیل کرد ولیکن معمولاً نتیجه آن حتی برای پرس و جوهای ساده ترکیبی پیچیده از دستورات T-SQL خواهد بود.

به هر حال برای آشنایی با این زبان، مقایسه آن با T-SQL می­ تواند نقطه شروع خوبی باشد. یک دستور ساده T-SQL را در نظر می­گیریم:


Select column1, column2, …, column from table


یک دستور ساده MDX نیز فرمت زیر را دارد:


Select axis1 on columns, axis2 on rows from cube



برخی از عبارت­ها بسیار آشنا هستند همانند select و from و در واقع در MDX هم همان کارکرد را دارند. Select نشان­ دهنده اجرای یک پرس و جو است و from منبع داده را نشان می­ دهد. در T-SQL منبع جداول یک پایگاه داده هستند و در MDX منبع یک کیوب است.


اما تفاوت عمده­ ای بین دو پرس و جوی بالا وجود دارد. نتیجه یک پرس و جوی T-SQL اساساً یک نمای رابطه­ ای دو بعدی شامل سطرها و ستون­ هاست. تمامی سطرها ساختار مشخص شده توسط ستون­ها را دارند و هر ستون می­ تواند نوع داده مخصوص خود را داشته باشد. حال آنکه MDX محدود به دو بعد نمی­ باشد. نتیجه یک پرس و جو می­تواند صفر، یک، دو، سه و ... بعد یا محور داشته باشد( اگرچه نمایش بیش از سه بعد در صفحه نمایش امکان­ پذیر نیست). همچنین در پرس و جوی MDX، علاوه بر ساختار ستون­ها بایستی ساختار سطرها نیز مشخص گردد. اینکار با مشخص کردن مجموعه­ های چند تایی از اعضای هریک از ابعاد(Dimension) مدنظر از کیوب انجام می­ شود که اصطلاحاً به آن tuple می­گویند.


به عنوان مثال در صورتیکه کیوب ما با نام Sales، شامل دو بعد به نام­های Years(سال­ها) و Regions(مناطق جغرافیایی) باشد، می­ توان دستور زیر را نوشت:


select Years.members on columns,

Region.members on rows

from Sales

که خروجی مشابه زیر را تولید می­ کند:


1996

1995

1994

 

400.000

200.000

120.000

N. America

70.000

30.000

-

S. America

310.000

160.000

95.000

Europe

 

با توجه به دستور مربوطه، بر روی ستون ها مقادیر سال های موجود و برروی سطرها عناوین مناطق دیده می شود. ولیکن اعداد نمایش داده شده چه هستند؟ این مقادیر در واقع همان سنجه(Measure) های تعریف شده در کیوب هستند که در صورت نام نبردن از یک سنجه خاص، سنجه پیش فرض(Default Measure) کیوب نمایش داده می­ شود که در کیوب فوق می­تواند میزان فروش باشد.


تفاوت دیگر آنکه، جهت اعمال شرایطی برای پرس و جو در زبان T-SQL از دستور where استفاده می­ گردید. این عبارت در MDX نیز وجود دارد ولیکن کارکردی کاملاً متفاوت دارد. این دستور در زبان MDX عملیات برش(Slicing) کیوب را انجام می­ دهد که طی آن بخشی از کیوب با مشخص کردن عناصر هریک از ابعاد جدا می­شود.



در مقایسه با T-SQL که در آن where به معنای فیلتر کردن سطرها با شرط مشخصی است، این دستور در MDX، محاسبه سنجه را تحت تاثیر قرار می دهد.


به عنوان مثال دستور زیر مشابه دستور قبلی میزان فروش در سال های مختلف هریک از مناطق را نشان می دهد با این تفاوت که محصولات گروه کامپیوتر مد نظر بوده اند:


select Years.members on columns,

Region.members on rows

from Sales

where (Product.Computers)


علاوه بر تفاوت های ذکر شده در این مطلب، دستورات MDX دنیای جدیدی از امکانات را در اختیار می گذارند که دستیابی به آنها توسط دستورات T-SQL غیرممکن یا بسیار دشوار است.


آموزشی مختصر در مورد MDX را در این لینک ببینید.

Open Source BI

برخی بررسی­ ها نشان داده­ اند که امروزه حدود 60% شرکت­ها و سازمان­ها در سرتاسر دنیا به نحوی از نرم­ افزارهای متن باز استفاده می­کنند؛ خواه به صورت آگاهانه خواه به صورت عناصری که در سایر نرم­ افزارها نهفته­ اند. مجموعه ابزارهای کد باز BI نیز در سال­های اخیر رشد قابل توجهی داشته­ اند. فارغ از مزایا و تهدیدهای استفاده از نرم­ افزارهای کد باز در BI، که خود مطلب جداگانه ای را می طلبد، در این نوشتار برخی از معروف­ترین آنها را معرفی می­ کنیم:


Jaspersoft

این شرکت مدعی است که رایج­ ترین نرم­ افزار مورد استفاده در BI نرم­ افزار آنها می­ باشد. از ویژگی­های این محصول انعطاف­ پذیری واسط کاربر آن می­ باشد که برای کاربران غیرفنی نیز مناسب است. طراحی گزارشات با Drag&Drop انجام می­ پذیرد بدون آنکه کاربر درگیر دستورات SQL ایجاد شده در پشت صحنه باشد. همچنین انواع نمودارها، صفحه گسترده­ ها و حتی انیمیشن­ های فلش قابل نمایش هستند؛ انواع تبدیل خروجی­ها نیز قابل انجام هستند از جمله PDF، ODT، RTF، Excel، CSV، XML CSS. اجرای گزارشات می­ تواند به صورت زمانبندی شده یا در اثر وقوع رویداد باشد.

عملیات ETL نیز در این مجموعه قدرتمند است و داده­ ها از انواع منابع قابل استخراج هستند. این شرکت برای این کار از نرم­ افزار Talend استفاده می­ کند که خود یک توسعه دهنده کدمنبع باز است.

در قسمت داشبورد نیز انعطاف­ پذیری همانند گزارشات وجود دارد و ابزارهای متداول قابل استفاده هستند.

این مجموعه به دو صورت نسخه مجانی و نسخه حرفه­ ای که شامل خدمات و پشتیبانی است ارائه می­ گردد.


Pentaho

این مجموعه ابزار یکی دیگر از بزرگان BI می­باشد و نوعی رقابت بین آنها و JasperSoft وجود دارد. JasperSoft مدعی است در BI شماره یک است و Pentaho ادعای رهبری در این عرصه را دارد. JasperSoft ادعای 80% کاهش هزینه با استفاده از ابزار خود را دارد و Pentaho ادعای 90% را! به هر حال هر دو ابزار عالی هستند.

امکانات در اختیار و قابلیت انعطاف در هر دو گروه مشابه است. تفاوت در نحوه قیمت­ گذاری است. Pentaho اشتراک یکساله را ارائه می­دهد که پشتیبانی، امکانات فراتر از نسخه مجانی، چرخه­ های نشر مدیریت شده، دسترسی به مستندات و منابع پشتیبانی بیشتر، آموزش و رفع خطا و بروزرسانی­ ها را شامل می­شود.

هر دو گروه همچنین امکان استفاده پیش از خرید را ارائه می­ دهند.

مجموعه Pentaho به صورت ماژولار طراحی شده است و کاربر می­ تواند تمام یا بخشی از امکانات را مورد استفاده قرار دهد.


SpagoBI

Spago یک پروژه BI جالب توجه است که خود را تنها مجموعه BI کاملاً کد منبع باز معرفی می­ کند. این مجموعه به زبان جاوا نوشته شده است و نرم­ افزار و امکان پشتیبانی جامعه توسعه دهنده در آن برای همیشه رایگان است. آموزش، پشتیبانی تجاری، مشاوره و توسعه­ های خاص شامل هزینه هستند.

Spago اشتراکات زیادی با سایر مجموعه­ های کد باز BI دارد همانند Talend برای ETL، داشبوردها، پشتیبانی از انواع فرمت مستندسازی، پشتیبانی از انواع پایگاه داده( Oracle، MySql، PostgreSQL، Ingres، Microsoft SQL Server) و موتور گزارش­ گیری JasperReports. این مجموعه همچنین شامل یک کنسول مانیتورینگ برخط و موتورهای GEO/GID برای داده­ های مکانی است.


Actuate

شعار Actuate "مجموعه­ ای برای امکانات مجتمع در یک محیط" است. این مجموعه بر اساس BIRT ساخته شده است که خود بر جاوا و Eclipse استوار است.

تاکید Actuate بر کاربردهای غنی از اطلاعات است که تعاملی و پویا هستند و در این راه از Adobe Flash و تجمیع چندین منبع و اطلاعات مکانی استفاده می­کند.


داشبورد مدیران


اولین تصویری که با شنیدن کلمه داشبورد در ذهن هر شنونده ­ای تداعی می­شود، داشبورد اتومبیل است. این نامگذاری اتفاقی نیست؛ داشبورد در کسب و کار نیز همانند داشبورد اتومبیل عمل می­ نماید. سرعت، میزان کیلومتر طی شده، دمای آب رادیاتور، میزان بنزین باقی مانده در باک، وضعیت ایمنی و ... مجموعه اطلاعاتی هستند که داشبورد نصب شده در اتومبیل به راننده ارائه می­دهد. شاید به نظر برسد که داشبورد اتومبیل تنها یک لایه نمایش شکیل با طراحی مناسب است، اما چند لحظه به اتومبیلی فکر کنید که نمی ­توانید اطلاعی از وضعیت درونی آن داشته باشید و تمام سفرتان را باید با حدس و گمان و احتمال­های غلط و درست و تصمیم ­گیری‌های مبهم طی کنید! این وضعیت قطعاً غیر قابل تحمل خواهد بود.


 همانگونه که شما با استفاده از اطلاعات مختصر ارائه شده در داشبورد اتومبیل خود، هر لحظه در حال تصمیم­ گیری برای نحوه ادامه مسیر هستید، هدف از داشبورد مدیران نیز ارائه اطلاعات به گونه­ ای می ­باشد تا مدیران و سایر تصمیم ­گیرندگان سازمان بتوانند به مشاهده وضعیت جاری سازمان خود بپردازند و به این ترتیب حرکت سازمان را در مسیر درست هدایت کنند.


داشبورد یک ابزار مدیریتی است
برای نمایش اطلاعات مجتمع و رفع تناقض شده در سازمان ها،
برای اشخاصی که به این اطلاعات نیاز دارند
به فرمتی که بیینده آن به سرعت بتواند
 میزان کارایی و عملکرد سازمان را تشخیص داده و مدیریت نماید.


داشبوردهای مدیریتی امکان مشاهده وضعیت جاری را فراهم می آورند. سایر ابزارها و مفاهیم هوشمندی کسب و کار امکان استخراج الگوها، پیش بینی آینده و تحلیل های "اگر...آنگاه..." را فراهم می آورند که از جمله این ابزارها می توان به داده کاوی اشاره کرد که در فرصت دیگری به این موضوع خواهیم پرداخت.