فرض کنید بنا به نیاز سازمان باید اطلاعات مربوط به دورههای آموزشی و تعداد ساعات سپری شده هر یک از پرسنل در کلاسهای آمورشی را در داشبورد نمایش دهید. میدانیم که برای اینکار ابتدا باید جداول 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- پروژه را مجدد پردازش کنید. همانطور که مشاهده میکنید اطلاعات به فرمت ساعت نمایش داده میشود.
با تغییر ابعاد گزارش دلخواه خود را مشاهده کنید.