استفاده از تاریخ شمسی در PowerBI

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

همونطور که قطعا باهاش برخورد داشتید در حال حاضر Power BI از تاریخ هجری شمسی پشتیبانی نمی کنه و از امکاناتی مثل روز، تاریخ، ترتیب، ماه و حتی ساختار درختی پشتیبانی نمی کنه. پس نیاز داریم که بعضی کارهارو رو خودمون به صورت دستی انجام بدیم. که در پائین مراحل کار رو به ترتیب توضیح می دم.

مرحله اول: ساخت جدول تاریخ فارسی

من برای این کار توی دیتابیسم یک جدول ایجاد کردم که شامل اطلاعات لازم برای کار با تاریخ فارسی هست ساختار جدول در تصویر زیر قابل ملاحظه است:

جدول تاریخ موجود در دیتابیس

کوئری ساخت جدول بالا در SQL Server:

CREATE TABLE [dbo].[tbl_Calendar](

       [ID] [int] NOT NULL,

       [DateTime] [date] NOT NULL,

       [year] [smallint] NOT NULL,

       [quarter] [tinyint] NOT NULL,

       [month] [tinyint] NOT NULL,

       [dayofyear] [smallint] NOT NULL,

       [day] [smallint] NOT NULL,

       [week] [tinyint] NOT NULL,

       [weekday] [tinyint] NOT NULL,

       [persiandate] [nvarchar](10) NOT NULL,

       [Pyear] [smallint] NULL,

       [Pquarter] [tinyint] NULL,

       [Pmonth] [tinyint] NULL,

       [Pday] [smallint] NULL,

       [Pweek] [tinyint] NULL,

       [PDayOfYear] [smallint] NULL,

       [PDayName] [nvarchar](50) NULL,

       [PMonthName] [nvarchar](50) NULL,

       [PSeasonName] [nvarchar](20) NULL

) ON [PRIMARY]

من با استفاده از C# جدول رو از سال 1380 تا 1410 پر کردم. با این ساختاری که می بینید خیلی از پردازش ها کاسته می شه و همینطور شما هر  وقت که لازم داشته باشید بدون توابع سخت و پیچیده به سادگی هر اطلاعاتی از روز رو که لازم داشتید استخراج کنید.

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

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

مرحله دوم: وارد کردن اطلاعات به Power BI

ابتدا پس از باز کردن Power BI Desktop از قسمت GetData گزینه Excel رو مطابق شکل باز می کنیم:

وارد کردن اطلاعات از Excel

پس از انتخاب فایل مورد نظر و کمی صبر صفحه ای باز میشه که در اون می بایست جدول مورد نظرمون رو انتخاب کرده و دکمه Transform Data رو میزنیم تا صفحه Power Query Editor باز بشه. در این صفحه هر آنچه از ستون های مورد نظرمون هست رو نگه داشته و اون ستون هایی که نیاز نداریم و استفاده نمیشن در گزارشمون حذف می کنیم.

از اونجائی که نیازی به اطلاعات تاریخ میلادی نداشتم اونهارو حذف و نام برخی ستون رو عوض کردم.
ممکنه که در این قسمت ما نیاز داشته باشیم تا برخی تغییرات در این جدول اعمال کنیم به عنوان مثال دوره شش ماهه از سال رو هم محاسبه کنیم. برای این کار از قسمت Add Column گزینه ی Conditional Column رو انتخاب کرده و در صفحه مورد نظر مقادیر رو مطابق تصویر زیر اعمال می کنیم و Ok رو می زنیم.


کار با  Conditional Column

در نهایت گزینه ی Close & Apply رو انتخاب می کنیم تا داده ها به Power BI اضافه بشن.

مرحله سوم: ساختار درختی

در این مرحله باید ساختار درختی تاریخ رو برای استفاده در نمودارهامون بسازیم. در صفحه Model لیست جداول مورد استفاده در گزارش قابل مشاهده است. با کلیک بر روی جدول PersianCalendar در سمت راست صفحه ستون های جدولمون قابل مشاهده هستند با راست کلیک بر روی سال گزینه Create Hierarchy رو انتخاب می کنیم. 

 

Create Hierarchy

سپس در صفحه باز شده آیتم های مورد نظرمون رو مطابق تصویر زیر به ترتیب دلخواه اضافه می کنیم:

ساخت ساختار درختی تاریخ

نکته: در مورد ساختار درختی ما می تونیم به تعداد دلخواه برای کاربردهای مختلف این ساختار رو ایجاد کنیم.

مرحله چهارم: تنظیم ترتیب نمایش هر آیتم

برای نمایش زیبای گزارشات بهتره که ماه هایی که داریم به ترتیب سال نمایش بدیم و همینطور مابقی موارد. برای این کار در قسمت Fields بر روی هر کدوم از ستون ها مورد نظر کلیک کرده و در صفحه Properties در قسمت Advanced مورد Sort by column را تغییر می دهیم. در مثال زیر ما نام ماه را بر اساس ماه(شماره ماه) Sort می کنیم. همین کار را برای مابقی موارد نیز انجام می دهیم.

تغییر Sorting موارد

مرحله پنجم: استفاده در نمودار

خوب حالا که تقریبا تمام کارهای لازم رو برای ساخت جدول تاریخمون رو انجام دادیم حالا نوبت به استفاده ازش در نمودار می رسه. برای این کار کافیه که نمودار مورد نظرمون رو در صفحه اضافه کنیم و در نهایت ساختار درختی تاریخی که ساختیم رو به قسمت Axis اضافه کنیم.

استفاده تاریخ درختی در نمودار

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

چیدمان سال در نمودار

چیدمان ماه در نمودار

پاور بی آی PowerBI هوش تجاری اکسل مایکروسافت تاریخ فارسی هجری شمسی ابزار پاور بی آی