Metabase

فیلترهای متصل

می‌توانید فیلترها را در یک داشبورد متصل کنید تا یک فیلتر فرزند مقادیرش را بر اساس مقدار(های) اعمال‌شده توسط یک فیلتر والد محدود کند.

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

فیلترهای متصل

تنظیم جداول برای فیلترهای متصل

فقط می‌توانید فیلترهای داشبوردی را که به ستون‌های پایگاه داده (نه ستون‌های سفارشی یا خلاصه‌ها) در کارت‌های داشبورد متصل هستند را متصل کنید، چون متابیس برای ایجاد فیلترهای متصل به ابردادهٔ ستون نیاز دارد. متابیس باید بداند چه مقادیری در ستون‌ها وجود دارد و چگونه ستون‌ها در والد و فرزند به یکدیگر مرتبط هستند.

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

  • در همان جدول باشند.
  • در دو جدول مختلف که یک رابطهٔ foreign key در ابردادهٔ جدول مشخص شده است داشته باشند.
  • در دو جدول مختلف که روابط foreign key به یک یا چند جدول میانی دارند، همانطور که در ابردادهٔ جدول مشخص شده است.

تنظیم foreign key در ابردادهٔ جدول

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

تنظیم فیلترهای متصل

می‌توانید یک فیلتر فرزند را به یک یا چند فیلتر والد متصل کنید. فیلتر فرزند باید یا یک فیلتر ID، Location، یا Text یا Category باشد. فیلترهای والد می‌توانند هر نوع فیلتر باشند.

برای اتصال یک فیلتر فرزند در یک داشبورد به یک یا چند فیلتر والد:

  1. داشبورد را با کلیک روی آیکون pencil در گوشهٔ بالا سمت راست داشبورد ویرایش کنید.
  2. فیلتر فرزند را با کلیک روی آیکون gear در فیلتر ویرایش کنید.
  3. در نوار کناری تنظیمات فیلتر، به تب Linked filters بروید.
  4. فیلتر(های) والد را انتخاب کنید.

فیلترهای متصل

فیلتر(های) انتخابی در تب linked filters فیلتر(های) والد خواهند بود، یعنی فیلتر(های) که مقادیر این (فرزند) فیلتری که در حال ویرایش آن هستید را محدود می‌کنند.

محدودیت‌های فیلترهای متصل

فیلترهای متصل روابط تعریف‌شده توسط مدل‌ها و سؤال‌ها را نادیده می‌گیرند

فیلترهای متصل فقط از روابط تعریف‌شده در ابردادهٔ جدول "آگاه" هستند. این محدودیت به افراد امکان می‌دهد فیلترها را به همان ستون در چندین کارت داشبورد (در چندین تب) متصل کنند، اما محدودیت همچنین به این معنی است که:

  • فیلترهای متصل نمی‌توانند روابط تعریف‌شده توسط joinها در مدل‌ها یا سؤال‌ها را ببینند.
  • فیلترهای متصل نمی‌توانند از هیچ منطق فیلتر یا join از هر کارت یا مدل زیربنایی استفاده کنند.

به‌عنوان مثال، فرض کنید یک جدول با ستون‌های State و City دارید، و یک مدل می‌سازید که ردیف‌های با City = San Francisco را فیلتر می‌کند. یک سؤال بر اساس آن مدل می‌پرسید و آن را به یک داشبورد اضافه می‌کنید. فیلترهای State و City را به داشبورد اضافه می‌کنید و آن‌ها را متصل می‌کنید. اگر State = CA را انتخاب کنید، فیلتر شهر ممکن است همچنان San Francisco را به‌عنوان گزینه نشان دهد، حتی اگر هیچ رکوردی با San Francisco در سؤال و مدل زیربنایی وجود نداشته باشد، چون فیلتر فقط از ابردادهٔ جدول زیربنایی (که شامل مقادیر نمونه برای ستون است) "آگاه" است.

فیلترهای متصل با ستون‌های سفارشی یا خلاصه‌ها کار نمی‌کنند

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

  • نمی‌توانید فیلترهای متصل روی ستون‌های سفارشی ایجاد کنید.

  • سؤال‌های Native/SQL باید یک متغیر فیلتر فیلد داشته باشند تا متصل شوند. متغیرهای SQL پایه به ستون‌های پایگاه داده متصل نیستند، بنابراین برای فیلترهای متصل کار نمی‌کنند.

  • نمی‌توانید فیلترهایی را که از "Custom List" یا "From another model or question" به‌عنوان منبع مقادیرشان استفاده می‌کنند متصل کنید.

عیب‌یابی فیلترهای متصل

اگر آنچه انتظار دارید با فیلترهای متصل نمی‌بینید، مطمئن شوید که روابط جدول شما برای پشتیبانی از فیلترهای متصل تنظیم شده‌اند. به عیب‌یابی فیلترهای متصل برای اطلاعات بیشتر عیب‌یابی مراجعه کنید.