در ادامه مقاله قبل تحت عنوان طراحی OLAP Cube که در آن به بررسی ویژگیها (Attributes) و سلسله مراتب پرداختیم در این مقاله قصد دارم به بررسی دقیقتر انواع سلسله مراتب و نحوه طراحی آنها بپردازیم.
انواع سلسله مراتب ها در Data Analysis
در مقاله قبل با مرتب کردن ویژگیهای مرتبط در سطوح مختلف سلسله مراتبی را به وجود آوردیم. سلسله مراتب محصولات و مدل فقط دارای دو سطح میباشد، اما در انواع سلسله مراتب میتواند دارای سطوح بیشتری باشد. برای مثال، میتوانید با استفاده از ویژگی ماه به عنوان پایینترین سطح و سپس اضافه کردن سطوح دیگر شامل اعضای ویژگیهای Quarter و سال سلسله مراتبی با سطوح بیشتر برای زمان ایجاد کنید.
سپس میتوانید سطح دیگری را در بالاترین سطح سلسله مراتب با نام All Level ایجاد کنید. این سطح شامل تنها یک عضو (All Dates) میباشد که مجموع تمامی اعضای سطح سال میباشد.
تصویر زیر بعضی از اعضای سلسله مراتب زمان را که در چهار سطح All، Year، Quarter و Month طراحی شده است مشاهده میکنید.
Figure 1-1 Date hierarchy
میتوانید اعضای یک سلسله مراتب را به عنوان اعضای یک رابطه والد و فرزندی در نظر بگیرید.
یک عضو در یک سطح والد اعضای مرتبط به آن در سطح پایینی میباشد، و یک عضو در یک سطح برای اعضای مرتبط به آن در سطح بالاتر، فرزند میباشد. سلسله مراتب زمان یک سلسله مراتب طبیعی است. در یک سلسله مراتب طبیعی، هر عضو فرزند تنها یک والد دارند. برای مثال شکل 1-1 نشان میدهد که 2011 والد Qtr 1 2011 و Qtr 2 2011 میباشد، و Feb 2011 والد Qtr 1 2011 است. سلسله مراتب سایز به وسیله رنگ یک سلسله مراتب طبیعی نیست. برای مثال عضو 40 در سطح سایز دارای دو والد میباشد: عضوهای Black و Silver در سطح رنگ.
همچنین شکل 1-1 نشان میدهد که یک سلسله مراتب میتواند شاخههای زیادی داشته باشد. هنگامی که شما به انتهای شاخه یک درخت بروید به برگ میرسید. در انتهای شاخههای سلسله مراتب میتوانید به برگها (Leaf member) برسید. یک سلسله مراتب ممکن است All member نداشته باشد، اما هر سلسله مراتب باید حتما Leaf member داشته باشد.
میتوانید هر ویژگی (Attribute) را در یک سلسله مراتب قرار دهید که تنها دارای دو سطح میباشد، استفاده از ویژگی به عنوان سطح برگ و سپس اضافه کردن یک سطح All.
برخی سلسله مراتبها از قبیل سلسله مراتب زمان دارای تعادل است.
مطابق شکل 1-1 مهم نیست کدام مسیر را در طول شاخهها دنبال میکنید، میتوانید یک عضو در هر سطح پیدا کنید، و هر مسیر دارای تعداد مشابهی سطح میباشد. در یک سلسله مراتب متعادل به راحتی میتوانید برای سطوح اسم تعیین کنید.
برخی سلسله مراتبها غیر متعادل هستند. یک چارت سازمانی اغلب نامتعادل میباشد. برای مثال، تعداد زیادی از شرکتها ممکن است تعداد زیادی کارمند داشته باشند و به همین ترتیب تعداد زیادی سطوح مدیریتی. ساختارهای تفکیک کار و چارتهای حسابدار ی مثالهای دیگری از سلسله مراتبهای نامتعادل میباشند. در یک سلسله مراتب نامتعادل، اغلب دادن نامی خاص به هر سطح کار دشواری است، اما عناصر برگ همیشه عناصری هستند که فرزندی در ادامه خود ندارند.
شکل 1-2 یک سلسله مراتب نامتعادل را نشان میدهد، مهم نیست کدام مسیر را در طول شاخهها دنبال کنید میتوانید یک عضو در هر سطح پیدا کنید. برخی مسیرها، ممکن است دارای تعداد سطوح بیشتری نسبت به سایر مسیرها باشند، به عبارت دیگر، اعضای برگ ممکن است متعلق به سطوح متفاوتی باشند.
Figure -1-2 Organization Chart
در برخی سلسله مراتب ها تشخیص متعادل یا نا متعادل بودن سلسله مراتب کار دشواری است.
برای مثال، در سلسله مراتب مناطق جغرافیایی، ممکن است شما بتوانید به راحتی برای سطوح اسمی خاص انتخاب کنید. All، Country، State/Province و City_ اما برخی کشورها ممکن است State یا Province نداشته باشند. این نوع سلسله مراتبها را سلسله مراتبهای Ragged یا ناهموار میگویند.
شگل 1-3 نشان میدهد که مهم نیست کدام مسیر را دنبال کنید، هر مسیری تعداد سطوح یکسانی دارد. برخی مسیرها ممکن است هیچ عضوی در هر سطح نداشته باشند. در یک سلسله مراتب ناهموار، اعضای برگ همیشه به یک سطح تعلق دارند.
Figure 1-3 Ragged hierarchy
سلسله مراتبها از مرتب کردن ویژگیهای مرتبط به یکدیگر بوجود میآیند. یک سلسله مراتب ممکن است دارای دو سطح یا شامل تعداد سطوح بیشتری باشد. یک سلسله مراتب دارای یک سطح پایینی به نام سطح برگ، سپس چندین سطح متوسط و یک سطح نهایی میباشد. در بیشتر سلسله مراتبها، بلاترین سطح، سطح All میباشد که شامل تنها یک عضو All میباشد. ممکن است فکر کنید اعضای یک سلسله مراتب دارای ارتباط والد و فرزندی میباشند.
اگر یک عضو فرزند تنها یک والد داشته باشد در این صورت سلسله مراتب از نوع طبیعی میباشد. در صورتی که یک سلسله مراتب متعادل باشد، هر مسیر در سلسله مراتب دارای تعداد مشابه سطوح و هر سطح دارای یک عضو میباشد. در یک سلسله مراتب نامتعادل، مسیرهای متفاوت در سلسله مراتب ممکن است تعداد متفاوتی سطح داشته باشند، و در یک سلسله مراتب ناهموار، هر مسیر دارای تعداد یکسان سطح میباشد، اما همه سطوح دارای عضو نمیباشند.
بدون دیدگاه