متغیر در زبان DAX
در این مطلب قصد داریم تعریف متغیر در Power BI را مورد بررسی قرار دهیم. متغیر در زبان DAX به ما کمک می کند تا کد های خود را به صورت خواناتر، آسان تر و با عملکرد بالاتر ایجاد کنیم.
ما می توانیم هر تعداد متغیر را که مایل باشیم ایجاد کنیم. هر متغیر تعریف خود را دارد و در نهایت نتیجه مورد نظر ما با نوشتن کلید واژه RETURN نمایش داده خواهد شد.
به مثال زیر توجه کنید. می خواهیم گزارشی ایجاد کنیم که سود را در هر سال نمایش دهد.
محاسبه بدون استفاده از متغیر
می توانیم به صورت زیر عمل کنیم. ابتدا مژری برای محاسبه فروش ایجاد می کنیم.
SUMX(FactInternetSales, FactInternetSales[OrderQuantity] * FactInternetSales[UnitPrice])
حال مژر دیگری برای محاسبه هزینه ایجاد می کنیم.
حال کافیست این 2 مژر را از هم کم کنیم.
[SalesAmount] – [CostAmount]
در نهایت از مژر Profit در ویژوال خود بهره می گیریم.
محاسبه با استفاده از متغیر
برای استفاده از متغیر در زبان DAX کافیست هر تعداد متغیر را تعریف کنیم. ابتدا از کلید واژه VAR استفاده می کنیم. نام متغیر را انتخاب و فرمول محاسبه را درج می کنیم.
همان طور که مشاهده می کنید 3 متغیر تعریف شده است. نام این متغیر ها با رنگ سبز نمایش داده می شود. همان طور که مشاهده می کنید ابتدا کلید واژه VAR نوشته می شود، سپس نام متغیر نوشته می شود، علامت مساوی و سپس تعریف متغیر.
در نهایت می توانید با نوشتن کلید واژه RETURN اعلام کنید خروجی مد نظر شما چیست.
توجه کنید که استفاده از این متغیر ها تنها در همین کد جاری امکان پذیر است و شما امکان فراخوانی آن ها در کدهای دیگر را ندارید.
استفاده از جدول در متغیر
ممکن است سوال پیش بیاید که آیا متغیر تنها یک مقدار برمی گرداند؟ پاسخ “خیر” است! شما می توایند یک جدول را نیز در متغیر بریزید. به مثال زیر توجه کنید.
در این مثال خروجی تابع FILTER که یک جدول است را به یک متغیر اختصاص دادیم و در متغیر دیگری تعداد ردیف های این جدول را شمردیم. در نهایت خروجی خود را پس از نوشتن RETURN مشخص کرده ایم.
بهینه سازی کد ها
فرض کنید می خواهیم گروه کالا ها را به 3 دسته کم سود، با سود متوسط و پر سود دسته بندی کنیم. کد زیر این عملیات را برای ما انجام می دهد.
اگر ما این کد را بدون استفاده از متغیر بنویسیم یک بار برای محاسبه Profit عملیات محاسبه انجام می شود و سپس محاسبه سود مجددا در قسمت IF برای چک شدن شروط صورت می پذیرد.
اما با استفاده از متغیر تنها یک بار این محاسبه انجام می شود، پس قابل حدس است که نوشتن این کد با استفاده از متغیر بهینه تر و دارای هزینه کمتری است.
درباره حسین وثوقی
دانش آموخته مهندسی صنایع و مدیریت فناوری اطلاعات دانشگاه تهران، علاقه مند به تحلیل و ارائه راه حل برای مسائل و بهینه سازی راه حل ها هستم ...
نوشته های بیشتر از حسین وثوقی