فیلتر جدول با جدول دیگر در Power Query

فیلتر جدول با جدول دیگر در Power Query

بسیاری از مواقع این سوال پیش می آید که آیا ممکن است در Power Query یک جدول را بر اساس مقادیر جدول دیگری فیلتر کنیم؟ پس در این مطلب به بررسی نحوه فیلتر جدول با مقادیر جدول دیگر در Power Query می پردازیم. ادامه مطلب


پاک کردن انتخاب های کاربر در Power BI

پاک کردن انتخاب های کاربر در Power BI

در این مطلب قصد داریم به بررسی نحوه پاک کردن انتخاب های کاربر در Power BI پردازیم. حتما می دانید که ما معمولا در گزارشات خود از فیلتر های متعددی استفاده می کنیم و گاها رشته کار از دست کاربر خارج شده و دچار سردرگمی می شود.

در این مطلب قصد داریم به بررسی این ترفند در Power BI بپردازیم. قبل از ادامه مطالعه حتما سری به مطلب قبل در مورد نحوه پیاده سازی Bookmark در Power BI بپردازید.

همان طور که می دانید Bookmark قابلیت بسیار مهمی است که سطح گزارشات شما را بالاتر برده و جذابیت های بصری را به گزارشات شما می افزاید و علاوه بر این ها به کاربران شما کمک می کند تا با سهولت بیشتری گزارشات را مورد استفاده قرار دهند که این خود باعث افزایش استفاده از داشبورد ها خواهد شد.

Bookmark در واقع قابلیتی است که شما را قادر می سازد تا وضعیتی خاص از گزارشات خود را ذخیره کرده و به سرعت به آن دست پیدا کنید و کلید حل مشکل ما این بار نیز در دستان Bookmark قرار داده شده است. برای بررسی نحوه پیاده سازی پاک کردن انتخاب های کاربر در Power BI به پیاده سازی یک مثال می پردازیم.

فرض کنید که گزارشی تهیه کرده اید که میزان فروش، هزینه و سود را بر حسب گروه کالا، سطوح شغلی مختلف و همچنین سال های مختلف، نمایش می دهد. تصویر این گزارش را در زیر مشاهده می نمایید.

clear filter 01 - پاک کردن انتخاب های کاربر در Power BI

همان طور که مشاهده می کنید اسلایسر های مختلفی در گزارش تعبیه شده که کاربر به کمک آن ها می تواند گزارش را بر حسب مقادیر مختلف فیلتر کند.

برای پیاده سازی پاک کردن انتخاب های کاربر در Power BI کافی است، ابتدا وضعیت فعلی گزارش که هیچ گونه فیلتری بر روی آن اعمال نشده است را در قالب یک Bookmark ذخیره کنیم.

برای این منظور به تب view رفته و Bookmark را انتخاب می کنیم. بر روی دکمه Add کلیک کرده و وضعیت فعلی (بدون فیلتر) را ذخیره می کنیم. سپس بر روی آن کلیک راست نموده و نام آن را به یک نام مناسب تغییر می دهیم. به طور مثال من نام Clear Filter را برای این Bookmark انتخاب کرده ام. مراحل ایجاد بوکمارک را به صورت مرحله به مرحله در تصویر زیر مشاهده می نمایید.

clear filter 02 - پاک کردن انتخاب های کاربر در Power BI

حال فیلتر های مختلفی را بر روی گزارشات اعمال می کنیم. همان طور که مشاهده می کنید چارت های مختلف بر اساس مقادیر انتخابی کاربر فیلتر می شوند. در تصویر گزارش های فیلتر شده توسط کاربر را مشاهده می نمایید. گزارش ما وضعیت معیار های مختلف را بر روی گروه Bikes و سطح شغلی Professional در سال ۲۰۱۰ را نمایش می دهد.

حال با جستجوی عبارتی مانند Eraser Icon در گوگل یک آیکن مناسب و دلخواه را ذخیره می کنیم. از طریق تب Insert و با کلیک بر روی image، آیکن مورد نظر را در گزارش خود قرار می دهیم.

clear filter 04 - پاک کردن انتخاب های کاربر در Power BI

