Is there a way via powershell to check and see which items have a data refresh schedule configured for them? and If they don't proceed to create one? I can't seem to find much on working with powerpivot items using powershell.
2 Answers
It turns out in order to create a new data refresh schedule there is a stored procedure in the PowerPivot Service Application Database called 'Persist Schedule'. Using this proc you can pass in the appropriate parameters and create the schedule.
exec [DataRefresh].[PersistSchedule]
@ItemID='B456AFE2-D44F-4DF2-AE1A-33511C8EE7B0',
@ItemName=N'FileName.xlsx',
@SPSiteID='EB7E69CC-68C5-4B90-81A8-D95F63892A0F',
@SPWebID='29036841-3DFD-4EEA-A648-271E4C98FCEC',
@LastModifiedBy=N'DOMAIN\username',
@ScheduleLastUpdatedBy=N'DOMAIN\username',
@UserIdentity=NULL,
@EmailNotification=1,
@EmailList=N'DOMAIN\username',
@SecurityConfiguration=0,
@SSApplicationID=NULL,
@ProcessAllDataSources=1,
@RV=NULL,
@Enabled=1,
@NextProcessDate='2015-04-01 00:00:00',
@ScheduleStartDate='2015-04-01 15:40:19.837',
@FrequencyKey=N'P',
@RepeatFrequency=1,
@Sunday=0,
@Monday=0,
@Tuesday=0,
@Wednesday=0,
@Thursday=0,
@Friday=0,
@Saturday=0,
@Weekday=0,
@WeekendDay=0,
@Day=0,
@MonthlyPeriod=0,
@MonthlySpecificDay=0,
@ProcessAfterBusinessHours=1,
@SpecificTime=NULL,
@RunNow=1
their is not too much in powershell for the PowerPivot. Especially related to schedule.
But their is a hacking way which is by the way NOT supported and note recommended for the Production farm.
In the PowerPivotServiceApplication database, you will see these two tables.
- DataRefresh.Items
- DataRefresh.Runs
The “Items” table holds each published PowerPivot workbook. The “Runs” tables holds the PowerPivot scheduled refreshes. In short; when adding a PowerPivot workbook registered in the “Items” table to the “Runs” table with status “W” (waiting) it will be run the next time the SharePoint job scans the table.
Everything You Always Wanted to Know About PowerPivot Data Refresh but Were Afraid to Ask