هوش تجاری (Business Intelligence)

هوش تجاری (Business Intelligence)

به اشتراک بگذاریم برای یادگیری، یاد بگیریم برای به اشتراک گذاری
هوش تجاری (Business Intelligence)

هوش تجاری (Business Intelligence)

به اشتراک بگذاریم برای یادگیری، یاد بگیریم برای به اشتراک گذاری

استفاده از فرمت ساعت به عنوان Measure در Cube

فرض کنید بنا به نیاز سازمان باید اطلاعات مربوط به دوره‌های آموزشی و تعداد ساعات‌ سپری شده هر یک از پرسنل در کلاس‌های آمورشی را در داشبورد نمایش دهید. می‌دانیم که برای اینکار ابتدا باید جداول Fact و Dimension مربوطه را در انبار داده طراحی و سپس مدل OLAP و Cube مورد نظر را ایجاد کنیم. به نظر می‌رسد برای اینکار مشکل خاصی وجود نداشته باشد و به سادگی این کار انجام گیرد اما با کمی دقت متوجه می‌شوید که برای ایجاد معیار (Measure) با فرمت زمان (DateTime) با مشکل مواجه هستید چراکه MSBI به شما اجازه نمی‌دهد تا از نوع DateTime به عنوان Measure استفاده کنید.

برای حل این مشکل مراحل زیر را انجام دهید.

 

1-    ابتدا به جدول Fact خود فیلدی با نوع Float اضاقه نمایید.


 

2-      از کوئری زیر برای تبدیل اطلاعات فیلد CourseTime_TimeFormat به فرمت Float استفاده کنید.

 

  update [TimeMeasure].[dbo].[FactPersonnelCourse]

  set [CourseTime]=convert(float,CourseTime_TimeFormat)

 

3-      به SQL Server Business Intelligence Development Studio رفته و یک پروژه‌ی SSAS جدید با عنوان PersonnelCourse ایجاد کنید.

4-      همانطور که در شکل زیر مشاهده می‌کنید، در هنگام انتخاب Measure فیلد CourseTime_TimeFormat نمایش داده نمی‌شود زیرا نوع آن بعنوان معیار قابل قبول نمی‌باشد و فقط فیلد CourseTime که نوع اعشاری دارد نمایش داده می‌شود.



5-      پس از اتمام مراحل ساخت Cube پروژه را پردازش کنید و به صفحه‌ی Browser بروید.

6-      معیارها و ابعاد مورد نظر خود را به محل نمایش انتقال دهید. همانطور که در شکل زیر مشاهده می‌‌کنید اطلاعات به صورت اعشاری و همانطور که در Fact ذخیره شده است نمایش داده می‌شود.

 

7-      برای اینکه اطلاعات نمایش داده شده را به فرمت ساعت مشاهده کنید کافی است خصوصیت Format String معیار Course Time را به HH:MM تغییر دهید.

8-      پروژه را مجدد پردازش کنید. همانطور که مشاهده می‌کنید اطلاعات به فرمت ساعت نمایش داده می‌شود.

 

با تغییر ابعاد گزارش دلخواه خود را مشاهده کنید.



تعاریف پایه در SSAS- بخش اول

جدول حقایق (Fact)

این نوع جداول در انبار داده Fact یا جدول حقایق نامیده می‌شوند که مقادیر معیارها را شامل می‌شوند.  معمولا در جدول حقایق، مقادیر عددی از اطلاعات سازمان‌ها نظیر مقدار فروش و مبلغ فروش و همچنین کلید‌های خارجی (foreign key) برای برقرای ارتباط با ابعاد وجود دارد.

مکعب (Cube)

مکعب‌های داده‌ای هستند که اطلاعات را به صورت چند بُعدی در خود ذخیره می‌کنند.

معیار (Measure)

به هر یک از مقادیر عددی نظیر مبلغ فروش و مقدار فروش که در Fact وجود دارد Measure گفته می‌شود.

گروه معیار(Measures Group)

یک یا چند معیار، گروه معیار را تشکیل می‌دهند. در واقع هر جدول حقایقی که در SSAS مورد استفاده قرار می‌گیرد یک Measures Group  است.

ابعاد (Dimension)

اطلاعات تکمیلی و جزئیات جداول حقایق توسط ابعاد مشخص می‌شود. جداول ابعاد مجموعه‌ای از ویژگی‌های داده است. بعنوان مثال کد استان و نام استان درکنار هم می‌تواند بعد استان را تشکیل دهند.

ویژگی‌ها (Attribute)

هر جدول بُعد دارای یک یا چند ویژگی است. ویژگی‌ها جزئیات بشتر و بهتری از بُعد را فراهم می‌کنند. برای مثال کد استان و نام استان ویژگی‌های دایمنشن استان را مشخص می‌کند.

عضوها (Members)

عدد "100" عضوی از ویژگیِ کد استان و "تهران" عضوی از ویژگی نام استان است.

سلسله مراتب‌ها (Hierarchies)

در صورتی که ویژگی‌های یک دایمنشن را به طوری مرتب کنید که بتوان به صورت معنادار در سطوح مختلف حرکت نمود، سلسله مراتب ایجاد کرده‌اید. بعنوان مثال سال، فصل، ماه، هفته و روز، یک سلسله مراتب از ویژگی‌های بعد زمان است.

عضو محاسباتی(Calculated Member)

شامل عضوهای جداول ابعاد و یا گروه معیارها است که با استفاده از عبارات محاسباتی بصورت داینامیک اجرا و محاسبه می‌شود. هر عضو محاسباتی ایجاد شده فقط در Cube ذخیره می‌شود. بعنوان مثال می‌توان یک عضو محاسباتی ایجاد کرد که محتوای دو معیار را با یکدیگر جمع نماید.

شاخص‌های ارزیابی عملکرد (KPI)

در واقع معیارهای قابل سنجشی هستند که به صورت نمودارهای عقربه‌ای (Gage) نمایش داده می‌شوند. اطلاعات مورد نیاز برای نمایش در گیج، طبق فرمولی از پیش مشخص می‌شود.

Actionها

در واقع Action عملی است که قصد داریم در زمان نیاز انجام شود. به عبارت دیگر Action رویدادی از پیش نوشته شده است که مشخص است در زمان وقوع چه عملی را باید انجام دهد. این عمل باعث  هوشمندتر شدن Cubeها می‌شود. بعنوان مثال فرض کنید کاربر می‌خواهد با کلیک بر روی نام هر شهر نقشه‌ی آن نمایش داده شود؛ برای حل این مسئله می‌توان یک Action ایجاد کرد که پس از انتخاب هر شهر نقشه‌ی آن توسط  google mapsنمایش داده شود.