حال باید بوکمارک ایجاد شده را به این آیکن معرفی کنیم. برای این کار بر آیکن تصویر کلیک کرده و از ویژگی های آن Action را فعال کرده و آن را در وضعیت Bookmark قرار می دهیم. حال از قسمت Bookmark نام وضعیت مورد نظر خود را انتخاب می نماییم. مراحل انجام این عمل را در تصویر زیر مشاهده می کنید.

clear filter 05 - پاک کردن انتخاب های کاربر در Power BI

حال اگر کاربر هنگام کار با گزارش بر روی آیکن پاک کن کلیک نماید، گزارش به وضعیت قبل از فیلتر تغییر می کند. توجه کنید برای انجام این عمل در Power BI Desktop باید کلید ctrl را نگه داشته و سپس بر روی آیکن کلیک کنید، اما در Power BI Report Server، تنها کافیست بر روی آیکن مورد نظر کلیک نمایید. در تصویر متحرک زیر نتیجه عملیات مورد نظر را مشاهده می کنید.

clear filter 06.png - پاک کردن انتخاب های کاربر در Power BI

همان طور که مشاهده می کنید با یک ترفند ساده می توانید کاربر را از سردرگمی و گم شدن میان انتخاب هایش نجات دهید! مهم نیست کاربر فیلتر ها را با استفاده از اسلایسر بر روی گزارش ها اعمال کرده یا با کلیک بر روی گزارش ها این عمل را انجام داده است! مهم این است که با کلیک بر روی آیکن مورد نظر شما به وضعیتی که از قبل تعیین نموده اید، منتقل می شوید.

توجه کنید برای هر صفحه شما نیاز به تکرار این عملیات خواهید داشت. در واقع شما باید وضعیت بدون فیلتر هر صفحه را در قالب یک بوکمارک ذخیره نموده و با قرار دادن آیکن در آن صفحه وضعیت گزارش را به حالت بدون فیلتر در آورید.

در این مطلب به بررسی نحوه پیاده سازی پاک کردن انتخاب های کاربر در Power BI پرداختیم. شما نیز این عمل را در گزارش های خود انجام داده و گزارش های با کیفیت تری را در اختیار کاربر خود قرار دهید. گزارش هایی که با جذابیت بیشتر در اختیار کاربر قرار گیرند و با سهولت بیشتری توسط او مورد استفاده واقع شوند، قطعا با نتایج بهتری همراه خواهند بود.


ورود اطلاعات به پاور بی ای

ورود اطلاعات به پاور بی ای

در این مطلب به بررسی نحوه ورود اطلاعات به پاور بی ای خواهیم پرداخت. Power BI قابلیت اتصال به طیف گسترده ای از منابع داده را داراست و این یکی از نقاط قوت Power BI به شمار می رود.

در این مطلب به بررسی منابع داده پرکاربرد به منظور ورود اطلاعات به پاور بی ای خواهیم پرداخت. اتصال به منابع داده ای مختلف در Power BI از طریق تب Home و Get Data قابل انجام است.

همان طور که مشاهده می کنید تعدادی از منابع داده لیست شده و برای مشاهده سایر منابع داده می توایند از گزینه More استفاده کنید.

connect to data source power bi 03 - ورود اطلاعات به پاور بی ای

برای بررسی نحوه ورود اطلاعات به Power BI گزینه More را انتخاب کنید.

connect to data source power bi 05 - ورود اطلاعات به پاور بی ای

File

همان طور که مشاهده می کنید منابع داده به بخش های مختلفی تقسیم شده است. اولین آن ها دسته File ها هستند که شامل منابع داده بسیار پرکاربردی است. منابع داده از جمله: Excel، csv، xml، Json و حتی Pdf

قطعا اکثر شما با منابع داده ای مانند اکسل و Csv آشنا هستید. Folder نیز یکی از مهمترین منابع داده ای است که Power BI از آن پشتیبانی می کند. به طور مثال به طریق زیر می توانیم یه یک فایل csv متصل شویم.

کافیست گزینه csv را انتخاب و فایل مورد نظر را از مسیر مربوطه انتخاب کنیم. می توانید جدا کننده (Delimiter) را مشخص کنید، تعیین کنید نوع داده با توجه به چند ردیف اول تعیین شود. همچنین می توانید مستقیم داده را بارگذاری کنید (Load) یا برای پاکسازی و تغییر شکل آن، به محیط Power Query بروید (Transform).

