SSRS expression to get the year from the DateAdd()
reporting-services ssrs-2008

I am trying to get the year part from the DateAdd function. I am going wrong some where. I tried many methods but still hit with he error
Datepart("yyyy", DateAdd("M",-2,Now)) This does not work. Can you help
Best Solution
It looks like you're trying to get the year for the day two months ago:
Edit after comment
In your expression in the comment you're getting an error trying to add a string and an integer together.
So it looks like the actual requirement is to get a string like {Month name}-{year} .
You can do this by applying a Format expression to the date, either in the textbox directly:
Or add MMMM-yyyy as the Format property to a textbox with the very first expression:

Either way, for today you get:

Related Solutions
Get row count in ssrs report builder.
Use the CountRows function . For example
will give you the number of rows in MyDataSet .
SSRS Expression: The value expression for textbox has scope parameter that is invalid for aggregate
Sometimes this error occurs while we use different DatasetName in Experssion .
Like in my case I have solved this error by doing below thing,
Before it was like below,
After changed it to below it is working fine now,
Note: So here the mistake was I have changed the DataSet Name From DataSet1 to LastChangedDataSetName and remained to change that name in last Expression that I have already written before changing DataSet Name .
Related Question
Start with the FREE community plan and get your lifetime access to 20+ courses. Get Instant Access Now!
Private Training
Customized training to master new skills and grow your business.
On-Demand Learning
Beginner to advanced classes taught by Microsoft MVPs and Authors.
In-depth boot camps take you from a novice to mastery in less than a week.
Season Learning Pass
Get access to our very best training offerings for successful up-skilling.
Stream Pro Plus
Combine On-Demand Learning platform with face-to-face Virtual Mentoring.
- Virtual Mentor
- Private Classes
- Admin in a Day
All Courses
View all of the courses available on our on-demand learning platform.
By Learning Path
Explore our courses based on role-specific learning path.
Find all of the courses for the product you want to master.
Instructors
- Brian Knight
- Devin Knight
- Matt Peterson
- Jonathon Silva
- Austin Libal
- Allison Gonzalez
- Angelica Domenech
- View all instructors
In-depth bootcamps take you from a novice to mastery in less than a week.
Learn With The Nerds
A free virtual series covering an array of data analytics and cloud topics.
In A Day Workshops
Pragmatic Works is proud to manage and update content for these Microsoft workshops.

Cheat Sheets
Quick references for when you need a little guidance.
Nerd Guides
Summaries developed in conjunction with our Learn with the Nerds sessions.
Digital goodies - code samples, student files, and other must have files.
Stay up-to-date on all things Power BI, Power Apps, Microsoft 365 and Azure.
Affiliate Program
Earn money by driving sales through the Pragmatic Works' Training Affiliate Program.
Reseller Partner
It's time to address your client's training needs.
Learn how to get into IT with free training and mentorship.
Management Team
Discover the faces behind our success: Meet our dedicated team
How can we help? Connect with Our Team Today!
Find all the information you’re looking for. We’re happy to help.
SSRS Cheat Sheet for Beginners
Getting Started With This SSRS Guide.
SSRS Expressions Cheat Sheet
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
DATEADD (SSIS Expression)
- 6 contributors
Returns a new DT_DBTIMESTAMP value after adding a number that represents a date or time interval to the specified datepart in a date. The number parameter must evaluate to an integer, and the date parameter must evaluate to a valid date.
datepart Is the parameter that specifies which part of the date to add a number to.
number Is the value used to increment datepart . The value must be an integer value that is known when the expression is parsed.
date Is an expression that returns a valid date or a string in date format.
Result Types
DT_DBTIMESTAMP
The following table lists the dateparts and abbreviations recognized by the expression evaluator. Datepart names are not case sensitive.
The number argument must be available when the expression is parsed. The argument can be a constant or a variable. You cannot use column values because the values are not known when the expression is parsed.
The datepart argument must be enclosed by quotation marks.
A date literal must be explicitly cast to one of the date data types. For more information, see Integration Services Data Types .
DATEADD returns a null result if the argument is null.
Errors occur if a date is invalid, if the date or time unit is not a string, or if the increment is not a static integer.
SSIS Expression Examples
This example adds one month to the current date.
This example adds 21 days to the dates in the ModifiedDate column.
This example adds 2 years to a literal date.
DATEDIFF (SSIS Expression) DATEPART (SSIS Expression) DAY (SSIS Expression) MONTH (SSIS Expression) YEAR (SSIS Expression) Functions (SSIS Expression)
Was this page helpful?
Submit and view feedback for
Additional resources

