Forum Discussion
YTD Measure using Month Name Slicer
Hi PBI Community,
I'm stuck with the following issue.
I have a table in Power BI displaying values as shown below.
In Power BI, I want to create a YTD measure that sums the values of the Current_Month column based on the selected month.
For example, if the user selects Year = 2025 and MonthName = February, the measure should sum the values from January till February.
While using MonthNumber in the slicer it works correctly, using MonthName only filters data for the selected month instead of calculating the YTD sum.
can someone help me to get YTD value if monhname is put in the slicer.
Below is my measure
looking forward to hear from community
Hi Zaheer21,
Try sorting the Month_Name column by Month_Number in the dataset to ensure correct chronological order.
Updated YTD Measure:
YTD_Current_Month =
VAR SelectedYear = SELECTEDVALUE(Bassria[Year])
VAR SelectedMonthName = SELECTEDVALUE(Bassria[Month_Name])
VAR SelectedMonthNumber =
CALCULATE(
MAX(Bassria[Month_Number]),
Bassria[Month_Name] = SelectedMonthName
)RETURN
CALCULATE(
SUM(Bassria[Current_Month]),
Bassria[Category] = "Actual",
Bassria[Year] = SelectedYear,
Bassria[Month_Number] <= SelectedMonthNumber,
ALL(Bassria[Month_Name]) -- Ensures we don't filter out earlier months
)I have attached the updated .pbix file for reference.
If this response was helpful, please accept it as a solution and give kudos to support other community members.
5 Replies
- Ashish_MathurSuper User
Hi,
Try this approach
- Created a calculated column (Date) formula = 1*("1/"&Data[Month_number]&"/"&Data[Year])
- Create a Calendar table with calculated column formulas for Year, Month name and Month number. Sort the Month name column by the Month number
- Create a relationship (Many to One and Singe) from the Date column of the Fact table to the date column of the Calendar table
- To your visual/slicer/filter, dray Year and Month name from the Calendar table and select a month/year
- Write these measures
Total = sum(Data[Sales])
Total YTD = calculate([total],datesytd(calendar[date])
Hope this helps.
- bhanu_gautamSuper User
Zaheer21 , Try using
DAX
YTD_Current_Month =
VAR SelectedYear = SELECTEDVALUE(Bassria[Year])
VAR SelectedMonthName = SELECTEDVALUE(Bassria[Month_Name])
VAR SelectedMonthNumber =
CALCULATE(
MAX(Bassria[Month_Number]),
Bassria[Month_Name] = SelectedMonthName
)RETURN
CALCULATE(
SUM(Bassria[Current_Month]),
Bassria[Category] = "Actual" &&
Bassria[Year] = SelectedYear &&
Bassria[Month_Number] <= SelectedMonthNumber
)- Zaheer21Frequent Visitor
bhanu_gautam I have tried but it's not working, it's returning 133 instead of 166.
- ArwaAldoudSuper User
Hi Zaheer21,
Try sorting the Month_Name column by Month_Number in the dataset to ensure correct chronological order.
Updated YTD Measure:
YTD_Current_Month =
VAR SelectedYear = SELECTEDVALUE(Bassria[Year])
VAR SelectedMonthName = SELECTEDVALUE(Bassria[Month_Name])
VAR SelectedMonthNumber =
CALCULATE(
MAX(Bassria[Month_Number]),
Bassria[Month_Name] = SelectedMonthName
)RETURN
CALCULATE(
SUM(Bassria[Current_Month]),
Bassria[Category] = "Actual",
Bassria[Year] = SelectedYear,
Bassria[Month_Number] <= SelectedMonthNumber,
ALL(Bassria[Month_Name]) -- Ensures we don't filter out earlier months
)I have attached the updated .pbix file for reference.
If this response was helpful, please accept it as a solution and give kudos to support other community members.
- Zaheer21Frequent Visitor
Thanks ArwaAldoud
It's Working fine now.