در ادامه مقاله قبل تحت عنوان «طراحی OLAP Cube» (www.keysun-co.com  شرکت هوش تجاری کیسان) که در آن به بررسی ویژگی ها (Attributes) و سلسله مراتب پرداختیم در این مقاله قصد دارم به بررسی دقیقتر انواع سلسله مراتب و نحوه طراحی آنها بپردازیم.

سلسله مراتب ها در Data Analysis

در مقاله قبل با مرتب کردن ویژگی های مرتبط در سطوح مختلف سلسله مراتبی را به وجود آوردیم. سلسله مراتب محصولات و مدل فقط دارای دو سطح می باشد، اما سلسله مراتب می تواند دارای سطوح بیشتری باشد. برای مثال، می توانید با استفاده از ویژگی ماه به عنوان پایین ترین سطح و سپس اضافه کردن سطوح دیگر شامل اعضای ویژگی های Quarter و سال سلسله مراتبی با سطوح بیشتر برای زمان ایجاد کنید. سپس می توانید سطح دیگری را در بالاترین سطح سلسله مراتب با نام All Level ایجاد کنید. این سطح شامل تنها یک عضو (All Dates) می باشد که مجموع تمامی اعضای سطح سال می باشد.

تصویر زیر بعضی از اعضای سلسله مراتب زمان را که در چهار سطح All، Year، Quarter و Month طراحی شده است مشاهده می کنید.

Figure 1-1 Date hierarchy

می توانید اعضای یک سلسله مراتب را به عنوان اعضای یک رابطه والد و فرزندی در نظر بگیرید. یک عضو در یک سطح والد اعضای مرتبط به آن در سطح پایینی می باشد، و یک عضو در یک سطح برای اعضای مرتبط به آن در سطح بالاتر، فرزند می باشد. سلسله مراتب زمان یک سلسله مراتب طبیعی است. در یک سلسله مراتب طبیعی، هر عضو فرزند تنها یک والد دارند. برای مثال شکل ۱-۱ نشان می دهد که  ۲۰۱۱ والد Qtr 1 2011 و Qtr 2 2011 می باشد، و Feb 2011 والد Qtr 1 2011 است. سلسله مراتب سایز به وسیله رنگ یک سلسله مراتب طبیعی نیست. برای مثال عضو ۴۰ در سطح سایز دارای دو والد می باشد: عضو های Black  و Silver در سطح رنگ.

همچنین شکل ۱-۱ نشان می دهد که یک سلسله مراتب می تواند شاخه های زیادی داشته باشد. هنگامی که شما به انتهای شاخه یک درخت بروید به برگ می رسید. در انتهای شاخه های سلسله مراتب می توانید به برگ ها (Leaf member ) برسید. یک سلسله مراتب ممکن است All member نداشته باشد، اما هر سلسله مراتب باید حتما Leaf member داشته باشد.

می توانید هر ویژگی (Attribute) را در یک سلسله مراتب قرار دهید که تنها دارای دو سطح می باشد، استفاده از ویژگی به عنوان سطح برگ و سپس اضافه کردن یک سطح All .

برخی سلسله مراتب ها از قبیل سلسله مراتب زمان دارای تعادل است . مطابق شکل ۱-۱ مهم نیست کدام مسیر را در طول شاخه ها دنبال میکنید، می توانید یک عضو در هر سطح پیدا کنید، و هر مسیر دارای تعداد مشابهی سطح می باشد. در یک سلسله مراتب متعادل به راحتی میتوانید برای سطوح اسم تعیین کنید.

برخی سلسله مراتب ها غیر متعادل هستند. یک چارت سازمانی اغلب نامتعادل می باشد. برای مثال، تعداد زیادی از شرکت ها ممکن است تعداد زیادی کارمند داشته باشند و به همین ترتیب تعداد زیادی سطوح مدیریتی. ساختارهای تفکیک کار و چارت های حسابدار ی مثال های دیگری از سلسله مراتب های نامتعادل می باشند. در یک سلسله مراتب نامتعادل، اغلب دادن نامی خاص به هر سطح کار دشواری است، اما عناصر برگ همیشه عناصری هستند که فرزندی در ادامه خود ندارند. شکل ۱-۲ یک سلسله مراتب نامتعادل را نشان میدهد، مهم نیست کدام مسیر را در طول شاخه ها دنبال کنید میتوانید یک عضو در هر سطح پیدا کنید. برخی مسیرها، ممکن است دارای تعداد سطوح بیشتری نسبت به سایر مسیر ها باشند، به عبارت دیگر، اعضای برگ ممکن است متعلق به سطوح متفاوتی باشند.

Figure -1-2 Organization Chart

در برخی سلسله مراتب ها تشخیص متعادل یا نا متعادل بودن سلسله مراتب کار دشواری است. برای مثال، در سلسله مراتب مناطق جغرافیایی، ممکن است شما بتوانید به راحتی برای سطوح اسمی خاص انتخاب کنید _ All، Country، State/Province و City_ اما برخی کشورها ممکن است State  یا Province نداشته باشند. این نوع سلسله مراتب ها را سلسله مراتب های Ragged یا ناهموار  می گویند. شگل ۱-۳ نشان می دهد که مهم نیست کدام مسیر را دنبال کنی، هر مسیری تعداد سطوح یکسانی دارد. برخی مسیرها ممکن است هیچ عضوی در در هر سطح نداشته باشند. در یک سلسله مراتب ناهموار، اعضای برگ همیشه به یک سطح تعلق دارند.

Figure 1-3 Ragged hierarchy

  سلسله مراتب ها از مرتب کردن ویژگی های مرتبط به یکدیگر بوجود می آیند. یک سلسله مراتب ممکن است دارای دو سطح یا شامل تعداد سطوح بیشتری باشد. یک سلسله مراتب دارای یک سطح پایینی به نام سطح برگ ، سپس چندین سطح متوسط و یک سطح نهایی می باشد. در بیشتر سلسله مراتب ها، بلاترین سطح، سطح All می باشد که شامل تنها یک عضو All می باشد. ممکن است فکر کنید اعضای یک سلسله مراتب دارای ارتباط والد و فرزندی می باشند. اگر یک عضو فرزند تنها یک والد داشته باشد در این صورت سلسله مراتب از نوع طبیعی می باشد. در صورتی که یک سلسله مراتب متعادل باشد، هر مسیر در سلسله مراتب دارای تعداد مشابه سطوح و هر سطح دارای یک عضو میباشد. در یک سلسله مراتب نامتعادل، مسیرهای متفاوت در سلسله مراتب ممکن است تعداد متفاوتی سطح داشته باشند، و در یک سلسله مراتب ناهموار، هر مسیر دارای تعداد یکسان سطح می باشد، اما همه سطوح دارای عضو نمی باشند.

در مقاله بعد تحت عنوان « ابعاد در Data Analysis » (شرکت هوش تجاری کیسان    www.keysun-co.com ) به بررسی ابعاد در Data Analysis می پردازیم.

 

پاسخ دهید