Power BI Report Builder Expressions - Date Functions
Daniel Calbimonte , 2022-06-13
Using Power BI Report Builder expressions is an advanced topic that requires a little programming knowledge. You can use if clauses, cases, functions, etc.
In this tutorial, we will introduce the use of Expressions in Power BI Report Builder. We will show especially the Date functions.
Requirements for Power BI Report Builder expressions
- First of all, you need Power BI Report Builder .
- Secondly, the internet to follow this tutorial.
Getting started with Power BI Report Builder expressions
First, we will work with some basic dates. In a report, in the title right-click and select Expressions.

The first example will be a Hello world.

Secondly, run the report to check the results.

Also, you will be able to see the results.

Finally, you can check some simple examples.
Functions in Power BI Report Builder Expressions
In order to check the date functions, go to Common Functions>Date and time. You can see a description and examples here.

Let’s take a look to some examples. These examples were run on 10 Mar 2022.
The FormatDateTime function used as a Power BI Report Builder expression
The formatDateTime function has several options. We will explain each of them.

Day of week function in Power BI Report Builder expression
Monthname function in power bi report builder expressions.
In addition, we have the MonthName function
Datediff and Dateadd
Finally, we will show some examples of the Datediff and DateAdd functions.
Conclusion about the Power BI Report Builder Expressions
In this article, we learn the main Power BI Report Builder expressions. We focused on date functions, but we will have more examples in the next articles.
Log in or register to rate
You rated this post out of 5. Change rating
- Report Builder
- Report builder
Join the discussion and add your comment
Related content
Power bi report builder parameters tutorial.
- by Daniel Calbimonte
- SQLServerCentral
Learn how you can adjust the way users interact with reports and change font sizes as well as add parameters for filtering.
9,664 reads
Power BI Report Builder Expressions - Build In Fields and Functions
This article continues looking at various expressions that are available in the Report Builder. We cover some build in functions as well as various logical operators.
3,066 reads
How to use Images in Power BI Report Builder
Learn how you can add images to your reports in Power BI when using the Report Builder.
4,576 reads
Power BI Report Builder Introduction
Learn how to get started with the Power BI Report Builder.
8,648 reads
Tips to improve Power BI report appeal
This article will show you how to use a Powerpoint theme to modify and beautify a Power BI report.
4,866 reads
- GettingStarted
- DeveloperGuide
- Tabular Reports
- Get Started with the Standalone Report Designer
- Quick Start
- Summary Reports
- Layout type
- Banded Reports
- Drill Down Reports
- Report Designer Interface
- Report Viewer Interface
- Fixed Layout Reports
- Drill Through Reports
- Data Binding
- Report Themes
- Report Parameters
- Interactive Reports
- Date and Time
- Miscellaneous
- Report-Items
- Tutorial-3-Master-Report
- Drill-through
Date and Time Functions
Returns a date to which a specified time interval has been added.
DateAdd( interval , number , date )
- yyyy - Year
- q - Quarter
- y - Day of year
- w - Weekday
- number is the number of intervals you want to add. It can be positive (to get dates in the future) or negative (to get dates in the past).
- date is the date to which the interval is added.
To add one year to the current date, you can use the following expression.
Returns the number of time intervals between two specified dates.
DateDiff( interval , date1 , date2 , [ firstdayofweek , [ firstweekofyear ]] )
- date1 , date2 - two dates you want to use in the calculation.
- firstdayofweek is the optional number that specifies the week's first day (Sunday=1, Saturday=7). If not specified, Sunday is assumed.
- 1 - start with week in which January 1 occurs
- 2 - start with the first week that has at least four days in the new year
- 3 - Start with the first full week of the year.
To compare how long it took to ship the order after it was placed, you can use the following expression.
Returns the specified part of a given date.
DatePart( interval , date , [ firstdayofweek , [ firstweekofyear ]])
- date - is a date for which you want to return its part.
You can use the following expression to show the copyright symbol along with the current year.
Returns a date for a specified year, month, and day.
DateSerial( year , month , day )
- year - an integer number between 100 and 9999.
- month - an integer number between 1 and 12
- day - an integer number between 1 and 31
You can use the following expression to construct January 4, 1982
Returns a string value representing the current date in yyyy-mm-dd format.
DateString()
Returns a date from a specified string.
DateValue( date )
- date - a string that contains a date in yyyy-mm-dd format.
You can use the following expression to construct a date from 2020-02-29 string.
Returns a number between 1 and 31, inclusive, representing the day of the month.
Day( date )
- date - a date for which you want to return its day of the month
You can use the following expression to return the day of the month for the current date.
Returns a number between 0 and 23, inclusive, representing the hour of the day.
Hour( date )
- date - a date for which you want to return its hour of the day
You can use the following expression to return the hour of the day for the current date.
Returns a number between 0 and 59, inclusive, representing the minute of the hour.
Minute( date )
- date - a date for which you want to return its minute of the hour
You can use the following expression to return the minute of the hour for the current date.
Returns a number between 1 and 12, inclusive, representing the month of the year.
Month( date )
- date - a date for which you want to return its month of the year
You can use the following expression to return the month of the year for the current date.
Returns a string indicating the specified month.
MonthName( month , [ abbreviate ])
- month - the numeric designation of the month. For example, January is 1, February is 2, and so on.
- abbreviate - the optional boolean value that indicates whether the month name should be abbreviated. The default is false
You can use the following expression to return an abbreviation of the current month.
Returns the current date and time.
Returns a number between 0 and 59, inclusive, representing the second of the minute.
Second( date )
- date - a date for which you want to return its second of the minute
You can use the following expression to return the second of the minute for the current date.
Returns a date containing the current time of day.
TimeOfDay()
Returns the number of seconds elapsed since midnight.
Returns a date containing the time for a specific hour, minute, and second.
TimeSerial( hour , minute , second )
- hour - an integer number between 0 and 23.
- minute - an integer number between 0 and 59
- second - an integer number between 0 and 59
You can use the following expression to construct a date at 3.30 pm time.
Returns a string value representing the current time of day.
TimeString()
Returns a time value from a specified string.
TimeValue( time )
- time - a string that contains a time value for a 12-hour or 24-hour clock.
You can use the following expression to construct a time from 3:15 am string.
Returns the current date at midnight.
Returns a number representing the day of the week.
Weekday( date , [ firstdayofweek ])
- date - a date for which you want to return its day of the week
You can use the following expression to return the current weekday.
WeekDayName
Returns a string indicating the specified day of the week.
WeekdayName( weekday , [ abbreviate , [ firstdayofweek ]])
- weekday - the numeric designation for the day of the week. The numeric value of each day depends on the setting of the firstdayofweek argument.
- abbreviate - the optional boolean value that indicates whether the weekday name should be abbreviated. The default is false
You can use the following expression to return an abbreviation of the current day of the week.
Returns a number between 1 and 4, inclusive, representing the quarter of the year.
Quarter( date )
- date - a date for which you want to return its quarter of the year
You can use the following expression to return the quarter of the year for the current date.
QuarterName
Returns a string representing the quarter name.
QuarterName( date )
- date - a date for which you want to return its quarter name
You can use the following expression to return the quarter name for the current date.
Returns a number representing the year.
Year( date )
- date - a date for which you want to return its year
You can use the following expression to return the current year.
Returns a new date that adds the specified number of years to the calling date.
<Date>.AddYears( years )
- years - a number of years to add. It can be negative or positive.
You can use the following expression to return the date that two years ahead of the current date.
Returns a new date that adds the specified number of months to the calling date.
<Date>.AddMonths( months )
- months - a number of months to add. It can be negative or positive.
You can use the following expression to return the date that five months behind the current date.
Returns a new date that adds the specified number of days to the calling date.
<Date>.AddMonths( days )
- days - a number of days to add. It can be negative or positive.
You can use the following expression to return tomorrow's date.
Returns a new date that adds the specified number of hours to the calling date.
<Date>.AddHours( hours )
- hours - a number of hours to add. It can be negative or positive.
You can use the following expression to return yesterday's date.
Returns a new date that adds the specified number of minutes to the calling date.
<Date>.AddMinutes( minutes )
- minutes - a number of minutes to add. It can be negative or positive.
You can use the following expression to return the date that 30 minutes behind the current date.
Returns a new date that adds the specified number of seconds to the calling date.
<Date>.AddSeconds( seconds )
- seconds - a number of seconds to add. It can be negative or positive.
You can use the following expression to return the date that 45 seconds ahead of the current date.
AddMilliseconds
Returns a new date that adds the specified number of milliseconds to the calling date.
<Date>.AddMilliseconds( milliseconds )
- milliseconds - a number of milliseconds to add. It can be negative or positive.
You can use the following expression to return the date that 654 milliseconds behind the current date.

