در این پست قصد دارم برای آشنایی بیشتر و بهتر با SSIS یک پکیج ساده ایجاد کنم. اگر تا به حال از SSIS استفاده نکرده اید بهتر است مراحل اولیه ایجاد یک پروژه را از اینجا مطالعه کنید.
۱- یک پروژهی جدید با نام Learn-SSIS1 ایجاد کنید.
در هر پروژهی SSIS پیش از هر چیز باید نوع ارتباط و منبع دادههای خود را مشخص کنیم. از آنجایی که در این پروژه قصد استفاده از بانک اطلاعاتی SQL را داریم، باید از اتصال دهندهی OLEDB استفاده کنیم.
۲- در قسمت Connection Managers راست کلیک کرده و NEW OLEDB را انتخاب نمایید.
۳- از صفحهی باز شده بر روی New کلیک کنید و مطابق شکل زیر تنظیمات مربوط به Server Name و Provider و بانک اطلاعاتی را انجام دهید. سپس برروی ok کلیک کنید.
همان طور که در تصویر بالا مشخص است از بانک اطلاعاتی AdventureWorksDW2008 استفاده شده. پیشتر در اینجا نحوه افزودن انبار داده AdventureWorksDW2008 را شرح دادهام. چنانچه AdventureWorksDW2008 را در SQL خود ندارید در صورت نیاز از اینجا کمک بگیرید.
۴- فایل learn-ssis1.sql را دانلود کنید.
این فایل شامل یک کوئری ساده جهت بروز رسانی یکی از رکوردهای جدول DimProductCategory است.
۵- از جعبه ابزار بر روی Execute SQL Task دوبار کلیک کنید تا به ناحیه Control Flow منتقل شود.
۶- برروی کامپننت اضافه شده دو بار کلیک کنید تا صفحهی Execute SQL Task Editor باز شود. در این صفحه تنظیمات مربوط به کامپننت انجام میشود.
۷- تنظیمات مربوط به کامپننت را به شکل زیر انجام دهید.
ConnectionType=OLE DB
Connection=localhost.AdventureWorksDW2008
SQLSourceType=File connection
FileConnection=learn-ssis1.sql
برای تنظیم FileConnection ابتدا New connection را انتخاب کنید و از صفحه باز شده Existing file را انتخاب و سپس توسط Browse به محل فایل دانلود شده رفته و آن را انتخاب کنید.
در نهایت Execute SQL Task Editor باید به شکل زیر باشد.
کار تمام است! فقط کافیست کلید F5 را بزنید.
برای دیدن نتیجه به جدول DimProductCategory در SQL مراجعه کنید.
در SSAS قسمتهای مختلفی وجود دارد که هر کدام وظایف جداگانهای را بر عهده دارند. پیش از ایجاد یک پروژهی SSAS درSQL Server Business Intelligence Development Studio باید آگاهی کافی از اجزاء مختلف آنالیز سرویس داشته باشید. برای درک بهتر و آشنایی بیشتر با هر یک از این اجزاء ، در این پست سعی میکنم بخشهای مختلف SSAS را بطور خلاصه و به زبان ساده شرح دهم.
Data Sources
اولین قدم برای شروع یک پروژه، ایجاد منبع داده جهت دسترسی به اطلاعات است. برای این کار ازDate Source استفاده میکنیم. DTS توسط Providerهای مختلف این امکان را فراهم میکند تا با منبع دادههای مختلفی همچون SQL، Oracle و ... ارتباط برقرار کنیم.
Data Source Views
پس از آنکه ارتباط با منبع دادهها برقرار شد، جهت خواندن اطلاعات موجود در جداول و Viewها از DSV استفاده میشود. هر گونه تغییر در فیلدهای جداول هیچ گونه تاثیری در ساختار جداول نخواهد داشت و تغییرات اعمال شده تنها در SSAS قابل مشاهده و استفاده است.
Cubes
هر پروژهی OLAP در SSAS یک یا چند مکعب داده (Cube) را شامل میشود. این مکعبها در این قسمت تعریف میشوند. هر Cube خود شامل بخشهای مختلفی است که در پستهای بعدی به آن میپردازم.
Dimensions
به معنای بُعد میباشد که که ابعاد مختلف Cube را تشکیل میدهند. تمامی ابعاد یک پروژه در این قسمت تعریف میشوند.
Mining Structures
برای ساخت پروژههای داده کاوی و استفاده از مدلهای مختلف دادهکاوی باید از این قسمت استفاده کرد.
Roles
مسائل امنیتی مانند نقشها و دسترسیها برای OLAP و Data Mining در این قسمت مدیریت میشوند. این دسترسیها میتوانند بر روی Cubeها، Dimensionها و Mining Structureها اعمال شوند.
Assemblies
در SSAS از زبانهای برنامه نویسی MDX و DMX جهت نوشتن عبارات استفاده میشود. گاهی نیاز است که از سایر زبانهای برنامه نویسی نیز در این عبارات استفاده شود. جهت استفاده از این توابع در عبارات MDX و DMX از این قسمت استفاده میشود.
Miscellaneous
در صورتی که در SSAS فایل خاصی را اضافه کرده باشیم، در این قسمت دسته بندی میشود. این فایلها از هر نوعی میتوانند باشند.
امروزه با اطمینان کامل میتوان ادعا کرد که استفاده از راهحل BI میتواند قدرت رقابتپذیری یک سازمان را افزایش دهد و از دیگر سازمانها متمایز نماید. این راهحل این امکان را به سازمانها میدهد تا با بکارگیری اطلاعات موجود از مزایای رقابتی و پیشرو بودن بهرهبرداری نمایند. این راه امکان درک بهتر تقاضاها و نیازمندیهای مشتریان و مدیریت ارتباط با آنان را میسر میسازد. امروزه دیگر سازمانهای پیشتاز صحبت ازERP و CRM نمیکنند، رویکرد سازمانها به سمت BI است. آنها به دنبال بهینهسازی فرآیندها از طریق ارزیابی و بهبود عملکرد خود و زیرمجموعههای وابسته به خود میباشند.
در یک دهه گذشته بسیاری از سازمانها سرمایهگذاریهای بسیاری را روی تکنولوژی اطلاعات اعم از نرمافزار و سختافزار کردهاند. در اقتصاد امروزه که هزینهها باید کاهش یابد، سازمانها و شرکتها از خود میپرسند: «چه مقدار تا کنون برای تکنولوژی سرمایهگذاری کردهایم؟» و اینکه «از این سرمایهگذاری چه سودی بردهایم؟» امروزه در کشورهای پیشرو و توسعه یافته سرمایهگذاری در BI در حال افزایش است. تحقیقات فارستر در سال 2003 از 877 سازمان (کوچک و بزرگ) و تصمیمگیرندگان در حوزه IT نشان میدهد که از رشد سرمایهگذاری 9/1% در زمینه IT برخوردارند ولی 45% آنها نیاز به خرید ابزارهای BI را دریافتهاند و برای آن اقدام میکنند. چرا؟ دو دلیل عمده وجود دارد که چرا صنایع و سازمانها به BI علاقهمند شدهاند. اول عصر اطلاعات، دوم مسائل اقتصادی.
در عصر اطلاعات، کسی که اطلاعات دارد، دارای قدرت است. هر سازمان و شرکتی که از این قدرت برخوردار باشد در صنعت و حرفه خود در مقایسه با رقبای خود ممتاز میشود. سازمانها و شرکتها، امروزه با سرعت حرکت و تغییر میکنند. اخذ اطلاعات صحیح در زمان صحیح اساس و پایه این سازمانها است. دلیل دیگر استفاده از BI اقتصاد است. بقای سازمانها و شرکتها در توفان اقتصاد رقابتی امروز بر دو محدوده کاهش هزینهها و افزایش درآمدها متمرکز شده است.
در سازمانی که BI در آن بکار گرفته میشود، مدیران میتوانند اطلاعات هزینهها را از داخل سازمان استخراج نمایند و بدانند که هزینهها چه هستند و تصمیمهایی برای کاهش و حذف آنها بگیرند. تغییرات آینده را پیشبینی کنند و برای مسائل خود راهحلی مناسب داشته باشند. بمنظور افزایش درآمد، شرکتها باید علاوه بر افزایش فروش خود، مثلا مشتریان فعلی خود را حفظ کنند. اما باید بدانیم اغلب کدام مشتری سود بیشتری عاید میکند. معمولا 20% از مشتریان 80% سود شرکت را تامین میکنند. شرکتها باید ابتدا مشتریانی که سود بیشتری را عاید میسازند، حفظ نمایند. باید بدانید BI کاربرد بسیاری در این بخش نیز دارد. گام بعدی تجزیه و تحلیل رفتار بازار، فروش و مشتریان پرسودده هستند. این دانش به مدیران کمک میکند تا چگونه مشتریان خود را مدیریت نمایند. برای جلب نظر مشتریان ممکن است پارامترهای کانالهای هزینهای، فروش عمده به مشتریان و یا تغییر در حاشیه سود مدنظر قرار گیرد.
سرانجام، اینکه علاوه بر مشخصههای اطلاعاتی فوق سایر اطلاعات مدیریتی برای تصمیمگیری در سازمانها نیز وجود دارد که نیاز به تحلیل برای تصمیمگیری دارد، مثل اطلاعاتی در حوزه ماموریت اصلی سازمان و یا شرکت، اطلاعات منابع انسانی، اطلاعات تولید و ساخت، اطلاعات خدمات ارائه شده و ... تکنولوژی BI راهحلی برای بکارگیری این اطلاعات و ایجاد هوشمندی در مدیران میباشد که آگاهانه تصمیمگیری نمایند و تصمیم آنان مبنی بر واقعیات و درک آگاهانه آنان از تغییرات فعلی و آتی و استفاده از سوابق در سازمان باشد.
وظیفه اصلی سیستمهای پایگاه داده، پشتیبانی از تراکنشهای آنلاین و پردازش پرس و جو است. این سیستمها، سیستم پردازش تراکنش آنلاین (OLTP) نامیده میشوند و بیشتر عملیات روزمره یک سازمان را پوشش میدهند. از سوی دیگر انبار داده که به عنوان نوع خاصی از پایگاه های داده معرفی می شود به کاربران یا knowledge workers خدماتی در نقش تحلیلگر داده و تصمیم گیرنده ارائه میدهند. چنین سیستمهایی قادر هستند دادهها را در قالبهای گوناگون برای هماهنگی با نیازهای مختلف کاربران، سازماندهی کرده و ارائه دهند. این سیستمها با نام سیستمهای پردازش تحلیلی آنلاین نیز (OLAP) شناخته میشوند.
از لحاظ مدلهای دادهای؛ پایگاههای داده برای مدل OLTP بهینه سازی شده که بر اساس مدل داده رابطهای امکان پردازش تعداد زیادی تراکنش همروند، که اغلب حاوی رکوردهای اندکی هستند را دارد. اما در انبارهای داده که برای پردازش تحلیلی آنلاین طراحی شدهاند امکان پردازش تعداد کمی پرس و جو پیچیده بر روی تعداد بسیار زیادی رکورد داده فراهم میشود. سرورهای OLAP هم میتوانند رابطهای باشند ( ROLAP ) وهم میتوانند چندبعدی باشند (MOLAP ).
از لحاظ کاربران؛ کاربران پایگاه داده کارمندان دفتری و مسئولان می باشند در حالی که کاربران انبار داده مدیران و تصمیمگیرندهها هستند.
از لحاظ عملیات قابل اجرا بر روی آنها؛ عملیاتی که بر روی پایگاه دادها صورت میگیرد، عموماً شامل عملیات به هنگام سازی است در حالی که عمل خواندن از انبار، عمده عملیات قابل اجرا بر روی انبار داده را تشکیل میدهد.
از لحاظ مقدار دادهها؛ مقدار دادههای یک پایگاه داده در حدود چند مگابایت تا چند گیگابایت است در حالی که این مقدار در انبار داده در حدود چند گیگابایت تا چند ترابایت است.
داده کاوی دارای چندین الگوریتم است، از این الگوریتم ها هم به صورت جداگانه و هم به صورت ترکیبی میتوان استفاده نمود. بر همین اساس در حوزه های مختلف به راحتی میتوان از داده کاوی استفاده کرد. برخی از کاربردهای داده کاوی عبارتند از:
کاربردهای معمول تجاری: از قبیل تحلیل و مدیریت بازار، تحلیل سبد خرید کالا، بازاریابی هدف، فهم رفتار مشتری، تحلیل و مدیریت ریسک.
بانکداری :مدیریت و کشف فریب، کشف تراکنشهای مشکوک مالی (پولشویی)، تشخیص مشتریان ثابت و همیشگی. استفاده از دادهکاوی در زمینههای مالی و بانکداری به شناخت مشتریان پر خطر و سودجو بر اساس معیارهایی از جمله سن، درآمد، وضعیت سکونت، تحصیلات، شغل و غیره میانجامد.
متن کاوی (پالایش متن) : نامههای الکترونیکی، گروههای خبری و غیره.
پزشکی: کشف ارتباط علائم و بیماری، تحلیل آرایههای DNA. در زمینه پزشکی استفاده بیمارستانها و کارخانههای داروسازی جهت کشف الگوها و مدلهای ناشناخته تأثیر داروها بر بیماریهای مختلف و نیز بیماران گروههای سنی مختلف را میتوان نام برد.
ورزش: آمارهای ورزشی.
وب کاوی: پیشنهاد صفحات مرتبط، بهبود ماشینهای جستجوگر یا شخصی سازی حرکت در وب سایت.
بیمه: پیشبینی میزان استقبال از بیمه نامههای جدید، تشخیص کلاه برداریها و مشخص کردن رفتارهای نامناسب، تشخیص نیازها و خواستههای مشتریان.