فیلدهای محاسباتی و KPI ها تقریبا بدون اینکه با چیزی مقایسه شوند، بی معنی می شوند.
در واقع "بعد" (Dimension) می تواند اطلاعاتمان را به قسمت های معنی دار تقسیم کند و دید بهتری از کسب و کارمان را به ما بدهد تا بتوانیم تصمیمات بهتری بگیریم.به عبارت خیلی (Data set) استفاده می شود.هر دادگانی می تواند بعد های مختلف داشته باشد.برای نمونه دادگان مربوط به فروش اینترنتی را در نظر می گیریم که می تواند به ابعاد مختلفی نظیر مشتری،منطقه جغرافیایی،موقعیت جغرافیایی،محصول،تاریخ و یا چیز های دیگر تقسیم شود(شکل 1).
شکل1
علاوه بر اینکه هر دادگانی می تواند چند " بعد" داشته باشد، هر "بعد" نیز می تواند متعلق به چندین دادگان باشد.فرض کنید مدل ما دادگانی نظیر فروش فصلی پرسنل(شکل 2-الف) و واحد پشتیبانی (شکل 2-ب)را شامل میشود، هر دوی این دادگان می توانند به بعد تاریخ متصل گردند.
شکل 2-الف
شکل 2-ب
حال که با مفهوم بعد آشنا شدیم با هم یک بعد ایجاد می کنیم.البته قبلا با توجه به مقاله مدلسازی و اتصال به پایگاه داده، مدل مورد نظر را ساخته و به پایگاه داده مربوطه وصل کرده ایم.
مراحل ایجاد بعد عبارتست از:
- 1. نام گذاری
- 2. نوشتن دستورات فراخوانی اطلاعات از پایگاه داده
- 3. مشخص کردن Attributes
- 4. سلسله مراتب
نام گذاری
با ذکر یک مثال درک ملموس تری از مطالب را ارائه می دهیم:
فرض کنید می خواهیم برای دادگان مربوط به فروش فصلی که در مقاله دادگان توضیخ داده شده است "بعد" تاریخ را ایجاد نماییم.در قسمت New+ Dimensions در پنجره General برای بعد مورد نظر داریم : (شکل 3)
نام سیستمی که باید انگلیسی و بدون فاصله باشد :Dimension Name
نام نمایشی که باید فارسی باشد : Display Name
شکل3
نوشتن دستورات فراخوانی اطلاعات از پایگاه داده
سپس برای بعدی که تعریف کرده ایم باید بگوییم که متعلق به کدام پایگاه داده است (شکل 4) که در این مثال پایگاه داده ما AdventureWorksDWPersian و همچنین برای فیلدهایی که از پایگاه داده نیاز داریم باید Query مربوط به فراخوانی آن ها را بنویسیم:
" SELECT DateKey, AlternateDate, PersianDate, DayOfWeekNumber, DayOfWeekName, DayOfMonthNumber, MonthOfYear, MonthOfYearName, MonthKey, MonthName,
QuarterOfyearNumber, QuarterOfYearName, QuarterKey, QuarterName, Year
FROM DimDatePersian "
و در نهایت با اجرای Show Preview Data فیلدهای نوشته شده هم نمایش داده می شوند و هم در قسمت Attributes اضافه می گردند.(شکل 5).
شکل4
شکل5
مشخص کردن Attributes
در ادامه Attributes را مشخص میکنیم. Attributes در واقع اجزای تشکیل دهنده بعد هستند، در واقع مجوعه موارد و خصوصیاتی که به شرح بیشتر و دقیق تر یک بعد می پردازند. برای مثال بعد تاریخ از سال،فصل،ماه، روز تشکیل شده است.پس سال،فصل،ماه و روز Attribute های بعد تاریخ هستند که از پایگاه داده نیز فراخوانی شده اند. برای هر Attributes باید موارد زیر را مشخص کنیم:) شکل 6)
نامی که در سیستم ذخیره می شود : Name
نامی که برای Attribute مورد نظر نمایش داده میشود : Display Name
مقداری که کاربر مشاهده میکند : Display Column
مقداری که سیستم در نظر میگیرد : Value Column
فیلدهایی که می توان مرتب کرد : Sort by value
شکل6
Sort by value : این قسمت مشخص می کنیم که نمودار های ما بر اساس چه فیلد یا فیلدهایی بتوانند عمل مرتب سازی را انجام دهند.
برای درک بهتر از مفاهیم
Display Columnو Value Column مثالی بیان می کنیم: در Attribute ماه، Display Name ماهها (فروردین،اردیبهشت،خردادو...) هست و
Value Column 1،2،3،....12 می باشد. اعمالی مانند فیلتر کردن و مرتب کردن و ... بر اساس Column انجام می گیرد.
همانطور که گفتیم یکی از دلایل ایجاد بعد مرتب کردن فیلدهاست، در قسمت Sort by value می توانیم مخص کنیم که کدام Attributes مرتب سازی شرکت کنند.(شکل 7)
سلسله مراتب Hierarchy
بعضی از بعد ها داری Attribute های سلسله مراتبی هستند یعنی یکی از مجموع دیگری یا دیگری ها ایجاد میگرد و ترتیب قرار گیری Attribute ها اهمیت دارد.مثلا بعد تاریخ که شامل Attribute های سال، فصل، ماه و روز می باشد در سر برگ Advance می توانیم به این صورت عمل میکنیم:
روز Key Attribute:
از بالا به پایین سال / فصل / ماه / روز Hierarchy:
با دابل کلیک می توانیم موردی را اضافه یا حذف کنیم(شکل 7).
از سلسله مراتب برای Drill Down و Drill Up استفاده میکنیم که در مقاله مربوط به خود توضیح داده خواهد شد.
لازم به ذکر است که هر بعدی الزاما سلسله مراتب ندارد، بعدهایی نظیر زمان، مکان ، ساختار سازمان ها از نوع سلسله مراتبی هستند.
شکل7
برای درک بهتر روند کار بعد محصول را نیز با هم بررسی می نماییم.
هر محصول دارای نام و گروه و زیر مجموعه هایی و مشخصات ظاهری اعم از استایل و رنگ و سایز و مدل می باشد.تمامی این موارد به عنوان Attribute بعد محصول شناخته می شوند.
برای این بعد نیز ابتدا نام سیستمی و سپس نام نمایشی انتخاب می نماییم(شکل 8).
شکل8
مرحله بعد نوشتن Query می باشد، و تمام فیلدهای مورد نیاز از پایگاه داده فراخوانی می گردد و پایگاه داده که AdventureWorksDWPersian است تعیین می شود(شکل 9).
" SELECT DimProductCategory.ProductCategoryKey, DimProductCategory.EnglishProductCategoryName, DimProductCategory.PersianProductCategoryName,
DimProductSubcategory.ProductSubcategoryKey, DimProductSubcategory.EnglishProductSubcategoryName,
DimProductSubcategory.PersianProductSubcategoryName, DimProduct.ProductKey ProductId, DimProduct.EnglishProductName, DimProduct.PersianProductName,
DimProduct.Color, DimProduct.ColorPersian, DimProduct.Size, DimProduct.Class, DimProduct.ClassPersian, DimProduct.Style, DimProduct.ModelName,
DimProduct.ModelNamePersian
FROM DimProductCategory RIGHT OUTER JOIN
DimProductSubcategory ON DimProductCategory.ProductCategoryKey = DimProductSubcategory.ProductCategoryKey RIGHT OUTER JOIN
DimProduct ON DimProductSubcategory.ProductSubcategoryKey = DimProduct.ProductSubcategoryKey "
شکل9
با کلیک بر روی Show Preview Data علاوه بر نمایش فیلدها مقادیر آن ها ، به بخش Attribute اضافه می گردند.
نوبت به تعریف و تنظیم Attributes رسیده ، که همانطور که پیش تر گفتیم تمامی جزییاتی که محصول را ایجاد می کنند به عنوان Attribute تعریف می شوند(شکل 10و11).
شکل10
شکل11
مراحل قبل را با هم مرور می کنیم که Name همان نامی است که در سیستم برای فیلد ثبت می شود. و Display Name نامی است که Attribute با این نمایش داده میشود یعنی زمانی که بخواهیم اطلاعاتمان را به صورت گراف مشاهده کنیم ، گروه محصول و زیر گرئه محصول برای ما نمایش داده می شود. Display Column که آن چیزی است که کاربر از جزییات محصول مشاهده میکند و کدهای این جزییات در Value Column میگیرد. برای نمونه اسم گروه محصول را کاربر میبیند (PersianProductCategoryName) کد گروه محصول (ProductCategoryKey) را کاربر نمیبیند و در سیستم نگه داشته می شود.
اگر می خواهیم که زمانی که نمودار رسم می شود بتوانیم بر اساس گروه محصول عمل مرتب سازی را انجام دهیم در قسمت Sort by Value محصول را علامت میزنیم.
از آنجایی که هر گروه محصول، دارای زیر گروه هایی هست ، پس باید برای آن سلسله مراتب تعریف کنیم (شکل12) .
شکل12
برای اتمام کار ایجاد بعد Save Model را کلیک می کنیم تا تمام تغییرات ذخیره گردند.
شکل13
آنچه مقاله بعد می خوانید >> تعریف و ایجاد دادگان