فیلترهای استوری در دادهلند به صورت هوشمند عمل میکنند؛ با تعریف فیلتر در سطح استوری، شروط مربوطه به صورت خودکار به تمامی ویجتهای مرتبط تزریق میشوند و نیازی به مپینگ دستی متغیرها در کوئری ویجتها نیست.
در ابزارهای سنتی BI (مانند Metabase)، پیادهسازی فیلتر نیازمند تعریف متغیرها در کوئری SQL هر ویجت و اتصال دستی آنها در تنظیمات داشبورد است. در مقابل، دادهلند از معماری فیلتر هوشمند (Smart Filter) بهره میبرد:
FROM و JOIN شناسایی کرده و شروط فیلتر را در زمان اجرا به صورت خودکار به کوئری ویجت تزریق مینماید.بهرهگیری از فیلترهای هوشمند در مقایسه با فیلترهای دستی سنتی مزایای زیر را فراهم میسازد:
فیلترهای هوشمند منحصراً بر روی جداول فیزیکی عمل میکنند. جداول مجازی و عبارات جدول متداول (CTE) تحت پوشش تزریق خودکار قرار نمیگیرند و فیلتر باید مستقیماً روی جداول فیزیکی اعمال شود:
SELECT
count(*) as total_orders
FROM orders
WITH virtual_orders AS (
SELECT * FROM orders
)
SELECT
count(*) as total_orders
FROM virtual_orders
در ساختار CTE، فیلتر استوری امکان تزریق مستقیم به جدول مجازی virtual_orders را ندارد؛ بنابراین توصیه میشود کوئریها مستقیماً بر مبنای جداول فیزیکی پایگاه داده نگارش شوند.
فیلترهای اعمالشده در مرحله ساخت ویجت (در شیت یا بند WHERE کوئری)، به عنوان فیلترهای ثابت شناسایی شده و در تب مربوطه قابل مدیریت هستند:
AND) ترکیب میشوند. در صورت یکسان بودن ستون هدف، اولویت با فیلتر ثابت است و فیلتر استوری اعمال نمیگردد.فیلتر پنهان راهکاری برای اعمال شروط از پیش تعیینشده بر دادههای استوری است، بدون آنکه کاربر نهایی متوجه اعمال آن شود. مدیران کالکشن میتوانند این فیلتر را با مقداری معین روی استوری فعال نمایند:
ویژگیهای فیلتر پنهان شامل موارد زیر است:
برای مثال، جهت ساخت استوری اختصاصی برای تیم تهران، کافی است فیلتری روی ستون شهر با مقدار تهران تعریف شده و به حالت پنهان درآید؛ در این صورت کاربران دارای دسترسی مشاهده استوری بدون مشاهده ابزار فیلتر، صرفاً دادههای تهران را دریافت مینمایند.