connect to data source power bi 06 - ورود اطلاعات به پاور بی ای

برای اتصال به فایل اکسل نیز می توانید به طریق زیر عمل کنید. از Get Data گزینه Excel را انتخاب نموده و مسیر فایل مربوطه را مشخص می کنیم. باکسی مانند تصویر زیر باز خواهد شد. شیت های موجود در فایل اکسل لیست می شود. شیت مورد نظر را انتخاب کنید و مانند قبل می توانید مستقیما داده ها را بارگذاری نموده یا برای عملیات پاکسازی داده به بخش Transform بروید.

connect to data source power bi 07 - ورود اطلاعات به پاور بی ای

Database

اگر به دسته Databases برویم، با پایگاه داده های معروفی چون SQL Server، Oracle، Access، DB2، PostgereSQL و MySQL روبرو می شویم.

connect to data source power bi 08 - ورود اطلاعات به پاور بی ای

این بخش نیز مانند بخش فایل از مواردی است که کاربران بیشترین سر و کار را با آن خواهند داشت. به طور مثال می خواهیم به SQL Server متصل شویم. باید به ترتیب زیر عمل کنیم. از گزینه ها Databases را انتخاب نموده و SQL Server را انتخاب نمایید.

ابتدا نام سرور و سپس نام دیتابیس را وارد کنید. سپس نوع اتصال خود را از میان دو نوع import و Direct انتخاب کنید. در مطالب گذشته به طور جامع در مورد تفاوت های دو روش import و Direct Query صحبت شده است.

اما به طور کلی ترجیح ما استفاده از روش import به دلیل سرعت بالاتر و همچنین دستیابی به تمامی امکانات DAX و Power Query است. همچنین در صورت تمایل می توانید به جای انتخاب جداول، از دستورات T-SQL استفاده کنید.

connect to data source power bi 09 - ورود اطلاعات به پاور بی ای

باکسی مانند تصویر پیش روی شما باز خواهد شد. شما می توانید جداول یا View های مورد نظر را انتخاب نموده و آن ها را بارگذاری کنید یا برای سر و شکل دادن به داده ها به محیط Power Query بروید. حداقل کاری که برای بهبود عملکرد خود می توانید در Power Query انجام دهید، حذف ستون های اضافی است.

connect to data source power bi 10 - ورود اطلاعات به پاور بی ای

Azure

دسته Azure قابلیت اتصال به خانواده Azure را به شما می دهد.

connect to data source power bi 1 - ورود اطلاعات به پاور بی ای

Online Services

در بخش Online Services می توانید به Dynamic 365، Salesforce، Google Analytics، Github و بسیاری از سرویس ها متصل شوید.

connect to data source power bi 11 - ورود اطلاعات به پاور بی ای

Other

این بخش بعد از file و Database از مهمترین دسته ها به شمار می رود. بخشی که شما را قادر می سازد داده های صفحات وب را واکشی کنید. از کد های R و Python استفاده نمایید و همچنین از Blank Query استفاده نمایید.

به طور مثال فرض کنید می خواهید داده های جدولی یک آدرس اینترنتی را استخراج کنید. کافی است وب را انتخاب نموده و آدرس را وارد نمایید.

connect to data source power bi 12 - ورود اطلاعات به پاور بی ای

با کلیک بر روی OK، داده های جدولی شما شناسایی می شوند. شما می توانید جدول مورد نظر خود را انتخاب نموده و طبق معمول از Load یا Transform یکی را انتخاب کنید.connect to data source power bi 13 - ورود اطلاعات به پاور بی ایهمچنین می توانید از قابلیت Blank Query استفاده نمایید. شما می توانید یک کوئری سفارشی در محیط Power Query ایجاد نمایید. فرض کنید می خواهید زمان آخرین به روز رسانی را ذخیره کنید.

کافیست یک فرمول ساده بنویسید، تا نتیجه مورد نظر پدیدار شود.

connect to data source power bi 14 - ورود اطلاعات به پاور بی ای

حال کافیست با کلیک بر روی گزینه To Table نتیجه کوئری را به جدول تبدیل کنید.

