Metabase

فیلترهای مرتبط من کار نمی‌کنند

یک فیلتر مرتبط ایجاد کرده‌اید تا (مثلاً) اگر یک داشبورد شامل هر دو فیلتر "State" و "City" باشد، فیلتر "City" فقط شهرهای موجود در state انتخاب شده توسط فیلتر "State" را نشان دهد. با این حال:

  • کارت‌های شما "No result" را وقتی فیلتر مرتبط را اعمال می‌کنید نشان می‌دهند،
  • فیلتر مرتبط شما به نظر می‌رسد هیچ تأثیری ندارد، یا
  • widget فیلتر مرتبط شما یک dropdown از مقادیر فیلتر شده نمایش نمی‌دهد.

اگر با یک widget فیلتر معمولی مشکل دارید، لطفاً این راهنما را ببینید. برای رفع مشکلات با فیلترهای مرتبط، نیاز به درک واضح از نحوهٔ کار آن‌ها دارید:

آیا یک کارت داشبورد متصل از یک متغیر SQL استفاده می‌کند؟

علت اصلی: سؤال‌های Native/SQL باید یک متغیر فیلتر فیلد داشته باشند تا لینک شوند. متغیرهای SQL معمولی کار نمی‌کنند.

مراحل انجام:

  1. کوئری کارت را به‌روزرسانی کنید تا متغیر معمولی را به یک متغیر فیلتر فیلد تغییر دهید.

به محدودیت‌های لینک کردن فیلترها مراجعه کنید.

آیا جهت‌گیری فیلترهای مرتبط را درک می‌کنید؟

علت اصلی: فیلترهای مرتبط یکی از ویژگی‌های پیچیده‌تر متابیس هستند، و بسیاری از مشکلات از سوء تفاهم در مورد عملکرد آن‌ها ناشی می‌شود.

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

  1. یک فیلتر بخشی از یک سؤال خاص نیست. در عوض، یک فیلتر به یک داشبورد اضافه می‌شود و مقدار آن برای پر کردن متغیرها در سؤال‌ها استفاده می‌شود.

  2. برای اینکه متابیس یک لیست dropdown از مقادیر فیلتر ممکن را نمایش دهد، باید بداند که ستون با یک category مطابقت دارد. این به‌طور خودکار اتفاق می‌افتد اگر سؤال از جداول از طریق Notebook Editor ایجاد شود، چون متابیس دانش دربارهٔ جدول و ستون‌ها از همگام‌سازی دارد.

  3. اگر سؤالی که شامل متغیر است در SQL نوشته شده است، از طرف دیگر، نویسنده سؤال باید "Field Filter" را انتخاب کرده باشد. همچنین، فیلد ارجاع داده شده باید به‌عنوان یک category در Table Metadata تنظیم شده باشد تا متابیس یک لیست dropdown از مقادیر را نشان دهد.

آیا فیلترها در جهت صحیح لینک شده‌اند؟

علت اصلی: رایج‌ترین علت این است که فیلترها در جهت اشتباه لینک شده‌اند. اگر می‌خواهید مقادیر نمایش داده شده توسط Filter B توسط تنظیم Filter A محدود شوند، باید تنظیمات برای Filter B را تغییر دهید، نه Filter A---یعنی، فیلتر downstream تنظیم را دارد، نه فیلتر upstream.

مراحل انجام:

  1. لینک موجود را حذف کنید و یک لینک جدید در جهت مخالف ایجاد کنید.

آیا برخی ردیف‌ها شرط فیلتر کامل را برآورده می‌کنند؟

علت اصلی: هیچ ردیفی وجود ندارد که همه شرایط در یک فیلتر مرتبط را برآورده کند. ادامه با مثال city و state، اگر به صورت دستی نام شهری که در state انتخاب شده نیست را وارد کنید، هیچ رکوردی هر دو شرط را برآورده نمی‌کند.

مراحل انجام:

  1. یک سؤال ایجاد کنید که فقط از فیلتر اول استفاده می‌کند و بررسی کنید که برخی ردیف‌ها تولید می‌کند. (اگر نمی‌کند، اضافه کردن یک فیلتر دوم قرار نیست هیچ ردیفی را ظاهر کند.)
  2. یک سؤال ایجاد کنید که فکر می‌کنید باید همان نتیجه ترکیب تنظیمات فیلتر مرتبط که هیچ داده‌ای تولید نمی‌کند را تولید کند. اگر نتیجه مورد انتظار شما را تولید می‌کند، برای اشتباهات تایپی و اینکه از نوع join صحیح استفاده می‌کنید بررسی کنید.

آیا همه ردیف‌هایی که تست اول را پاس می‌کنند تست دوم را نیز پاس می‌کنند؟

علت اصلی: در برخی موارد همه ردیف‌هایی که شرط فیلتر اول را برآورده می‌کنند همچنین شرط فیلتر دوم را برآورده می‌کنند، بنابراین فیلتر دوم هیچ تأثیری ندارد.

مراحل انجام:

  1. یک سؤال ایجاد کنید که شامل شرط فیلتر اول به‌طور مستقیم است (یعنی، در سؤال به جای استفاده از یک متغیر)، سپس شرط فیلتر دوم را اضافه کنید. اگر مجموعه نتیجه تغییر نمی‌کند، مشکل در منطق است نه در فیلترها.

آیا widget فیلتر مرتبط یک dropdown از مقادیر فیلتر شده نمایش می‌دهد؟

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

مراحل انجام:

  1. بررسی کنید که metadata جدول متابیس برای پایگاه داده شما شامل رابطه foreign key است.