Assuming Referential Integrity for Join

فرض یکپارچگی ارجاعی برای جوین‌ها (Assuming Referential Integrity for Joins)

قابل اجرا برای: Tableau Desktop

در برخی موارد، می‌توانید با انتخاب گزینه Assume Referential Integrity (فرض یکپارچگی ارجاعی) از منوی Data، عملکرد پرس‌وجو را برای جوین‌ها (join) بهبود بخشید.

هنگامی که از این گزینه استفاده می‌کنید، Tableau تنها زمانی جدول جوین شده را در پرس‌وجو لحاظ می‌کند که به طور خاص توسط فیلدهای موجود در نما (view) به آن ارجاع داده شده باشد.

Assuming Referential Integrity for Join

استفاده از این تنظیم زمانی مناسب است که می‌دانید داده‌های شما دارای یکپارچگی ارجاعی هستند (به تعریف زیر مراجعه کنید) اما پایگاه داده شما این یکپارچگی را اعمال نمی‌کند یا نمی‌تواند اعمال کند.

اگر این امکان را دارید که یکپارچگی ارجاعی را در پایگاه داده خود پیکربندی کنید، این گزینه بهتر از استفاده از این تنظیم در Tableau است، زیرا می‌تواند عملکرد را هم در پایگاه داده و هم در Tableau بهبود بخشد.

گزینه Assume Referential Integrity در Tableau تنها می‌تواند بر عملکرد در سمت Tableau تأثیر بگذارد.

اگر داده‌های شما فاقد Referential Integrity باشند و این تنظیم را فعال کنید، نتایج پرس‌وجو ممکن است قابل اعتماد نباشند.

برای درک اینکه Referential Integrity چیست، تصور کنید که به داده‌های فروش که دارای دو جدول است متصل می‌شوید: Sales و Product Catalog. این دو جدول در زیر نشان داده شده‌اند:

Sales

Product ID (Foreign Key) Sale Amount Transaction Date
1 100 10/1/2012
1 2000 10/2/2012
2 50 9/30/2012
3 10 8/21/2012

کاتالوگ محصولات Product Catalog

Product ID (Primary Key) Product Name
1 10 Inch Tablet
2 Smart Phone
3 Desk Lamp
4 Memory Stick

Assuming Referential Integrity for Join

از آنجا که تمام محصولاتی که فروخته می‌شوند باید در کاتالوگ محصولات فهرست شوند، هر ردیف در جدول فروش، یک ردیف منطبق در جدول کاتالوگ محصولات دارد. وقتی این دو جدول بر اساس شناسه محصول به هم متصل شوند، در نهایت جدولی مانند این خواهید داشت:

Product ID Product Name Product ID Sale Amount Transaction Date
1 10 Inch Tablet 1 100 10/1/2012
1 10 Inch Tablet 1 2000 10/2/2012
2 Smart Phone 2 50 9/30/2012
3 Desk Lamp 3 10 8/21/2012

حالا فرض کنید شما یک نما (view) برای مشاهده‌ی مبلغ فروش بر اساس منطقه (Region) ایجاد کرده‌اید. به طور پیش‌فرض، کشیدن فیلد مبلغ فروش به نما ممکن است یک پرس‌وجو (query) مانند این ایجاد کند:

 

SELECT SUM([Sales Amount]) FROM [Sales] S INNER JOIN [Product Catalog] P ON S.ProductID = P.ProductID

با انتخاب Assume Referential Integrity، به Tableau می‌گویید که جداول متصل شده دارای یکپارچگی ارجاعی هستند. به عبارت دیگر، شما تأیید می‌کنید که جدول فروش همیشه یک ردیف منطبق در جدول کاتالوگ محصول خواهد داشت. از آنجا که این موضوع درست است، Tableau برای بازگرداندن این نتایج به هیچ اطلاعاتی از جدول کاتالوگ محصول نیاز ندارد. وقتی فیلد Sales Amount را به داخل نما می‌کشانید، Tableau می‌تواند پرس‌وجو را به صورت زیر ساده کند:

SELECT SUM([Sales Amount]) FROM [Sales]

 

این کوئری ساده‌شده اغلب می‌تواند نتایج سریع‌تری را برگرداند زیرا عملیات اتصال (join) را حذف می‌کند. این گزینه فقط اتصالات داخلی را تحت تأثیر قرار می‌دهد و بر منابع داده‌ای که یک جدول واحد دارند، تأثیری ندارد.

 

 

برای خرید لایسنس نرم افزار Tableau ، می‌توانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.

فرم درخواست لایسنس Tableau

 

tableau desktop download

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *