ساخت یک مدل داده رابطهای چندوجهی Multi-fact Relationship Data Model
تحلیل اغلب شامل گردآوری جداولی از دادهها است که ارتباط مستقیمی با یکدیگر ندارند، اما هر دو به اطلاعات مشترکی مانند تاریخ یا مکان مربوط میشوند. این نوع تحلیل گاهی اوقات به عنوان تحلیل چند واقعیتی با ابعاد مشترک شناخته میشود.
برای انجام این نوع تحلیل در Tableau، باید یک منبع داده ایجاد کنید که از چندین جدول پایه متصل به جداول مشترک استفاده کند.
- جداول پایه، جداول سمت چپ در مدل داده در تب منبع داده هستند.
- جداول مشترک، جداول پاییندستی با چندین رابطه ورودی هستند. این جداول حاوی فیلدهایی هستند که میتوانند برای اتصال فیلدهای نامرتبط در طول تجزیه و تحلیل در یک جدول خاص استفاده شوند. تاریخ و مکان نمونههایی از جداول مشترک رایج هستند.
ساخت مدل
ساخت یک مدل داده رابطهای چندوجهی اساساً مشابه ایجاد هر منبع داده دیگری است که از روابط استفاده میکند، اما با دو بخش اضافی: جداول پایه اضافی و چندین رابطه ورودی به جداول مشترک.
- به دادههای خود متصل شوید. اگر جداول شما همه در یک پایگاه داده نیستند، میتوانید از چندین اتصال داده استفاده کنید.
- برای ایجاد اولین جدول پایه، یک جدول را روی بوم بکشید.
- یک جدول دیگر را از پنل سمت چپ به قسمت رها کردن جدول پایه جدید بکشید.
Tableau هشداری مبنی بر ساخت یک مدل داده با چندین جدول پایه نشان میدهد. توصیه میکنیم فقط در صورتی که دادههای شما به یک مدل جدول پایه چندگانه نیاز دارند، آن را تنظیم کنید. در غیر این صورت، از یک مدل جدول پایه واحد استفاده کنید تا از پیچیدگیهای ناشی از یک مدل جدول پایه چندگانه جلوگیری شود.
- فیلد دیگری را به بوم بکشید و آن را به یکی از جداول پایه مرتبط کنید. در صورت لزوم، هر رابطه را پیکربندی کنید.
- برای نمایش علامت بعلاوه (که با نام “meatball” شناخته میشود)، نشانگر ماوس را روی جدول پایهای که هنوز به آن مرتبط نشده است، نگه دارید.
- برای ایجاد یک رابطه ورودی جدید (که به عنوان “noodle” نیز شناخته میشود)، نماد علامت جمع را به جدول مشترک بکشید.
اختیاری: به افزودن جداول پاییندستی و جداول پایه ادامه دهید. در صورت نیاز، روی نماد علامت مثبت کلیک کرده و بکشید تا جداول مشترک ایجاد شوند.
توجه: به جای شروع با جداول پایه، میتوانید ابتدا یک مدل جدول پایه واحد نیز بسازید و بعداً جداول پایه اضافی اضافه کنید.
مدل را بررسی کنید
یک مدل داده با چندین جدول پایه با روابط ساخته میشود، اما همه جداول به یک اندازه با یکدیگر مرتبط نیستند. هر جدول پایه یک درخت را تعریف میکند که شامل هر جدول مرتبط با آن جدول پایه، چه مستقیماً مرتبط باشد و چه از یک جدول مرتبط در پاییندستی آن باشد. جداول مشترک در چندین درخت وجود دارند.
هنگامی که مدلی با چندین جدول پایه را مشاهده میکنید، گزینههای مختلفی برای بررسی و مدیریت مدل داده وجود دارد. این گزینهها به ویژه زمانی مفید هستند که یک مدل داده پیچیده باشد.
نمونهای از یک مدل داده پیچیده با چهار جدول پایه، چندین جدول مشترک و جداول پاییندستی که هم بین جداول پایه مشترک و هم غیرمشترک هستند.
نسخه 2024.2 جزئیات طرحبندی جدیدی را برای مدل داده معرفی کرد. در یک مدل داده رابطهای چندوجهی، روابط با هم ترکیب میشوند تا به ردیابی تعداد روابط ورودی یک جدول کمک کنند و جداول مشترک (و جداول مشترک پاییندستی) طرح کلی پررنگتری نسبت به جداولی دارند که مشترک نیستند.
اصطلاحات
جداول در یک مدل داده جدول پایه چندگانه نقشهای خاصی دارند. جداول پایه و جداول مشترک تنها جداولی هستند که باید در یک مدل داده رابطه چند واقعیتی وجود داشته باشند. (بدون بیش از یک جدول پایه، این یک مدل داده رابطه چند واقعیتی نیست. بدون یک جدول مشترک که جداول پایه را به هم متصل میکند، این یک مدل داده معتبر نیست.)
به دلیل ماهیت اغلب پیچیده این مدلها، داشتن یک اصطلاحات مشترک برای بحث در مورد انواع دیگر جداول بر اساس نحوه قرارگیری آنها در مدل داده مفید است.
- جداول پایه در سمت چپ قرار دارند و هیچ رابطه ورودی ندارند.
- در مثال، موجودی، بازاریابی، فروش و پشتیبانی جداول پایه هستند.
- جداول زیرپایه بین یک جدول پایه و یک جدول مشترک قرار دارند.
- در مثال، قطعات یک جدول زیرپایه است.
- جداول مشترک بیش از یک رابطه ورودی دارند.
- در مثال، محصولات، تاریخها، مشتری و تأمینکننده جداول مشترک هستند.
- جداول مشترک پاییندستی دقیقاً یک رابطه ورودی دارند و یک جدول مشترک در جایی بالاتر از آنها وجود دارد.
- در مثال، زیررده و رده جداول مشترک پاییندستی هستند.
- جداول غیرمشترک پاییندستی دقیقاً یک رابطه ورودی دارند و هیچ جدول مشترکی در بالادست خود ندارند.
- در مثال، هیچ جدول غیرمشترک پاییندستی وجود ندارد.
انواع جداول را در منبع داده مثال شناسایی کنید
- جداول پایه (Base tables): موجودی، بازاریابی، فروش و پشتیبانی
- جدول زیرپایه (Sub-base table): قطعات
- جداول مشترک (Shared tables): محصولات، تاریخها، مشتری و تأمینکننده
- جداول مشترک پاییندستی (Downstream shared tables): زیررده و رده
- جداول غیرمشترک پاییندستی (Downstream unshared tables): هیچکدام
شناسایی درخت روابط
برای برجسته کردن جداول مرتبط با یک جدول، نشانگر ماوس را روی آن نگه دارید. Tableau درخت مربوط به آن جدول را برجسته کرده و جداول غیرمرتبط را کمرنگ میکند.
درخت جدول پایه بازاریابی شامل دو جدول مشترک، تاریخها و محصولات، و جداول مشترک پاییندستی، زیررده و رده است.
مشاهده جزئیات رابطه
برای مشاهده جزئیات در یک راهنما، موس را روی یک رابطه یا مجموعهای از روابط نگه دارید.
روابط ورودی به جدول محصولات شامل سه رابطه جداگانه با جداول پایه موجودی، بازاریابی و فروش است.
انتخاب یک رابطه
وقتی یک رابطه انتخاب میشود، در بوم مدل داده با رنگ آبی برجسته میشود و جزئیات آن در پنجره جزئیات جدول در زیر بوم مدل داده ظاهر میشود. پنجره جزئیات جدول جایی است که میتوانید بند رابطه را بررسی یا اصلاح کنید.
روشهای مختلفی برای انتخاب یک رابطه وجود دارد:
- روی یک خط رابطه (رشته) در بوم کلیک کنید. هر رابطه یک ناحیه قابل کلیک دارد که فقط آن رشته را انتخاب میکند.
- روی یک جدول در بوم کلیک راست کنید یا با نگه داشتن کلید کنترل، کلیک کنید تا منوی آن باز شود. گزینه «انتخاب رابطه» را انتخاب کنید و رابطه مورد نظر خود را از بین جدولها انتخاب کنید.
- روی یک دسته از روابط در بوم کلیک کنید تا یک راهنمای ابزار دائمی ظاهر شود (با نگه داشتن ماوس روی یک دسته، راهنمای ابزار ظاهر میشود و برای ماندگاری آن باید کلیک کنید). سپس یک ردیف را در جزئیات راهنمای ابزار انتخاب کنید تا آن رابطه در مدل برجسته شود.
- منو را در نوار ابزار پنل جزئیات جدول باز کنید و رابطه مورد نظر را انتخاب کنید. همچنین میتوانید از این منو برای انتخاب یک جدول خاص استفاده کنید تا پیشنمایش آن را در پنل مشاهده کنید.
تعویض با جدول پایه
جداول میانی در رابطه بین یک جدول پایه و جداول مشترک، به شما این امکان را میدهند که جدول پاییندستی را با جدول پایه تعویض کنید. این صرفاً یک تغییر بصری برای کمک به درک مفهومی است و ساختار مدل داده را تغییر نمیدهد.
روی یک جدول پاییندستی کلیک راست یا کنترل-کلیک کنید و گزینه تعویض با جدول پایه (نام جدول) را انتخاب کنید. گزینه تعویض نیز فقط در جدول پاییندستی وجود دارد و نه در جدول پایه.
گزینه تعویض برای جداولی که در صورت تعویض، مدل داده را تغییر میدهند، مانند جداول مشترک یا جداول مشترک پاییندستی، در دسترس نیست. فقط جداول غیرمشترک پاییندستی یا جداول زیرپایه را میتوان با جداول پایه تعویض کرد.
مثال
در این مثال، جداول Parlor Info و Ice Cream Sales را میتوان بدون تغییر ساختار اساسی مدل داده تعویض کرد. هیچ جدول دیگری را نمیتوان تعویض کرد.
- فروش بستنی هم به جدول اطلاعات سالن و هم به جدول تاریخ مشترک مربوط است.
- اطلاعات سالن هم به جدول فروش بستنی و هم به جدول مکان مشترک مربوط است.
- آب و هوا هم به جداول تاریخ و هم به جدول مکان مشترک مربوط است.
این دو مدل از نظر مفهومی معادل هستند:
جمع کردن یک جدول پایه
همچنین میتوانید یک مسیر رابطه یا درخت را فقط به جدول پایه آن جمع کنید تا نمای مدل داده به طور موقت ساده شود.
برای جمع کردن یا گسترش کل درخت، روی یک جدول پایه روی دکمههای جمع کردن یا گسترش کلیک کنید. به عنوان یک روش جایگزین، میتوانید روی یک جدول پاییندست کلیک راست یا کنترل-کلیک کنید و Collapse this path یا Collapse other paths را انتخاب کنید. این گزینه در جداول مشترک یا جداول پاییندست جداول مشترک در دسترس نیست.
جمع کردن یک درخت به جدول پایه آن کاملاً بصری است و هشدار Unrelated Tables را فعال نمیکند. یک مسیر جمع شده توسط یک جدول پایه با یک جدول انباشته و یک دکمه Expand نشان داده میشود. Collapse بر تمام جداول و روابطی که فقط به آن درخت مربوط هستند تأثیر میگذارد، بنابراین جداولی که با یک مسیر جمع نشده به اشتراک گذاشته شدهاند پنهان نمیشوند.
از دکمه Expand برای باز کردن مجدد جدول پایه و همه چیز در درخت استفاده کنید.
عیبیابی
ایجاد یک منبع داده واحد
تمام جداول باید به نحوی به کل منبع داده مرتبط باشند. اگر جداولی وجود داشته باشند که به مدل داده کلی مرتبط نباشند، یک هشدار ظاهر میشود. این هشدار تا زمانی که هیچ جدول یا درختی کاملاً از بقیه مدل داده جدا نشود، باقی میماند. وقتی هشدار فعال است، منبع داده قابل انتشار نیست و نمیتوانید از منبع داده در یک تحلیل استفاده کنید.
میتوانید هشدار را باز کنید و جداول نامرتبط بصری را برای شناسایی اینکه کدام جداول باعث ایجاد هشدار شدهاند، تنظیم کنید. این گزینه زمانی مفید است که یک مدل پیچیده دارید و باید مشخص کنید کدام جدول یا جداول هنوز به بقیه مدل داده مرتبط نیستند.
مثال
در مراحل زیر ساخت یک مدل، یک هشدار در مرحله ۴ قبل از اضافه شدن رابطه برای اتصال جدول پایه دوم نمایش داده میشود.
تنظیم جدولهای نامرتبط بصری جداگانه روی روشن، جدول Clubs را به زیر خط Unrelated Tables منتقل میکند. مرتبط کردن Clubs با Students هشدار را برطرف میکند.
حل یک چرخه
حتی اگر برخی از جداول به طور مستقیم به یکدیگر مرتبط نباشند، کل مدل داده باید یک کل منسجم باشد. در این مثال، هر جدول پایه یک درخت را تعریف میکند اما هیچ جدول مشترکی وجود ندارد که آنها را به هم متصل کند. این یک مدل معتبر برای تجزیه و تحلیل نیست.
دو گروه از جداول مرتبط باید از طریق یک جدول مشترک ترکیب شوند…
… یا مدل داده باید به صورت دو منبع داده جداگانه ایجاد شود.
محدودیتهای مدل داده
برخی از مسیرهای رابطه بین جداول در مدل جدول چند پایه پشتیبانی نمیشوند. اگر هنگام تلاش برای ایجاد یک رابطه ورودی دوم روی یک جدول، نمیتوانید جدول را رها کنید، مطمئن شوید ساختاری که میخواهید ایجاد کنید در Tableau پشتیبانی میشود. نمونههایی از مدلهای پشتیبانی نشده عبارتند از:
چرخهها
چرخهها – جایی که بیش از یک مسیر رابطه از یک جدول بالادست به همان جدول پاییندست وجود دارد – پشتیبانی نمیشوند. این ساختار پشتیبانی نشده گاهی اوقات پاپیونی نامیده میشود. برای مدلسازی این نوع رابطه بین جداول در Tableau، با تبدیل جدول پاییندست به جدول پایه دیگر، از چندین جدول پایه به جای پاپیونی استفاده کنید.
مدل داده باید یک گراف جهتدار غیرمدور باشد. این بدان معناست که هر رابطه ورودی به یک جدول باید در بالادست یک جدول پایه متفاوت قابل ردیابی باشد.
| پشتیبانی نمیشود. جدول X دو رابطه ورودی دارد که هر دو از جداول پاییندست جدول پایه A هستند. | پشتیبانی میشود. جداول S و T هر دو چندین رابطه ورودی دارند، اما هر کدام از یک جدول پایه متفاوت هستند. | پشتیبانی میشود.اگرچه ممکن است از نظر بصری به نظر برسد که یک چرخه وجود دارد، اما روابط ورودی برای هر دو جدول S و T را میتوان به جداول پایه مختلف ردیابی کرد. |
![]() |
![]() |
![]() |
جداول اشتراکی تو در تو (Nested shared tables)
جداول اشتراکی تو در تو پشتیبانی نمیشوند. هر جدولی که از یک جدول مشترک پایینتر باشد (جدولی با چندین رابطه ورودی) فقط میتواند یک رابطه ورودی داشته باشد.
پشتیبانی نمیشود. جدول T از یک جدول مشترک پایینتر است و نمیتواند رابطه ورودی اضافی دریافت کند.
برای خرید لایسنس نرم افزار Tableau ، میتوانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.
























بدون دیدگاه