connect to data source power bi 17 - ورود اطلاعات به پاور بی ای

نتیجه نهایی به صورت زیر خواهد بود.

connect to data source power bi 18 - ورود اطلاعات به پاور بی ای

در این مطلب به مرور نحوه ورود اطلاعات به پاور بی ای پرداختیم و سعی کردیم به بررسی نحوه واکشی داده از منابع داده بپردازیم. امکان اتصال و واکشی داده به همه منابع برای ما امکان پذیر نیست. اما سعی شد برخی از منابع داده ای پرکاربرد معرفی گردد. شما نیز تجربیات خود را از اتصال به منابع داده ای با ما در میان بگذارید.


آموزش Power BI صفر تا سکو : bookmark

آموزش Power BI صفر تا سکو : bookmark

در ادامه آموزش سریالی Power BI به بررسی Bookmark در Power BI می پردازیم. اگر مایل به مطالعه قسمت های قبل هستید برچسب Power BI صفر تا سکو را دنبال کنید.

با استفاده از Bookmark ها گزارشات جذاب تری خواهید داشت. Bookmark ها به شما در ذخیره یک وضعیت خاص کمک می کنند. این عمل علیرغم پیاده سازی بسیار آسان، قدرت شگرفی به شما اعطا خواهد کرد.

Bookmark در Power BI کاربرد بسیاری دارد. فرض کنید کاربر معمولا انتخاب های ترکیبی مشخصی را مورد استفاده قرار می دهد. شما می توانید ترکیبات پرکاربرد را از قبل ذخیره نموده و در اختیار کاربر قرار دهید تا با سهولت بیشتری آن ها را مورد استفاده قرار دهد.

به طور مثال به تصویر زیر و گزارشات ایجاد شده توجه کنید. این گزارش شامل تعداد گزارش و اسلایسر است که کاربر می تواند مقادیر مختلف را انتخاب و و بر اساس آن ها گزارش ها را فیلتر نماید.

bookmark 01 - آموزش Power BI صفر تا سکو : bookmark

حال فرض کنید کاربر به برخی از ترکیبات از این اسلایسر ها علاقه مند است. مثلا کاربر دوست دارد فروش دوچرخه به شغل های مدیریتی در سال ۲۰۱۰ را مشاهده نماید. خروجی مورد نظر را در تصویر زیر مشاهده می نمایید.

bookmark 02 - آموزش Power BI صفر تا سکو : bookmark

ما می توانیم به کاربر کمک کنیم تا این وضعیت را ذخیره نموده و از انتخاب فیلتر های متعدد جلوگیری نماییم. برای این منظور کافی است به تب View رفته و Bookmarks را انتخاب نمایید. حال Add را انتخاب کرده تا وضعیت جاری شما ذخیره گردد. می توانید نام این وضعیت را به دلخواه خود تغییر دهید.

bookmark 03 - آموزش Power BI صفر تا سکو : bookmark

حال نام این وضعیت را تغییر دادیم. حال می توانید یک دکمه در گزارش خود تعبیه کنید تا کاربر با کلیک بر روی آن به وضعیت مورد نظر منتقل شود. پس از تب Insert، بر روی Button کلیک کنید. می توانید هر یک از گزینه های موجود را انتخاب نمایید.

bookmark 04 - آموزش Power BI صفر تا سکو : bookmark

ما Blank را انتخاب کردیم. از قسمت Button Text نام مورد نیاز را برای دکمه تعبیه شده انتخاب می کنیم.

bookmark 05 - آموزش Power BI صفر تا سکو : bookmark

حال در بخش Action وضعیت Type را در حالت Bookmark قرار می دهیم و در قسمت Bookmark نام وضعیت انتخابی خود را قرار می دهیم.

bookmark 06 - آموزش Power BI صفر تا سکو : bookmark

همان طور که مشاهده می کنید هیچ فیلتری بر روی گزارشات اعمال نشده است. کافی است بر روی دکمه تعبیه شده کلیک کنید. دقت کنید همان طور که در تصویر هم مشخص است برای فعال سازی وضعیت در Power BI Desktop نیاز به نگه داشتن کلید Ctrl و کلیک بر روی دکمه مورد نظر خواهید داشت. اما در Power BI Report Server تنها کلیک بر روی دکمه کفایت می کند.

