ایجاد و استفاده از تقویم شمسی در Power BI

نظم آران » ایجاد و استفاده از تقویم شمسی در Power BI

تعداد بازدید : 39
ایجاد تقویم شمسی در Power BI

در دنیای امروز، تصمیم گیری های مبتنی بر داده به یکی از ارکان اصلی موفقیت سازمان ها تبدیل شده است. ابزار Power BI به عنوان یکی از قدرتمندترین نرم افزارهای هوش تجاری (Business Intelligence)، این امکان را فراهم می کند تا داده ها را از منابع مختلف جمع آوری، تحلیل و در قالب گزارش ها و داشبوردهای تعاملی نمایش دهیم. اما یکی از چالش هایی که کاربران فارسی زبان، به ویژه در ایران، با آن روبه رو هستند، نبود تقویم شمسی در Power BI است.

در حالی که Power BI به طور پیش فرض از تقویم میلادی (Gregorian Calendar) استفاده می کند، بخش زیادی از کسب وکارهای ایرانی بر اساس تقویم شمسی (Jalali Calendar) فعالیت می کنند؛ از حسابداری مالی گرفته تا برنامه ریزی فروش و مدیریت پروژه ها. همین اختلاف در مبنای زمانی باعث می شود تحلیل های تاریخی و مقایسه های فصلی دچار ناسازگاری شوند و گزارش ها برای کاربران داخلی قابل درک نباشند.

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

اهمیت تقویم شمسی در Power BI در تحلیل داده

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

به صورت پیش فرض، Power BI از تقویم میلادی (Gregorian) استفاده می کند، در حالی که کسب وکارهای ایرانی معمولاً بر اساس سال شمسی برنامه ریزی می کنند. به همین دلیل، وجود اختلاف در نمایش تاریخ ها (به ویژه در گزارش های مالی یا نمودارهای زمانی) می تواند باعث سردرگمی و خطا در تحلیل شود.

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

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

روش های مختلف ایجاد تقویم شمسی در Power BI

روش های ایجاد تقویم شمسی در Power BI

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

  • استفاده از فایل خارجی (Excel یا CSV):
    ساده ترین روش برای شروع است. شما می توانید جدولی از تاریخ های شمسی و میلادی در Excel بسازید و آن را به Power BI ایمپورت کنید. سپس بین ستون های تاریخ میلادی داده ها و جدول تقویم ارتباط برقرار کنید.
  • تبدیل تاریخ با استفاده از Power Query :
    با استفاده از زبان M می توان تاریخ های میلادی را درون Power Query به تاریخ شمسی تبدیل کرد. این روش پویا و قابل تنظیم است و به شما امکان می دهد بدون وابستگی به فایل خارجی، جدول تقویم را مستقیماً در محیط Power BI بسازید.
  • ایجاد جدول تاریخ با فرمول DAX :
    روش دیگر استفاده از تابع CALENDAR یا CALENDARAUTO() در DAX است و سپس تبدیل مقادیر با توابع سفارشی. هرچند این رویکرد کمی محدودتر است، اما سرعت بالاتری دارد.
  • استفاده از Locale (محلی سازی):
    در برخی مواقع با تغییر تنظیمات منطقه ای (Locale) در Power BI، می توان تاریخ ها را با فرمت فارسی و شمسی نمایش داد. هرچند این روش تاریخ را از نظر ساختاری تبدیل نمی کند، اما برای گزارش های نمایشی بسیار کاربردی است.

هر یک از این روش ها برای شرایط خاصی مناسب اند. اگر نیاز به کنترل کامل روی داده ها دارید، روش Power Query با زبان M بهترین گزینه است. اما اگر صرفاً قصد نمایش ظاهری تاریخ شمسی دارید، استفاده از Locale ساده تر خواهد بود.

ایجاد تقویم شمسی در Power BI با زبان M در Power Query

در این بخش، یکی از حرفه ای ترین و دقیق ترین روش ها برای ایجاد تقویم شمسی در Power BI را مرحله به مرحله آموزش می دهیم: استفاده از زبان M در Power Query.ایجاد تقویم شمسی در Power BI با زبان m

  • گام اول: ایجاد یک Query جدید

در Power BI، از منوی بالا گزینه ی
Home → Transform Data → Power Query Editor
را انتخاب کنید. سپس از نوار ابزار گزینه ی New Source → Blank Query را بزنید.

در این مرحله، از بخش Advanced Editor وارد محیط کدنویسی M شوید و کد زیر را وارد کنید:

let

StartDate = #date(2015, 3, 21),  // شروع سال شمسی (۱۳۹۴)

EndDate = #date(2026, 3, 20),    // پایان محدوده تاریخ

