Power BI · मराठी आवृत्ती
13.16 Time intelligence
या page मध्ये
वेगवेगळ्या periods ची तुलना म्हणजे time intelligence. या classic date-column examples साठी continuous marked Date table, date-only relationship आणि functions मध्ये 'Date'[Date] वापरा.
YTD, QTD, MTD आणि मागचे periods
YTD वर्षाच्या सुरुवातीपासून current date पर्यंत; QTD quarter आणि MTD month पासून. FYTD April–March साठी year-end argument आहे; त्याच्या text-date interpretation ला locale लागू शकतो.
Sales YTD = TOTALYTD([Total Sales], 'Date'[Date])
-- Same result using CALCULATE + DATESYTD
Sales YTD v2 = CALCULATE([Total Sales], DATESYTD('Date'[Date]))
-- Indian financial year (April–March): year ends on 31 March
Sales FYTD = TOTALYTD([Total Sales], 'Date'[Date], "3/31")
Orders QTD = TOTALQTD([Total Orders], 'Date'[Date])
Orders MTD = TOTALMTD([Total Orders], 'Date'[Date])
Sales LY = CALCULATE([Total Sales], SAMEPERIODLASTYEAR('Date'[Date]))
Sales LY (DATEADD) = CALCULATE([Total Sales], DATEADD('Date'[Date], -1, YEAR))
Orders Previous Month = CALCULATE([Total Orders], DATEADD('Date'[Date], -1, MONTH))
Orders Previous Week = CALCULATE([Total Orders], DATEADD('Date'[Date], -7, DAY))
-- Full previous year, regardless of which month is selected
Sales Full Prev Year = CALCULATE([Total Sales], PARALLELPERIOD('Date'[Date], -1, YEAR))
Sales LY YTD = CALCULATE([Sales YTD], SAMEPERIODLASTYEAR('Date'[Date]))
Festival Orders = CALCULATE([Total Orders], 'Date'[Is Festival Day] = TRUE())
-- Use in a visual or card filtered to one Year
Diwali Orders LY =
VAR PrevYear = MAX('Date'[Year]) - 1
RETURN
CALCULATE(
[Total Orders],
'Date'[Festival] = "Diwali",
'Date'[Year] = PrevYear
)
YoY Growth % =
VAR CurrentSales = [Total Sales]
VAR PreviousSales = [Sales LY]
RETURN
IF(
NOT ISBLANK(CurrentSales) && NOT ISBLANK(PreviousSales),
DIVIDE(CurrentSales - PreviousSales, PreviousSales)
)
MoM Orders Growth % =
DIVIDE([Total Orders] - [Orders Previous Month], [Orders Previous Month])
Running Total Orders =
CALCULATE(
[Total Orders],
FILTER(
ALL('Date'[Date]),
'Date'[Date] <= MAX('Date'[Date])
)
)
-- Average of the last 3 months' sales (monthly level visual)
Sales 3M Moving Avg =
VAR Period =
DATESINPERIOD('Date'[Date], MAX('Date'[Date]), -3, MONTH)
RETURN
CALCULATE(
AVERAGEX(VALUES('Date'[Year Month]), [Total Sales]),
Period
)
-- 7-day moving average of daily orders (daily level visual)
Orders 7D Moving Avg =
CALCULATE(
AVERAGEX(VALUES('Date'[Date]), [Total Orders]),
DATESINPERIOD('Date'[Date], MAX('Date'[Date]), -7, DAY)
)
| Function | March 2025 निवडल्यावर |
|---|---|
| SAMEPERIODLASTYEAR | March 2024 |
| DATEADD −1 YEAR | त्याच dates, एक वर्ष मागे |
| DATEADD −1 MONTH | February 2025 |
| PARALLELPERIOD −1 YEAR | संपूर्ण Jan–Dec 2024 |
| DATESYTD | 1 Jan–31 Mar 2025 |
वरचे code blocks स्वतंत्र measures आहेत. एकेक तयार करा. TOTALYTD मधलं "3/31" हे 31 March दर्शवणारं example; तुमच्या model locale मध्ये स्वीकारलं जातं आणि 31 March / 1 April boundary योग्य आहे का तपासा.
Festival तुलना
Diwali आणि Ganeshotsav त्याच calendar date ला नसतात. SAMEPERIODLASTYEAR समान dates shift करतो; समान festival period नाही. Chapter 11.5 मधल्या maintained Festival mapping वर comparison करा.
Diwali Orders LY example निवडलेल्या Year वर योग्य असू शकतो; current Month / Date filters उरले तर मागच्या festival शी intersection रिकामं होऊ शकतं. तुलना पूर्ण previous festival साठी असेल तर आवश्यक calendar filters स्पष्ट remove करून PrevYear व Festival पुन्हा लागू करा.
Growth
YoY = (current − previous)/previous. Previous zero / blank असल्यास DIVIDE result आणि business display ठरवा. Missing period ला खोटा 0 growth देऊ नका.
Running total
Current axis date पर्यंतची बेरीज / distinct orders. YTD हा दर वर्षी reset होणारा cumulative calculation. दिलेल्या ALL(Date[Date]) example मध्ये इतर Date columns चे filters राहू शकतात; खरोखर full-history total हवा तर model आणि filter scope तपासा.
Moving average
DATESINPERIOD current anchor पासून मागे किंवा पुढे continuous dates देतो. 3M example monthly visual साठी, 7D daily visual साठी आहे. यामुळे weekly peaksसारखे छोटे चढ-उतार कमी होऊन trend दिसतो.
Partial current month आणि blank sales days average मध्ये कसे धरायचे हे ठरवा. AVERAGEX blanks ignore करतो; no-sales day शून्य मानायचा असेल तर स्पष्ट zero rule लागेल. End-of-month anchor आणि complete periodsवर test करा.
Dates अखंड असल्या पाहिजेत
Orders मध्ये sales नसलेला दिवस missing असू शकतो. म्हणून fact date ऐवजी calendar date वापरा. 31 March, 1 April, year end, leap day आणि no-order दिवसांवर results तपासा.