فروش لایسنس Power BI

با ما داده های خود را درک کنید تا برای آینده کسب و کارتان بهتر تصمیم گیری کنید.

تابع ALLCROSSFILTERED در DAX

تابع ALLCROSSFILTERED در DAX

تابع ALLCROSSFILTERED در Power BI

تابع ALLCROSSFILTERED در زبان DAX یکی از توابع تخصصی برای کنترل زمینه فیلتر (Filter Context) در Power BI است. این تابع به شما اجازه می‌دهد تا تمام فیلترهایی که از طریق روابط بین جداول (چه مستقیم، چه غیرمستقیم یا دوطرفه) روی یک جدول اعمال شده‌اند را حذف کنید، بدون اینکه خود جدول یا مقادیر آن را بازگرداند.

تعریف تابع ALLCROSSFILTERED

DAX
ALLCROSSFILTERED(<table>)
  • <table>: نام جدولی که می‌خواهید فیلترهای اعمال‌شده از طریق روابط آن حذف شوند.

عملکرد چگونه است؟

در مدل داده‌ای Power BI، فیلترها می‌توانند از طریق روابط بین جداول منتقل شوند. این روابط ممکن است:

  • یک‌طرفه یا دوطرفه باشند
  • مستقیم یا غیرمستقیم باشند
  • از طریق روابط ضعیف (weak relationships) منتقل شوند

تابع ALLCROSSFILTERED تمام این فیلترهای منتقل‌شده را غیرفعال می‌کند، اما برخلاف ALL، خود جدول را بازنمی‌گرداند.

✅ مثال اول

فرض کنید جدول Sales از طریق روابطی با جداول دیگر مانند Customers یا Products فیلتر شده است. حالا می‌خواهید مجموع فروش را بدون تأثیر این فیلترها محاسبه کنید:

DAX
TotalSalesNoCrossFilters =
CALCULATE(
    SUM(Sales[Amount]),
    ALLCROSSFILTERED(Sales)
)

در این مثال، فیلترهایی که از طریق روابط به جدول Sales رسیده‌اند حذف می‌شوند، اما فیلترهای مستقیم روی خود Sales باقی می‌مانند.

✅ مثال دوم

DAX
DEFINE
MEASURE FactInternetSales[TotalQuantity1] =
    CALCULATE(SUM(FactInternetSales[OrderQuantity]), ALLCROSSFILTERED(FactInternetSales))
MEASURE FactInternetSales[TotalQuantity2] =
    CALCULATE(SUM(FactInternetSales[OrderQuantity]), ALL(FactInternetSales))
EVALUATE
    SUMMARIZECOLUMNS(DimSalesReason[SalesReasonName], 
        "TotalQuantity1", [TotalQuantity1],
        "TotalQuantity2", [TotalQuantity2])
    ORDER BY DimSalesReason[SalesReasonName]

بازگشت‌ها،

DimSalesReason[SalesReasonName] [TotalQuantity1] [TotalQuantity2]
Demo Event 60398
Magazine Advertisement 60398
Manufacturer 60398 1818
On Promotion 60398 7390
Other 60398 3653
Price 60398 47733
Quality 60398 1551
Review 60398 1640
Sponsorship 60398
Television Advertisement 60398 730

نکته: یک رابطه چند به چند مستقیم یا غیرمستقیم بین جدول FactInternetSales و جدول DimSalesReason وجود دارد.

 تفاوت با توابع مشابه

تابع عملکرد
ALL حذف فیلترها و بازگرداندن جدول یا مقادیر
REMOVEFILTERS حذف فیلترها بدون بازگرداندن جدول
ALLCROSSFILTERED حذف فیلترهای منتقل‌شده از طریق روابط، بدون بازگرداندن جدول

کاربردهای رایج

  • جلوگیری از تأثیر فیلترهای غیرمستقیم در محاسبات حساس
  • کنترل دقیق‌تر زمینه فیلتر در مدل‌های پیچیده با روابط چندگانه
  • ساخت معیارهایی که فقط به فیلترهای مستقیم وابسته باشند

⚠️ نکات مهم

  • این تابع فقط در توابعی مانند CALCULATE, CALCULATETABLE قابل استفاده است.
  • در حالت DirectQuery، در ستون‌های محاسبه‌شده یا قوانین امنیت سطح ردیف (RLS) پشتیبانی نمی‌شود.
  • اگر جدول ورودی فیلتر مستقیم نداشته باشد، نتیجه مشابه REMOVEFILTERS خواهد بود.

ملاحضات

  • ALLCROSSFILTERED فقط می‌تواند برای پاک کردن فیلترها استفاده شود، اما نمی‌تواند جدول را برگرداند.
  • این تابع برای استفاده در حالت DirectQuery، هنگام استفاده در ستون‌های محاسبه‌شده یا قوانین امنیتی سطح ردیف (RLS) پشتیبانی نمی‌شود.

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

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

میتوانید پاور بی آی دسکتاپ رایگان را دانلود کنید : Power BI desktop download

 

دیدگاه‌ خود را بنویسید

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

پیمایش به بالا