bookmark 07.png - آموزش Power BI صفر تا سکو : bookmark

همان طور که در تصویر متحرک مشاهده می نمایید، با کلیک بر روی دکمه مورد نظر وضعیت مورد نظر پدیدار شده و گزارش ها بر اساس مقادیر مورد نظر کاربر فیلتر می شوند. دقت کنید که ایجاد بوکمارک محدودیتی ندارد و شما به هر تعداد که نیاز داشته باشید می توانید بوکمارک ایجاد کنید.

یکی از کاربرد های دیگر Bookmark جابه جایی بین صفحات است. فرض کنید، دو صفحه در داشبورد خود دارید. می خواهید دکمه ای تعبیه کنید که کاربر با کلیک بر روی آن به صفحه بعد منتقل شود.

برای ایجاد دکمه می توانید آیکن مورد نظر خود را از طریق تب Insert و از image انتخاب نموده و آن را در صفحات مورد نظر خود قرار دهید.

bookmark 21 - آموزش Power BI صفر تا سکو : bookmark

ابتدا باید دو بوکمارک از صفحات خود تهیه کرده و نام دلخواه را برای آن ها در نظر بگیرید. برای این منظور یک بار به صفحه Sales رفته و یک بوکمارک تهیه می کنیم.

bookmark 13 - آموزش Power BI صفر تا سکو : bookmark

حال Action را برای دکمه مورد نظر فعال کرده و نام بوکمارک مربوط به صفحه مقصد را وارد می کنیم.

bookmark 14 - آموزش Power BI صفر تا سکو : bookmark

یک بوکمارک هم برای صفحه Cost نیاز داریم. برای این منظور باید به صفحه مورد نظر رفته و همانجا Bookmark را ایجاد نمایید.

bookmark 14 1 - آموزش Power BI صفر تا سکو : bookmark

سپس برای تصویر موجود در این صفحه نیز Bookmark صفحه مقصد را مشخص می کنیم.

bookmark 16 - آموزش Power BI صفر تا سکو : bookmark

در تصویر متحرک زیر نتیجه را مشاهده می کنید.

Power BI Bookmark - آموزش Power BI صفر تا سکو : bookmark

 


آموزش DAX در Power Bi قسمت سوم

آموزش DAX در Power Bi قسمت سوم

در ادامه آموزش سریالی زبان DAX، به آموزش DAX در Power BI قسمت سوم رسیدیم. اگر قسمت های قبلی را مطالعه نکردید، حتما کمی زمان برای مطالعه قسمت های قبلی این آموزش اختصاص دهید، چرا که بدون داشتن دانش مدل سازی و عملکرد روابط کار کردن با زبان DAX اندکی پیچیده خواهد شد.

در قسمت های قبل با مفاهیم و پایه های زبان DAX، آشنا شدیم، نحوه عملکرد روابط و مدل سازی داده را با هم بررسی کردیم. حال نوبت به آشنایی با نحوه نوشتن کد های DAX می رسد.

Syntax

قبل از نوشتن نام یک ستون، حتما باید نام جدول آن را ذکر کنید، در حالی که برای نوشتن نام مژر، نباید نام جدول ذکر شود. مژر یک ماهیت فیزیکی نیست و در جدول خاصی ایجاد نمی شود، در حالی که ستون یا جدول به صورت فیزیکی به مدل و جداول اضافه می شوند.

همان طور که در تصویر مشاهده می کنید Sales[Quantity] در واقع به ستون Quantity از جدول Sales اشاره دارد.

dax series 2 - آموزش DAX در Power Bi قسمت سوم

توجه کنید که اگر نام جدول شما با شماره آغاز می شود، یا نام آن دارای Space بوده و همچنین اگر از نام های رزرو شده در نام گذاری جدول استفاده شده باشد، باید نام جدول را در علامت کوتیشن قرارد دهید. در جدول زیر به ستون Quantity از جدول Order Details اشاره شده است.

dax series 4 - آموزش DAX در Power Bi قسمت سوم

برای نوشتن مژر اکیدا از نوشتن نام جدول خودداری نمایید. به تصویر زیر توجه کنید. در تصویر زیر به مژر TotalQuantity اشاره شده است.

