برخی افراد بر این باورند که سیستم های گزارش دهی و یا هر نوع سامانه نوظهور در یک سازمان صرفا جهت استفاده مدیران ارشد سازمان تهیه می شود. واقعیت این است که مدیران ارشد سازمان از سیستم ها ی هوش تجاری جهت اتخاذ تصمیم های لازم در سازمان استفاده می کنند. در حقیقت می توان گفت که امروزه سیستم های هوش تجاری جزو ملزومات مدیریت یک سازمان نمی باشد، بلکه سهولت انجام وظایف مدیریت در سازمان را به همراه خواهند داشت. اما از سویی دیگر با توجه به گسترش حجم داده ها در سازمان (حتی سازمان های کوچک) می توان گفت مدیریت و هدایت یک سازمان بدون استفاده از سیستم های هوش تجاری کاری بسیار پیچیده و دشوار می باشد.
بررسی قابلیتهای جدید SQL Server 2016
میتوان گفت دادهکاوی هدف اصلی و نهایی سازمانها در بکارگیری از BI است. انجام عمل دادهکاوی علاوه بر تخصص و توانایی فنی بالا و تسلط به کسب و کار مربوطه نیازمند مقدمات دیگری نیز هست و تا فراهم نشدن تمامی این مقدمات امکان پذیر نمیباشد. در ادامه هر یک از این پیش نیازها را بررسی میکنیم.
طراحی و پیاده سازی انبار داده:
بدون وجود انبار دادهای جامع و دقیق نمیتوان به سوی داده کاوی قدم برداشت. پیش از انجام هر نوع عمل کاوش در دادهها ابتدا باید از یکپارچگی، صحت و تجمیع اطلاعات اطمینان حاصل شود. اطلاعات باید واقعی و دارای توالی به روز رسانی مشخص باشند. مراحل پیاده سازی انبار داده در اینجا شرح داده شده است.
بررسی و انتخاب دادهها بر اساس نوع الگوریتم مورد استفاده:
فارغ از اینکه از چه ابزاری برای عملیات داده کاوی استفاده میکنیم، تعداد الگوریتمها، تنوع و مقاصد آنها متفاوت است. از این رو باید بر اساس نوع الگوریتمی که قصد استفاده از آن را داریم اطلاعات را انتخاب نماییم. الگوریتمهای داده کاوی در اینجا شرح داده شده است.
تبدیل دادهها به فرمت و ساختار مورد نیاز الگوریتم:
هر الگوریتم داده کاوی بر اساس نوع خروجی و هدفی که دنبال میکند به فرمت خاص خود نیاز دارد. در این مرحله باید دادههای مورد نیاز الگوریتم را به شکل و قالب قابل قبول برای الگوریتم تبدیل کنیم. انواع دادهای مورد استفاده در Microsoft Data Mining را اینجا مطالعه کنید.
کاوش در داده با استفاده از الگوریتمهای داده کاوی:
در این مرحله کار را به الگوریتم انتخاب شده میسپاریم. الگوریتم بر اساس پارامترها و ورودیهای مشخص شده شروع به کاوش در دادهها میکند و روابط و اطلاعات مورد نیاز جهت رسیدن به دانش را در اختیار ما قرار میدهد.
در این رابطه میتوانید الگوریتم کلاسترینگ و سری زمانی را مطالعه نمایید.
تحلیل و تفسیر نتیجه :
بدیهی است که کسب دانش از دادهها نیازمند تجزیه و تحلیل و تفسیر خروجی مرحله قبل است. رسیدن به نتیجه مطلوب در کنار تلاش تیمی متشکل از افراد فنی و غیر فنی که تسلط کامل برروی اطلاعات و کسب وکار دارند میسر است.
اگر قصد داشته باشید تا از اطلاعات ذخیره شده در Cube توسط QlikView گزارش و یا داشبورد ایجاد کنید، باید پس از برقراری ارتباط میان این دو توسط کانکتور OLEDB، از عبارات MDX برای فراخوانی جداول حقایق و ابعاد استفاده کنید.
استفاده از تمامی Factها و Dimensionها در کلیک ویو نیازمند عبارات MDX پیشرفته و پیچیده است، به همین دلیل پیشنهاد میشود در صورت امکان، ارتباط کلیک ویو با انبار داده را به صورت مستقیم برقرار نمایید.
در این آموزش فرض بر آماده بودن یک مدل OLAP برروی سیستم شما است.
توجه: از آنجایی که در این آموزش از پایگاه داده AdventureWorksDW2008 استفاده شده است، باید آن را به بانک اطلاعاتی خود اضافه نمایید. پیشتر نحوه استفاده از AdventureWorksDW2008 در اینجا شرح داده شده است.
به منظور انجام این کار مراحل زیر را دنبال کنید.
1- ابتدا باید یک پروژهی OLAP ایجاد و سپس آن را Deploy و پردازش کرد تا بانک اطلاعاتی آن در Analysis Services قرار گیرد.
برای این کار میتوانید از Adventure Works Sample نیز استفاده نمایید.
2- به صفحهی Edit Script در qlikview رفته و از قطعه کد زیر جهت برقراری ارتباط با Analysis Services استفاده نمایید.
OLEDB CONNECT TO [Provider=MSOLAP.5;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=نام بانک اطلاعاتی;Data Source=نام سرور];
قطعه کد بالا ارتباط Cube با qlikview را برقرار میکند.
3- برای خواندن جداول ابعاد و حقایق باید از عبارات MDX استفاده شود. برای مثال عبارت MDX زیر معیار Internet Sales Amount و اطلاعات جداول Ship Date و Product را به QlikView اضافه میکند.
SELECT NON EMPTY {[Measures].[Internet Sales Amount] } ON COLUMNS, NON EMPTY
{ ([Ship Date].[Date].[Date].members* [Product].[Category].[Category].members)}
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM [Adventure Works]
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
تصویر زیر نحوه قراگرفتن قطعه کدهای بالا در محیط اسکریپت نویسی کلیک ویو را نشان میدهد.
همانطور که در تصویر زیر ملاحظه میکنید، دو نمودار و یک جدول از اطلاعات موجود در Cube ایجاد شده است. نمودار دایرهای بیانگر مبلغ فروش به تفکیک محصول، نمودار خطی، روند فروش محصولات در بازه زمانی و جدول نیز مبلغ فروش محصولات به تفکیک محصول و تاریخ فروش نمایش میدهد.
میتوان گفتUnary Operatorاز برای تحلیل بهتر گزارشات مالی استفاده میشود. برای درک بهتر این موضوع به مثال زیر توجه کنید.
فرض کنید در یک Cube مالی نیاز به محاسبه ترازنامه (صورتی که وضع مالی یک موسسه را در یک تاریخ معین نشان می دهد) دارید، اگر در SSAS به صورت معمول بعد حساب (Account Dimension) را تعریف و ارتباط آن را با Cube مورد نظر برقرار کنید نتیجهی بدست آمده در خروجی مطلوب نمیباشد، چراکه در ترازنامه باید بدهیها وداراییها با هم برابر باشند و در نهایت تفاضل آنها صفر شود. در حالیکه در OLAP به صورت پیش فرض از مقادیر Sum گرفته میشود و در نتیجه مقدار بدهی و دارایی با هم جمع میشوند. تصویر زیر خروجی یک Cube مالی را نشان میدهد که در آن بُعد حسابها به صورت عادی و بدون تغییر تعریف شده است.
این مشکل با ایجاد تغییرات اندکی در ساختار جدول ایجاد شده در انباره داده و کمک Unary Operator قابل حل است. برای حل این مسئله مراحل زیر را انجام دهید.
۱- ابتدا به انبار داده مورد نظر رفته و به جدول حسابها یک ستون با نام Operator اضافه کنید.
۲- بر اساس نیاز ستون Operator را با علائم ((+ و – و...)) پر کنید.
لازم به ذکر است که این کار باید به طور دقیق و با کمک کارشناس حسابداری انجام گیرد.
۳- دایمنشن حسابها را مطابق معمول به Cube اضافه کنید.
حال باید تنظیمات مربوط به Unary Operator را انجام دهید.
۴- بر روی دایمنشن ساخته شده راست کلیک کرده و از منوی باز شده گزینهی Add Business Intelligence را انتخاب نمایید. برروی Next کلیک کنید.
۵- در صفحهی Choose Enhancement گزینهی Specify a unary operator را انتخاب و Next کنید.
۶- مطابق شکل زیر در صفحهی Specify a unary operator ستون Operator را که پیشتر به جدول اضافه کردیم را انتخاب کرده و برروی Next کلیک کنید.
۷- برروی Finish کلیک کنید.
۸- پروژه را مجدد پردازش کنید.
در صورتی که عملگرهای موجود در بعد حساب به درستی تعریف شده باشند و مقادیر موجود در جدول حقایق درست باشند، مقدار کل(Total) برابر صفر خواهد بود.