This article is about how to create/add a Shamsi date table to your Power BI report with the Power Query, so as most of the users of this type of calendar is Persian, I wrote this article in Farsi. If you need to add a Shamsi Calendar table to your report, the steps are the same as my previous post "Creating Calendar Table with Power Query M Function", follow the steps and use this post script.
همانطور که میدانید داشتن جدول تاریخ برای ساخت یک گزارش پویا واستفاده از فرمولهای DAX مربوط به زمان در Power BI الزامی می باشد. از آنجا که ساخت این جدول برای تاریخ میلادی بسیار راحت است و روشهای متعددی برای ساخت این جدول در Power BI وجود دارد کنجکاو شدم چطور میتوان این جدول را با استفاده از کد نویسی برای تاریخ شمسی ساخت که نهایتا به این پست و این کد ختم شد.
برای ساخت جدول تاریخ شمسی در Power BI با این روش نیاز هست سه مرحله زیر را انجام دهید:
مرحله اول: ایجاد fxDateShamsi
دانلود کردن فایل Script و کپی کردن کد در یک Blank Query.
در Power BI Desktop بر روی Get Data کلیک کرده و گزینه Blank Query را انتخاب کنید
در صفحه Power Query باز شده، بر روی Advance Editor کلیک کنید
فایل Script را دانلود کرده و محتوای آن را کپی کنید (تمام کد را انتخاب کرده و کپی کنید)
محتوی کپی شده را به Advance Editor انتقال دهید (Past)
دانلود Script:
دانلود فایل نمونه:
مرحله دوم: انتخاب تاریخ شروع و پایان
رFxQuery ساخته شده دارای دو فیلد می باشد: Start.Date و End.Date که می بایست با توجه به بازه زمانی مورد نیاز برای ساخت جدول تاریخ شمسی مورد نیاز در گزارش Power BI تنظیم شوند.
برای تنظیم این تاریخ ها می بایست تاریخ میلادی روز مورد نظر را انتخاب کرد به عنوان مثال اگر می خواهید جدول تاریخ شما از اول فروردین 1399 شروع شود در فیلد Start.Date می بایست تاریخ میلادی آن روز که 20-March سال 2020 می باشد انتخاب گردد.
در صورتی که میخواهید جدول شما از روی انتخاب شده در فیلد Start.Date شروع شده و تا به امروز ادامه داشته باشد و در هر به روز رسانی گزارش، جدول تاریخ شمسی شما نیز در Power BI به روز گردد، در فیلد End.Date تاریخی انتخاب نکنید یا به اصطلاح آن را خالی (Blank) بگذارید.
مرحله سوم: کلیک بر روی دکمه Invoke
پس از انتخاب تاریخ شروع و پایان بر روی کلید Invoke کلیک کنید، پس از کلیک بر روی این دکمه جدول تاریخ شمسی شما به گزارش Power BI شما اضافه می شود.
نام جدول ساخته شده Invoked Function می باشد، بر روی اسم جدول دوبار کلیک کنید و اسم آن را به Date Table تغییر دهید.
در جدول تاریخ ساخته شده ستون های زیر موجود می باشد:
Date | Shamsi Date | Shamsi Date Number | Shamsi Year |
Shamsi Month | Shamsi Day | Shamsi Month Name | Shamsi Day Name |
YYYY-MM | NimSal | Shamsi Quarter Number | Shamsi Day Of Year |
امیدوارم این روش به شما در ساخت جدول تاریخ شمسی در Power BI کمک کند.
لطفا نظرات و پیشنهاد های خود را در قسمت Comment در پایین صفحه درج فرمایید.
سلام
خیلی کاربردی و مهم بود.
ممنونم
بسیار عالی و کاربردی. ممنون
سلام وحید خان ، با یک جدول مثالی Factsale و ترسیم نمودارهای ستونی سالیانه برای Total Sales (به همراه ماه وروز hierarchy) و محاسبات YTD ، LY sales ، مطلب را کامل بفرمایید. سپاس - کوروش پاشائی