dax series 5 - آموزش DAX در Power Bi قسمت سوم

در صورتی که تمایل دارید در کدهای خود از Comment استفاده کنید، از علامت های – – یا // استفاده نمایید. کامنت گذاری در کد ها باعث خوانایی کد خواهد شد. توجه کنید که با استفاده از علامت – – کدهای آن خط به صورت سبز رنگ در خواهد آمد و این قسمت ها تاثیری در کد های شما نخواهد گذاشت. به تصاویر زیر توجه کنید.

dax series 6 - آموزش DAX در Power Bi قسمت سوم

اگر تمایل دارید چند خط از کد خود را کامنت گذاری کنید یا از چرخه اجرا خارج کنید باید در ابتدای قسمت مورد نظر از علامت */ و در انتهای آن از /* استفاده کنید.

dax series 7 - آموزش DAX در Power Bi قسمت سوم

DAX Data Type

Power BI از انواع مختلفی از Data Type ها پشتیبانی می کند. برای ذخیره اعداد صحیح از نوع داده ای Integer بهره می گیرد. برای اعداد اعشاری از نوع داده Decimal استفاده می کند. همچنین برای ذخیره تاریخ میلادی از نوع داده ای DateTime استفاده می شود. توجه کنید که این نوع داده برای ذخیره نمایش تاریخ میلادی استفاده می شود. برای ذخیره تاریخ شمسی باید از نوع ذخیره رشته ای (String) استفاده شود.

در Power BI از نوع داده ای String برای ذخیره رشته و متن استفاده می شود، همچنین برای ذخیره اطلاعاتی مانند عکس از نوع داده ای Binary در نظر گرفته می شود. Power BI از نوع داده Boolean یا TRUE/FALSE نیز پشتیبانی می کند.

dax series 8 - آموزش DAX در Power Bi قسمت سوم

توجه کنید که اگر در یک ستون اطلاعات ترکیبی وارد کنید، نوع ستون به نوع عمومی تر تغییر حالت می دهد. در واقع اگر شما عدد صحیح و رشته را در یک ستون وارد کنید، نوع داده به رشته تغییر می کند، یا اگر عدد صحیح و عدد اعشاری را با هم در یک ستون وارد کنید، نوع داده به اعشاری تغییر حالت می دهد.

اپراتور ها

عملگر های ریاضی در زبان DAX

در زبان DAX می توانید از عملگرهای ریاضی مانند جمع (+)، ضرب (*)، منها (-) و تقسیم (/) استفاده کنید. این عملگرها می تواند بین اعداد یا ستون ها مورد استفاده قرار بگیرد.

به طور مثال فرض کنید می خواهید ستون جدیدی در جدول فروش بسازید و تعداد فروش را در قیمت فروش ضرب کنید.

Amount = Sales[OrderQuantity] * Sales[UnitPrice]

dax series 9 - آموزش DAX در Power Bi قسمت سوم

یا به طور مثال می خواهید دو ستون Freight و TaxAmount را جمع کنید. دقت کنید که برای جمع دو ستون و ایجاد ستون جدید لازم نیست از تابع  SUM استفاده کنید.

dax series 10 - آموزش DAX در Power Bi قسمت سوم

به همین ترتیب می توانید برای انجام عمل ضرب و تقسیم بین ستون ها نیز به همین ترتیب عمل کنید.

عملگر های مقایسه ای در زبان DAX

برای مقایسه نیز می توانید از عملگر برابر (=)، نابرابر (<>)، بزرگتر (<)، کوچکتر (>)، بزرگتر مساوی (=<)، کوچکتر مساوی (=>) استفاده نمایید.

دقت کنید که باید مقادیر رشته ای در دبل کوتیشن قرار بگیرند. به مثال زیر توجه کنید.

Product[CategoryName] = “Bikes”

Product[CategoryName] <> “Bikes”

Sales[Quantity] = 1

Sales[Quantity] > 1

Sales[Quantity] < 1

Sales[UnitPrice] = 100
Sales[UnitPrice] >= 1

Sales[UnitPrice] <= 1

توجه کنید برای مقایسه های این چنینی باید دو طرف مقایسه از یک جنس باشند و گرنه با خطا مواجه خواهید شد. به مثال زیر توجه نمایید.

dax series 11 - آموزش DAX در Power Bi قسمت سوم

این مورد از خطا هایی است که زیاد با آن مواجه می شوید.

DAX comparison operations do not support comparing values of type Text with values of type Integer. Consider using the VALUE or FORMAT function to convert one of the values.

البته در این مورد خطا واضح به نظر می رسد اما مثال زیر را در نظر بگیرید.

dax series 12 - آموزش DAX در Power Bi قسمت سوم

با وجود اینکه ستون Quantity عددی است و این ستون با مقدار عددی ۱ مقایسه شده است با خطا مواجه شدیم، چرا که اگر چه ظاهر این ستون عددی به نظر می رسد اما به صورت Text ذخیره شده است. اگر نوع داده ای این ستون را به صورت عددی تغییر دهیم، خطا رفع خواهد شد.

dax series 13 - آموزش DAX در Power Bi قسمت سوم

در این جا به پایان ایستگاه آموزش DAX در Power BI قسمت سوم رسیدیم. امیدوارم از مطالب استفاده لازم را ببرید و همچنان پا به پای ما این آموزش را ادامه دهید.


آموزش DAX در Power Bi قسمت دوم

آموزش DAX در Power Bi قسمت دوم

در ادامه آموزش سریالی زبان DAX به آموزش DAX در Power Bi قسمت دوم می رسیم. در این قسمت به بررسی Data Model می پردازیم. نحوه عملکرد کد های DAX به طور کامل بستگی به مدل داده شما دارد. مدل سازی داده تعیین می کند که کد های شما به چه میزان پیچیده باشند و عملکرد آن ها چگونه باشد.

ابتدا قسمت اول این آموزش را مطالعه نموده و پس از آن با قسمت دوم با ما همراه باشید.

Data Model چیست؟

Data Model در واقع مجموعه ای از جداول و روابط هستند. جداول از مجموعه ای از سطر ها و ستون ها تشکیل می شوند که هر ستون حاوی یک ویژگی است که نوع داده ای (Data Type) خاصی را میزبانی می کند. به طور مثال جدول مشتری می تواند شامل یک ستون مانند جنسیت باشد. در واقع جنسیت یک ویژگی از جدول مشتری است.

یک جدول هم به خودی خود می تواند یک مدل داده ساده محسوب شود. مدل سازی لزوما یک کار عجیب و غریب و پیچیده نیست و می تواند به سادگی ایجاد یک جدول در اکسل باشد.

از طرفی دیگر، مدل داده می تواند شامل چندین جدول باشد که با روابط (Relationship) با هم ارتباط برقرار کرده اند. مدل سازی داده اگر چه کار پیچیده ای نیست اما می تواند به شما قدرت شگرفی در نوشتن کد های DAX ارائه کند.

اگر بر روی برچسب Data Modeling را در انتهای همین مطلب کلیک کنید به مطالب بسیار مفیدی خواهید رسید. آن ها را به دقت مطالعه کنید و قدم های ابتدایی خود را محکم بردارید.

dax training 2 - آموزش DAX در Power Bi قسمت دوم

روابط در Power BI

همان طور که در تصویر مشاهده می کنید معمولا روابط به صورت یک به چند هستند. طرف یک با عدد یک نمایش داده شده و طرف چند با علامت * نمایش داده می شود.

این رابطه بر اساس ستون های مشترک در دو جدول ایجاد می شود. توجه کنید که حتما و حتما ستون مشترک در طرف یک رابطه (سمت ۱) باید دارای مقادیر یکتا باشد و گرنه این رابطه ایجاد نخواهد شد.

نحوه تشخیص سمت یک و چند به این ترتیب است که به ازای یک نمونه از جدول سمت ۱، چندین نمونه در سمت چند رابطه وجود دارد. به طور مثال بین ۲ جدول کالا و فروش رابطه یک به چند وجود دارد.

در واقع جدولی حاوی اطلاعات کالا داریم که هر ردیف اطلاعات یک کالا را در خود جای داده است. این جدول بدون تکرار است و نمی تواند دارای مقادیر Blank باشد. از طرفی به ازای هر کالا، چندین ردیف در جدول فروش ثبت شده است، چرا که هر کالا ممکن است چندین بار به فروش برسد. پس کالا سمت یک رابطه و فروش سمت چند رابطه قرار می گیرد.

همین طور برای گروه کالا و کالا یک رابطه یک به چند برقرار است. یعنی به ازای هر گروه کالا، چندین کالا ثبت شده است. پس کالا سمت چند و گروه کالا سمت یک رابطه است.

جهت رابطه بر روی روابط در واقع جهت فیلترینگ را نمایش می دهد. باید دقت داشته باشید که ویژگی های جدول سمت یک رابطه می توانند اعداد و ارقام جهت چند رابطه را برش بزنند.

به مثال زیر توجه کنید.

جنسیت یک ویژگی از جدول مشتریان (Customer) است. جدول مشتریان در سمت یک رابطه و جدول فروش در سمت چند رابطه قرار گرفته است. اعداد و ارقام مربوط به فروش مانند قیمت و تعداد کالای فروش رفته در سمت چند رابطه هستند. پس ویژگی های جدول مشتریان می تواند اعداد و ارقام موجود در جدول فروش را برش بزند.

کافی است ویژوالی انتخاب کرده و یک ویژگی از جدول مشتریان مانند جنسیت، سن، تحصیلات و … را به عنوان Dimension انتخاب کنید و ویژگی هایی از جدول فروش مانند تعداد فروش را در Value قرار دهید. همه چیز مطابق انتظار پیش می رود و تعداد فروش به تفکیک جنسیت نمایش داده می شود.

dax training 3 - آموزش DAX در Power Bi قسمت دوم

همان طور که در تصویر زیر مشاهده می کنید جهت روابط از سمت جدول مشتری به سمت جدول فروش است، پس جدول هر ویژگی از جدول مشتریان می تواند اعداد و ارقام جدول فروش را فیلتر کند.

dax training 7 - آموزش DAX در Power Bi قسمت دوم

دقت کنید لازم نیست جداول مورد نظر مستقیم به هم متصل باشند. کافیست روابط آن ها در یک امتداد باشند. به جدول گروه کالا (Category) دقت کنید. این جدول نیز می تواند اطلاعات جدول فروش را برش بزند چرا که تا جدول فروش رابطه در یک جهت حرکت می کند.

در واقع ویژگی های جدول گروه کالا به عنوان سمت یک رابطه با جدول زیر گروه کالا (Subcategory)، اطلاعات جدول زیر گروه کالا را برش می زند، حال جدول زیر گروه کالا خود به عنوان جدول سمت یک رابطه با جدول کالا، جدول کالا را فیلتر نموده و جدول کالا به عنوان سمت یک رابطه با جدول فروش، اطلاعات جدول فروش را برش می زند.

حال سعی می کنیم بر اساس یک ویژگی از جدول مشتریان، تعداد کالا ها را برش بزنیم. آیا این امر امکان پذیر است؟ آفرین! درست حدس زدید. این ممکن نیست. چرا که روابط آن ها در یک امتداد نیست.

dax training 5 1 - آموزش DAX در Power Bi قسمت دوم

نتیجه همان طور که در تصویر زیر مشخص است نمایش مقادیر یکسان به ازای سطوح شغلی مختلف است. عدد نمایش داده شده برای تمام سطح های شغلی عدد ۶۰۶ است که برابر با تعداد کل کالا هاست. این بدین معنیست که ویژگی شغل از جدول مشتریان قادر به برش زدن جدول کالا نبوده است.

پس از جدولی که قرار است بر اساس ویژگی های آن فیلتر را انجام دهید شروع به حرکت کنید. تا زمانی که زنجیره ۱ به چند در یک امتداد حرکت می کند برش زدن اعداد و ارقام امکان پذیر است. به محض عوض شدن جهت روابط، انتشار فیلتر متوقف می شود.

dax training 6 - آموزش DAX در Power Bi قسمت دوم

خب به پایان آموزش DAX در Power Bi قسمت دوم رسیدیم. حتما و حتما برچسب Data Modeling را در سایت دنبال کنید و مطالب مربوط به آن را مطالعه کنید.