عملگر IN در Dax نرم افزار Power Bi

عملگر جدید IN از نوامبر ۲۰۱۶ در Power BI و در Excel 2016 از نسخه ۱۷۰۱  موجود است. این عملگر در نسخه های بعدی Analysis Services (بعد از SQL Server 2016) نیز موجود خواهد بود. به منظور پشتیبانی از این عملگر جدید ، DAX همچنین دو عملگر جدید ، جدول و سازنده سطر را معرفی کرد که امکان ایجاد جداول “ناشناس” را فراهم می کند که می تواند برای مقایسه ارزش دو یا چند ستون به جای یک ستون واحد استفاده شود.

انواع مثال از عملگر IN :

 

در نقش || : 

RedOrBlack Sales OR :=
CALCULATE (
    [Sales Amount],
    Products[Color] = "Red" || Products[Color] = "Black"
)

 

در نقش IN :

RedOrBlack Sales IN :=
CALCULATE (
    [Sales Amount],
    Products[Color] IN { "Red", "Black" }
)

 

 شبیه CONTAINSROW :

RedOrBlack Sales CR :=
CALCULATE (
    [Sales Amount],
    CONTAINSROW (
        { "Red", "Black" },
        Products[Color]
    )
)

 

دیگر سطرهای یک ستون :

Other Colors :=
CALCULATE (
    [Sales Amount],
    Products[Color] IN
        EXCEPT (
            ALL ( Products[Color] ),
            VALUES ( Products[Color] )
        )
)

 

و یا دیگر سطرهای یک ستون بدون استفاده از IN :

Other Colors 2 :=
CALCULATE (
    [Sales Amount],
    EXCEPT (
        ALL ( Products[Color] ),
        VALUES ( Products[Color] )
    )
)

 

چند ستون با کمک IN :

( 'Calendar'[Year], 'Calendar'[MonthName] )
    IN {
        ( ۲۰۰۵, "December" ),
        ( ۲۰۰۶, "January" )
    }

 

چند ستون در گذشته با OR

NY 2007 Old 1 :=
CALCULATE (
    [Sales Amount],
    FILTER (
        ALL ( 'Calendar' ),
        OR (
            'Calendar'[Year] = 2006
                && 'Calendar'[MonthName] = "December",
            'Calendar'[Year] = 2007
                && 'Calendar'[MonthName] = "January"
        )
    )
)

 

نتیجه :

عملگر IN نحو DAX مورد نیاز برای مطابقت با لیستی از مقادیر را ساده می کند. حتی اگر بتوان از آن برای مقایسه چند ستون استفاده کرد ، فقط با یک ستون بیشتر رایج است ، به طوری که می تواند نحوی ساده تری داشته باشد و طرح اجرایی پرس و جو کارآمدتر باشد. اگر قصد دارید از چند ستون استفاده کنید ، مطمئن شوید که فیلتر اطراف ستون های غیر ضروری را اضافه نمی کند ، که ممکن است بر عملکرد پرس و جو تأثیر بگذارد.

 

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

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