Scheduling ConfigMgr reports to run using non-static dates
You’ll notice that when you create a subscription for a report that requires date parameters in the Configuration Manager console that you can only select a static date range.
Typically when you are setting up a subscription, you want the report to run for a date range relative to when it is being delivered. For example, when you setup a daily subscription, you would want to use a date range since yesterday as that’d be the last time that you received the report.
You can easily do this using the report's default dates. Depending on your needs, you can also modify the default dates for existing or custom reports.
In this example, I’m using the built in Endpoint Protection “Infected Computers” report.
- Connect to your Reporting Services Point https://SiteServer/Reports, open your reports directory (ConfigMgr_XXX where XXX is your site code), and open the Endpoint Protection folder
- Hover your mouse over the “Infected Computers” report, click the down arrow, and select Subscribe
Note the Use Default options for the start and end date:
The default start and end dates for this report is currently set to a week of data. You can setup your report with the above options, and you’ll get a current weeks worth of data every time the report is delivered.
Let’s say that you want to change this to deliver one days worth of data. To do so, you’d need to edit the existing report with Report Builder. For more information about using Report Builder, you can go here.
Note: Any time you are making modifications to reports, you should keep the original and save the custom one with a new name.
To edit an existing report, you simply right click the report in the ConfigMgr console and select Edit.
This will open the report in report builder.
To modify the default values for the “Infected Computers” report to daily, you’d do the following:
- Right click on the report from the console and select edit to launch Report Builder
- Expand Datasets, right click StartEndDates and select Dataset Properties
- In the query field, you’ll see the following:
select DATEADD(day,-7,DATEDIFF(day, 0, GetUTCDate())) as StartDate, DATEADD(day,0,DATEDIFF(day, 0, GetUTCDate())) as EndDate - Modify the highlighted 7 above to a 1 to modify the default to run since yesterday rather than for the last week, and click okay
- See Below
To Save the report:
- Click the circle at the top left of report builder and select Save As
- Some built-in reports have sub-reports or drill down reports that are in the same folder. If you move to a different folder, you may break those links.
- Modify the existing name to something like “Custom-Infected computers-DefaultYesterday” to ensure that you don't modify the default report.
Now when you go back to the report to setup a subscription, you’ll see that the default start date is now yesterday rather than last week:
Enjoy!
Ryan
Comments
Anonymous
January 01, 2003
GreateAnonymous
January 01, 2003
Thanks guys!Anonymous
August 21, 2013
Great work Ryan, this helped a lot!Anonymous
July 24, 2014
My report doesn't have the "Use Default" option?!Anonymous
September 23, 2014
Yeah...no "use default" option.Anonymous
November 18, 2014
You have to do the subscription from the Reports site, not the SCCM Console.