نمایش انتخاب های کاربر با استفاده از زبان DAX
آگاهی کاربر از انتخاب هایش یکی از مهمترین نیازهایی است که در Power BI وجود دارد. کاربر نیاز دارد بداند عدد های در حال نمایش بر اساس چه مقادیری فیلتر شده اند؟ آگاهی از انتخاب ها کار را برای کاربران ساده تر می کند. در این مطلب نمایش انتخاب های کاربر با استفاده از زبان DAX مورد بررسی قرار گرفته است.
در این مطلب و در ادامه آموزش زبان DAX با نحوه نمایش انتخاب های کاربر با شما همراه خواهیم بود. گزارش های زیر را در نظر بگیرید. این گزارش ساده میزان فروش را بر اساس سال، گروه کالاهای مختلف و جنسیت های مختلف نشان می دهد. در مرحله اول می خواهیم نمایش دهیم کاربر چند مورد از گروه های کالا را انتخاب کرده است؟
کافی است مژری به ترتیب زیر ایجاد کنیم.
در واقع این مژر تعداد انتخاب های کاربر از گروه های محصول را نمایش می دهد. ما کلا 4 گروه محصول داریم. در صورتی که هیچ انتخابی نداشته باشیم عدد 4 به نمایش در می آید و در صورتی که تعدادی گروه محصول را انتخاب کنیم، تعداد آن ها به نمایش در می آید. برای این منظور کافی است از فرمول زیر استفاده کنید.
به تصویر زیر توجه نمایید.
همچنین می توانید گروه محصول انتخاب شده توسط کاربر را نمایش دهید. شما به راحتی با نوشتن مژری به ترتیب زیر می توانید متوجه شوید داشبورد در حال نمایش مقادیر بر اساس چه مقادیری است؟ اما این روش تنها زمانی نتیجه بخش است که کاربر تنها و تنها یک گروه کالا را انتخاب کند. همان طور که مشاهد می کنید با انتخاب تعداد کمتر یا بیشتر از یک گروه کالا، Blank نمایش داده می شود.
حال می توانید با نوشتن مژری به ترتیب زیر، کاری کنید که در صورتی که کاربر انتخابی نکرده یا تمام گزینه ها را انتخاب کرده عبارت “بدون فیلتر گروه محصول” نمایش داده شود.
در واقع با این کد می گوییم اگر عدد 4 نشان دهنده کل گروه محصولات است، پس عدد 4 نشان دهنده این است که یا کاربر انتخابی نکرده یا همه گروه های محصول را انتخاب کرده است. پس در این صورت مقدار “بدون فیلتر گروه محصول” را نمایش بده در غیر اینصورت گروه محصول انتخاب شده را نمایش بده.
یکی از مشکلات ما برطرف شد اما مشکل دیگر به قوت خود باقیست. در صورتی که 2 مقدار انتخاب شود مقدار Blank نمایش داده می شود.
همان طور که مشاهده می کنید در صورتی که هیچ انتخابی صورت نگیرد یا 4 گروه کالا انتخاب شود، عبارت “بدون فیلتر” نمایش داده می شود، اما با انتخاب بیش از یک گروه کالا (تا 3 گروه کالا)، گروه یا گروه های انتخابی نمایش داده می شود. عمل به هم چسباندن انتخاب ها با استفاده از تابع CONCATENATEX صورت می پذیرد.
ممکن است برای افرادی که با دقت این مطلب را خوانده اند این سوال پیش آید که اگر یک گروه محصول جدید به گروه های محصول اضافه شود چه اتفاقی می افتد؟ آیا محاسبات به هم می ریزد؟ پاسخ این است: بله!
خب برای این مشکل چه راه حلی وجود دارد؟ برای این مشکل راه حل نوشتن مژری به صورت زیر است! در واقع در این مژر می گوییم اگر انتخاب های کاربر برابر با کل تعداد گروه های کالا بود عبارت “بدون فیلتر” نمایش داده شود در غیر این صورت گروه های انتخابی را نمایش دهد.
همچنین می توانید توضیحاتی برای این موضوع در نظر بگیرید.
در نهایت نتیجه زیر حاصل می شود.
در این مطلب نمایش انتخاب های کاربر با استفاده از زبان DAX مورد بررسی قرار گرفت. شما نیز این موارد را در گزارش های خود به کار ببرید و نمونه کار های خود را برای ما ارسال کنید.
درباره حسین وثوقی
دانش آموخته مهندسی صنایع و مدیریت فناوری اطلاعات دانشگاه تهران، علاقه مند به تحلیل و ارائه راه حل برای مسائل و بهینه سازی راه حل ها هستم ...
نوشته های بیشتر از حسین وثوقی