Source = List.Dates(StartDate, Duration.Days(EndDate – StartDate), #duration(1, 0, 0, 0)),

AddTable = Table.FromList(Source, Splitter.SplitByNothing(), {“Date”}),

AddYear = Table.AddColumn(AddTable, “Year”, each Date.Year([Date])),

AddMonth = Table.AddColumn(AddYear, “Month”, each Date.Month([Date])),

AddDay = Table.AddColumn(AddMonth, “Day”, each Date.Day([Date])),

AddPersian = Table.AddColumn(AddDay, “PersianDate”, each Date.ToText([Date], “yyyy/MM/dd”, “fa-IR”))

in

AddPersian

این کد یک جدول تاریخ از سال ۲۰۱۵ تا ۲۰۲۶ تولید می کند و علاوه بر تاریخ میلادی، ستون جدیدی با نام PersianDate دارد که تاریخ را به فرمت شمسی نمایش می دهد.

  • گام دوم: تبدیل به جدول تاریخ شمسی

در Power Query، حالا شما یک جدول کامل دارید که شامل تاریخ میلادی و معادل شمسی آن است. می توانید ستون های اضافی مانند ماه شمسی، فصل، یا سال مالی شمسی را اضافه کنید:

AddMonthName = Table.AddColumn(AddPersian, “PersianMonthName”, each Date.ToText([Date], “MMMM”, “fa-IR”)),

AddYearShamsi = Table.AddColumn(AddMonthName, “PersianYear”, each Date.ToText([Date], “yyyy”, “fa-IR”))

پس از انجام این مراحل، با کلیک روی Close & Apply جدول تقویم شمسی شما به مدل داده اضافه می شود.

  • گام سوم: برقراری رابطه (Relationship)

در صفحه ی Model View، ستون Date از جدول داده های اصلی را به Date در جدول تقویم شمسی متصل کنید. از این پس، هر نمودار یا فیلتر زمانی در گزارش های شما بر پایه ی تاریخ شمسی کار خواهد کرد.

نمایش تقویم شمسی در Power BI با تنظیم Locale

ایجاد تقویم شمسی در Power BI به روش locale

گاهی شما نیاز ندارید تاریخ را از نظر ساختار تغییر دهید، بلکه فقط می خواهید در گزارش ها، تاریخ ها با فرمت شمسی نمایش داده شوند. در این حالت می توانید از قابلیت Locale استفاده کنید.

  • تنظیم Locale در سطح Query

در Power Query، روی ستون تاریخ کلیک کنید، سپس از منوی Transform گزینه ی Using Locale را انتخاب کنید. در پنجره بازشده، نوع داده را Date و Locale را روی Persian (Iran) قرار دهید.

Power BI در این حالت، مقادیر تاریخ را با فرمت شمسی (بر اساس تنظیمات فرهنگی فارسی) نمایش می دهد. این کار ساختار داده را تغییر نمی دهد، اما ظاهر گزارش را برای کاربران ایرانی قابل درک تر می کند.

  • تنظیم Locale در Visualization

در بخش Format هر ویژوال (مثلاً Table یا Card)، از قسمت Data Type یا Format می توانید نوع نمایش تاریخ را به قالب شمسی تغییر دهید. برای اعداد و تاریخ ها، گزینه ی fa-IR باعث می شود تاریخ ها به زبان فارسی و شمسی نمایش داده شوند.

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

نکات تکمیلی استفاده از تقویم شمسی در power bi

نکات تکمیلی استفاده از تقویم شمسی در Power BI

پس از ایجاد تقویم شمسی در Power BI، نکات زیر به شما کمک می کند آن را بهینه تر و حرفه ای تر استفاده کنید:

  • مدیریت سال مالی شمسی

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

  • افزودن ستون های کمکی برای فیلترهای پیشرفته

ستون هایی مانند “نام ماه شمسی”، “فصل”، “سال ماه” و “روز هفته” برای فیلترگذاری در نمودارها مفید هستند. این ستون ها را می توانید در Power Query با توابع Date.ToText و Date.MonthName ایجاد کنید.

  • حل مشکل ترتیب ماه ها در گزارش

برای اینکه نمودارها ترتیب ماه ها را درست نمایش دهند (فروردین تا اسفند)، باید ستونی عددی مثل MonthOrder بسازید و از آن برای Sort استفاده کنید.

  • به روزرسانی خودکار تقویم

اگر محدوده تاریخ ثابت نباشد، می توانید با تابع DateTime.LocalNow() در M Script تاریخ پایان را به صورت خودکار بر اساس تاریخ روز تنظیم کنید.

  • اتصال تقویم شمسی به چند جدول

در مدل داده های Power BI فقط می توانید یک رابطه فعال بین دو جدول داشته باشید. برای استفاده از یک تقویم واحد در چند جدول، از سازوکار Role-Playing Dimension یا رابطه غیرفعال (Inactive Relationship) بهره ببرید.

سخن پایانی

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

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

سوالات متداول در مورد تقویم شمسی در power bi

۱. آیا Power BI به صورت پیش فرض از تقویم شمسی پشتیبانی می کند؟
خیر، در حال حاضر Power BI فقط تقویم میلادی دارد. اما با استفاده از Power Query و تنظیم Locale، می توان تقویم شمسی را به صورت کامل ایجاد و استفاده کرد.

۲. تفاوت بین استفاده از Locale و جدول تقویم شمسی در power bi چیست؟
Locale فقط نحوه ی نمایش تاریخ را تغییر می دهد، در حالی که جدول تقویم ساختار داده و قابلیت تحلیل زمانی (Year-to-Date، Month Comparison و غیره) را فراهم می کند.

۳. آیا می توان سال مالی شمسی را در Power BI تنظیم کرد؟
بله، با افزودن ستون سفارشی در جدول تاریخ و تعریف منطق شروع سال مالی (مثلاً از تیرماه)، می توانید گزارش های سال مالی شمسی بسازید.

نظرات خوانندگان

دیدگاهتان را بنویسید

15 + بیست =