تابع Filter در زبان DAX
تابع Filter یکی از توابع جدولی زبان DAX می باشد. یعنی خروجی آن یک جدول می باشد.
این تابع برای محدود کردن ردیف های یک جدول استفاده می شود. این تابع یک جدول را به عنوان ورودی دریافت می کند و پس از پردازش، یک جدول با ردیف های محدود شده را به عنوان خروجی بر می گرداند.ت
تابع فیلتر یکی از مهم ترین توابع موجود در زبان DAX می باشد. تابع FILTER نیز مانند توابع X دار یک جدول را پیمایش کرده و ردیف به ردیف یک عبارت را ارزیابی کرده و اگر صحیح ارزیابی شد آن ردیف را در خروجی نمایش می دهد. ورودی این تابع یک جدول است و یک عبارت که برای هر ردیف از جدول مورد ارزیابی قرار می گیرد و خروجی این تابع یک جدول است
یک مثال از تابع Filter
به عنوان مثال فرض می کنیم که در PowerBI جدولی به نام Test به عنوان ورودی داریم که در آن ستون نام افراد و تعداد ماشین های آنها را ذخیره کردیم.
حال با استفاده از تابع Filter می خواهیم افرادی را که تعداد ماشین آنها بیشتر از دو تا است را فیلتر کنیم. برای این کار کافی است یک جدول ایجاد کنیم و کد زیر را برای جدول وارد کنیم.
در نتیجه می بینیم که خروجی ایجاد یک جدول است که فقط 1 ردیف دارد.
البته که می توان از تابع FILTER در ایجاد مژر ها نیز استفاده نمود. به عنوان مثال فرض کنید می خواهیم تعداد مشتریانی که درآمد بالای 160000 دلار دارند را نمایش دهیم. کافی است به طریق زیر عمل کنیم.
در واقع در این روش هیچ جدول فیزیکی به مدل ایجاد نمی شود. تنها یک جدول مجازی به عنوان ورودی تابع COUNTROWS معرفی شده است و عملیات شمارش این جدول مجازی توسط این تابع انجام شده است.