SSRS Date Formulas Cheatsheet
by Laurel Dsouza — on SSRS , SQL , Reporting , Dashboards — 03 Jul 2016 --->
You may across the need to dynamically generate content, while creating reports and dashboards using SSRS (SQL Server Reporting Services). You can pass one of these calculated dates as a default value, when you query a dataset.
To retrieve the first or last day of a given month
First day of current month: =dateadd(“m”,0,dateserial(year(Today),month(Today),1))
First day of previous month: =dateadd(“m”,-1,dateserial(year(Today),month(Today),1))
First day of next month: =dateadd(“m”,1,dateserial(year(Today),month(Today),1))
Last day of current month: =dateadd(“m”,1,dateserial(year(Today),month(Today),0))
Last day of previous month: =dateadd(“m”,0,dateserial(year(Today),month(Today),0))
Last day of next month: =dateadd(“m”,2,dateserial(year(Today),month(Today),0))
To retrieve a specific date on a given month:
For Example, to get the 10th of the previous month =dateadd(dateinterval.month, -1, today().AddDays(-(today().Day-10)))
For Example, to get the 5th of the current month =dateadd(dateinterval.month, 0, today().AddDays(-(today().Day-5)))
For Example, to get the 20th of the next month =dateadd(dateinterval.month, 1, today().AddDays(-(today().Day-20)))

