اتصال دادهها (Join) در Tableau
اغلب لازم است دادهها را از منابع مختلف—جداول متفاوت یا حتی منابع داده مختلف—ترکیب کنیم تا بتوانیم تحلیل مورد نظر را انجام دهیم. بسته به ساختار دادهها و نیازهای تحلیل، روشهای مختلفی برای ترکیب جداول وجود دارد.
روابط در برابر اتصالها (Joins)
روش پیشفرض در Tableau Desktop استفاده از روابط (Relationships) است. روابط سطح جزئیات اصلی جداول را هنگام ترکیب اطلاعات حفظ میکنند. همچنین روابط امکان انجام اتصالهای مبتنی بر زمینه را در هر شیت بهصورت جداگانه فراهم میکنند، که باعث انعطافپذیری بیشتر منابع داده میشود. در بیشتر موارد، استفاده از روابط برای ترکیب دادهها توصیه میشود. برای اطلاعات بیشتر، به بخش «تفاوت روابط با اتصالها» مراجعه کنید.
با این حال، گاهی ممکن است بخواهید اتصال مستقیم بین جداول برقرار کنید، چه برای کنترل بیشتر یا برای ویژگیهای خاص اتصال نسبت به رابطه، مانند فیلترگذاری هدفمند یا تکرار دادهها.
نکته: روابط در نهایت از اتصالها استفاده میکنند (البته در پشتصحنه). برای مثال، رابطهای بین منابع داده مختلف منجر به اتصال بینپایگاهی (Cross-Database Join) میشود، زمانی که در نمودار از فیلدهایی از جداول مختلف استفاده شود. بنابراین، بهبود عملکرد در اتصالهای بینپایگاهی ممکن است مرتبط باشد.
مشکلات رایج
- برای مشاهده، ویرایش یا ایجاد اتصالها، باید یک جدول منطقی را در بوم روابط (Relationship Canvas)—بخشی که هنگام باز کردن یا ایجاد منبع داده مشاهده میکنید—باز کرده و به بوم اتصال (Join Canvas) دسترسی پیدا کنید.
- منابع داده منتشرشده در Tableau نمیتوانند در اتصالها استفاده شوند. برای ترکیب منابع داده منتشرشده، باید منبع اصلی را ویرایش کرده و اتصال را بهصورت بومی در آن قرار دهید یا از ترکیب داده (Data Blend) استفاده کنید.
- هنگام اتصال جداول، فیلدهایی که بر اساس آنها اتصال انجام میشود باید از نوع داده یکسانی باشند. اگر پس از اتصال نوع داده را تغییر دهید، اتصال از بین خواهد رفت.
- فیلدهای استفادهشده در شرط اتصال را نمیتوان حذف کرد بدون اینکه اتصال شکسته شود. برای اتصال دادهها و پاکسازی فیلدهای تکراری، بهجای Tableau Desktop از Tableau Prep Builder استفاده کنید.
نکته مهم : در حالی که Tableau Desktop قابلیت ایجاد اتصال و انجام برخی شکلدهیهای پایهای داده را دارد، Tableau Prep Builder برای آمادهسازی داده طراحی شده است. اگر نیاز به انجام چند اتصال، پاکسازی نام فیلدها، تغییر نوع داده، انجام چند چرخش (Pivot) یا سایر آمادهسازیهای پیچیده دارید، استفاده از Tableau Prep Builder را در نظر بگیرید.
ایجاد اتصال (Join)
1-برای ایجاد یک اتصال، ابتدا به منبع یا منابع داده مربوطه متصل شوید.
این منابع میتوانند در یک منبع داده واحد باشند (مانند جداول در یک پایگاه داده یا شیتها در یک فایل Excel) یا در منابع داده متفاوت (که به آن اتصال بینپایگاهی یا Cross-Database Join گفته میشود). اگر جداول را با استفاده از اتصال بینپایگاهی ترکیب کرده باشید، Tableau جداول موجود در بوم (Canvas) و ستونهای موجود در شبکه داده را رنگی میکند تا نشان دهد دادهها از کدام اتصال آمدهاند.
نکته: همه منابع داده از اتصال بینپایگاهی پشتیبانی نمیکنند، از جمله منابع داده منتشرشده در Tableau. برای ترکیب منابع داده منتشرشده، باید منبع اصلی را ویرایش کرده و اتصال را بهصورت بومی در آن قرار دهید یا از ترکیب داده (Data Blend) استفاده کنید.
2- جدول اول را به بوم (Canvas) بکشید.
توجه داشته باشید اگر در این مرحله جدول دوم را به بوم (Canvas) بکشید، یک رابطه (Relationship) ایجاد خواهد شد.
tableau join
3- برای باز کردن بوم اتصال (Join Canvas) که به آن لایه فیزیکی (Physical Layer) نیز گفته میشود، از منو گزینه Open را انتخاب کنید یا روی جدول اول دو بار کلیک کنید.
با دوبار کلیک روی یک جدول در بوم روابط (Relationship Canvas)، بوم اتصال (Join Canvas) باز میشود.
4- سپس میتوانید با دوبار کلیک یا کشیدن جدول دیگر به بوم اتصال، آن را به فرآیند اتصال اضافه کنید.
اگر جدول بعدی شما از یک منبع داده کاملاً متفاوت باشد، در پنل سمت چپ و زیر بخش Connections (اتصالات)، روی دکمه Add (افزودن) کلیک کنید (در حالت طراحی تحت وب، این دکمه با نماد افزودن منبع داده نمایش داده میشود) تا یک اتصال جدید به منبع داده Tableau اضافه شود.
پس از انتخاب این اتصال، جدول مورد نظر را به بوم اتصال (Join Canvas) بکشید.
5- برای پیکربندی اتصال، روی نماد اتصال (Join Icon) کلیک کنید. سپس یک یا چند شرط اتصال (Join Clause) اضافه کنید. برای این کار:
- یک فیلد از یکی از جداول موجود در منبع داده انتخاب کنید
- یک عملگر اتصال (Join Operator) انتخاب نمایید (مانند =، ≠، >، < و غیره)
- و یک فیلد از جدول اضافهشده را انتخاب کنید
نکته: میتوانید با کلیک روی علامت “x” که هنگام نگه داشتن نشانگر ماوس روی سمت راست عبارت join نمایش داده میشود، یک عبارت join ناخواسته را حذف کنید.
6- پس از اتمام، پنجرهی اتصال را ببندید و بوم را متصل کنید.
پس از ایجاد اتصال، دادههای خود را متصل کنید.
آناتومی یک پیوند
پیوندها بر اساس نوعشان و همچنین بند پیوند تعریف میشوند.
انواع پیوند
به طور کلی، چهار نوع پیوند وجود دارد که میتوانید در Tableau استفاده کنید: داخلی، چپ، راست و کاملاً بیرونی. اگر مطمئن نیستید که از چه نوع پیوندی میخواهید برای ترکیب دادهها از چندین جدول استفاده کنید، باید از روابط استفاده کنید.
| Join Type | Result |
| Inner
|
وقتی از یک اتصال داخلی برای ترکیب جداول استفاده میکنید، نتیجه جدولی است که شامل مقادیری است که در هر دو جدول مطابقت دارند.
وقتی مقداری در هر دو جدول مطابقت نداشته باشد، به طور کامل حذف میشود. |
| Left
|
وقتی از اتصال چپ برای ترکیب جداول استفاده میکنید، نتیجه جدولی است که شامل تمام مقادیر جدول چپ و مقادیر متناظر از جدول راست است.
وقتی مقداری در جدول چپ، مقدار متناظری در جدول راست نداشته باشد، در جدول داده، مقدار تهی (null) مشاهده خواهید کرد. |
| Right
|
وقتی از اتصال راست برای ترکیب جداول استفاده میکنید، نتیجه جدولی است که شامل تمام مقادیر جدول راست و مقادیر متناظر از جدول چپ است.
tableau joinوقتی مقداری در جدول راست، مقدار متناظری در جدول چپ نداشته باشد، در جدول داده، مقدار تهی (null) مشاهده خواهید کرد. |
| Full outer
|
وقتی از پیوند بیرونی کامل برای ترکیب جداول استفاده میکنید، نتیجه جدولی است که شامل تمام مقادیر هر دو جدول است.
وقتی مقداری از هر یک از جداول با جدول دیگر مطابقت نداشته باشد، مقدار تهی را در شبکه داده مشاهده خواهید کرد. |
Union![]() |
اگرچه union نوعی join نیست، اما union روش دیگری برای ترکیب دو یا چند جدول با اضافه کردن ردیفهای داده از یک جدول به جدول دیگر است. در حالت ایدهآل، جداولی که union میکنید تعداد فیلدهای یکسانی دارند و آن فیلدها نامها و نوع دادههای منطبقی دارند. برای اطلاعات بیشتر در مورد union، به Union Your Data مراجعه کنید. |
همه پایگاههای داده از همه انواع پیوند پشتیبانی نمیکنند. اگر گزینهای در کادر محاورهای پیوند در دسترس نیست، احتمالاً به دلیل محدودیتی از منبع داده شما است.
شرطهای اتصال (Join Clauses)
اتصال بین جداول با تنظیم یک یا چند شرط اتصال انجام میشود. شرط اتصال به Tableau اعلام میکند که کدام فیلدها بین جداول مشترک هستند و چگونه باید ردیفهای متناظر را با یکدیگر تطبیق دهد. برای مثال، ردیفهایی که دارای شناسه (ID) یکسان هستند، در جدول نتایج با هم همراستا میشوند.
در بیشتر موارد، شرطهای اتصال از عملگر برابری (=) استفاده میکنند که ردیفهایی با مقادیر یکسان را تطبیق میدهد. با این حال، امکان استفاده از اتصالهای غیر برابری نیز وجود دارد، مانند کمتر از (<) یا نابرابر (<>).
اتصال میتواند شامل چندین شرط باشد. برای مثال، اگر نام و نام خانوادگی در ستونهای جداگانه ذخیره شده باشند، ممکن است مفید باشد که اتصال فقط زمانی انجام شود که: “نام = نام” و “نام خانوادگی = نام خانوادگی” در این حالت، هر دو شرط باید برقرار باشند تا ردیفها با هم ترکیب شوند. از طرف دیگر، اگر هدف این باشد که نتایج فقط زمانی بازگردانده شوند که نام خانوادگی مشترک باشد اما نام متفاوت باشد، شرطها میتوانند به صورت زیر باشند: “نام <> نام” و “نام خانوادگی = نام خانوادگی”
شرطهای اتصال همچنین میتوانند شامل محاسبات باشند. برای مثال، شرط اتصال میتواند ترکیب دو فیلد نام باشد: “[نام] + [نام خانوادگی] = [نام] + [نام خانوادگی]” توجه داشته باشید که همه اتصالات به منابع داده از محاسبات در شرطهای اتصال پشتیبانی نمیکنند.
درباره مقادیر Null در کلیدهای اتصال
بهطور کلی، اتصالها در سطح پایگاه داده انجام میشوند. اگر فیلدهایی که برای اتصال جداول استفاده میشوند دارای مقدار Null باشند، بیشتر پایگاههای داده ردیفهایی که شامل مقدار Null هستند را در نتایج باز نمیگردانند.
با این حال، برای برخی منابع داده با اتصال تکگانه (Single-Connection)، Tableau گزینهای اضافی ارائه میدهد که به شما اجازه میدهد فیلدهایی که دارای مقدار Null هستند را با فیلدهای دیگر با مقدار Null متصل کنید.
پس از تنظیم منبع داده، در صفحه منبع داده، مسیر زیر را دنبال کنید: Data > Join null values to null values
اگر این گزینه غیرفعال (خاکستری) باشد، برای منبع داده شما در دسترس نیست. توجه داشته باشید که اگر یک اتصال دوم به منبع دادهای که از این گزینه استفاده میکند اضافه کنید، اتصال به رفتار پیشفرض بازمیگردد و ردیفهای دارای مقدار Null حذف خواهند شد.
اتصال بینپایگاهی (Cross-Database Joins)
Tableau امکان اتصال بین جداولی از منابع داده مختلف را فراهم میکند، هرچند محدودیتهایی از سوی پایگاههای داده در مورد سازگاری پلتفرمها وجود دارد.
اتصال بینپایگاهی نیازمند یک منبع داده چنداتصالی (Multi-Connection) است—یعنی باید برای هر پایگاه داده یک اتصال جدید ایجاد کنید قبل از اینکه جداول را به هم متصل نمایید.
1- پس از اتصال به منبع داده اول، از گزینه Add (افزودن) در پنل داده برای اضافه کردن اتصال دوم استفاده کنید.
توجه: اگر هنگام تلاش برای افزودن اتصال دیگر، اتصالدهندهی مورد نظر شما از لیست Connect در دسترس نباشد، اتصالهای بین پایگاههای داده برای ترکیبی از منابعی که میخواهید به آنها متصل شوید، پشتیبانی نمیشوند. این شامل اتصال به دادههای مکعبی (مثلاً سرویسهای تحلیل مایکروسافت)، اکثر دادههای فقط استخراجی (مثلاً گوگل آنالیتیکس و OData) و منابع دادهی منتشر شدهی Tableau Server میشود.
2- این کار به جای یک منبع دادهی کاملاً متفاوت، یک اتصال دوم ایجاد میکند. میتوانید در تب منبع داده، بین دو (یا چند) اتصال جابجا شوید.
3- وقتی به یک کاربرگ میروید و شروع به تجزیه و تحلیل میکنید، منبع داده به عنوان یک منبع داده واحد و ترکیبی عمل میکند. این برخلاف دو منبع داده مستقل است که میتوان در یک کاربرگ بین آنها جابجا شد.
منبع داده Book+ شامل دو اتصال با یک اتصال بین پایگاه دادهای است. این منبع به عنوان یک منبع داده واحد عمل میکند. منبع داده Movie adaptations یک منبع داده مستقل است.
توجه: معمولاً اتصال جداول از یک پایگاه داده یکسان، عملکرد بهتری را ارائه میدهد. دلیل این امر این است که پرسوجو از دادههایی که در یک پایگاه داده یکسان ذخیره شدهاند، زمان کمتری میبرد و از قابلیتهای بومی پایگاه داده برای انجام اتصال استفاده میکند.
برای خرید لایسنس نرم افزار Tableau ، میتوانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.













بدون دیدگاه