Laurel Dsouza
[email protected]
Data Enthusiast & Solutions Architect, Avid Reader & Writer
- Recent Articles
- SQL Server 2012
- SSRS - Reporting Services
- SSIS - Integration Services
- SSAS - Analysis Services
- Dot Net (C#)
- WCF - Windows Communication Foundation
Common Functions
Date & time functions.
Retrieve accurate row count for table Read more...
What is the difference between select count(*) and count(1) in sql server? Click to see Answer
- Contributors
Venkateswarlu Cherukuru, Post-Graduate from Sri Venkateswara University, Tirupati, India. Microsoft Certified Professional in Dot Net, SQL Server & HTML5 Technologies.
Copyright © 2016. All Rights Reserved.
www.venkateswarlu.net

COMMENTS
Native American mound builders lived primarily in the United States Midwest. Mound ceremonial sites have been found primarily in Indiana, Illinois, Ohio, Wisconsin, Minnesota and Michigan. Most of the ceremonial mound sites were built betwe...
When it comes to building a home, there are many decisions that need to be made, and one of the most important is choosing the right home builder. DR Horton Home Builders has been in the business for years and has built thousands of homes a...
If you’re considering building a modular home in North Carolina, it’s important to find the right modular home builders who can turn your vision into reality. Modular homes have gained popularity in recent years due to their affordability, ...
It looks like you're trying to get the year for the day two months ago: =DatePart(DateInterval.Year, DateAdd(DateInterval.Month, -2, Now())).
Instalowanie usług Reporting Services (SSRS) · Pobieranie programu SQL ... Year;, yy, yyyy. Quarter, qq, q. Месяц, mm, m. День года, dy, y. День
Get Row Count in SSRS Report Builder. Use the CountRows function. For example =CountRows("MyDataset"). will give you the number of rows in MyDataSet. SSRS
In the Expression editor, under the Common Functions in the Category window look at the Date & Time functions. Use the DateAdd() function. =
Return first day of current year (ex. Default Start Date parameter to return YTD). Expression on the parameter default value: =DateAdd("d",-DatePart(
Power BI Report Server. Data Analytics. Microsoft Analytics Platform ... This example adds 2 years to a literal date. Copy. DATEADD("yyyy", 2
Power BI Report Builder Expressions - Date Functions ; =DateAdd("yyyy",3,"5/10/2022"), 5/10/2025 12:00:00 AM, Thirdly we add 3 years to the 5/10/
To add one year to the current date, you can use the following expression.
=dateadd(“m”,0
Date & Time Functions · CDate. Convert to Date. · DateAdd. Returns a Date value containing a date and time value to which a specified time interval has been added
I have a field on my SSRS report with this as the expression... ... If you type it in the expression builder, once you enter the dot it should