I have expanded on Ian Preston's solution with custom code. I basically wanted to make the solution fully expandable.
Use this in the Row Visibility Expression:
=Code.SubReportHidden(RowNumber("Tablix1"), CountRows("Tablix1"), Parameters!ReportRefresh.Value, Now())
This is a custom parameter to change the refresh on the fly. You will also need to reference it in the Reports AutoRefresh property.
Parameters!ReportRefresh.Value
Add this to your reports Custom Code:
Public CurrentTimeInSeconds As Long
Private MinCycleRange As Long
Private MaxCycleRange As Long
Private PageCount As Integer
Private Page As Integer
Private FullCycle As Long
Private CurrentTime As DateTime
Public Function SubReportHidden(ByVal page As Integer, ByVal pageCount As Integer,
ByVal interval As Long, ByVal now As DateTime) As Boolean
If page.Equals(0) Then Throw New ArgumentOutOfRangeException("page")
If pageCount.Equals(0) Then Throw New ArgumentOutOfRangeException("pageCount")
If interval.Equals(0) Then Throw New ArgumentOutOfRangeException("interval")
Me.PageCount = pageCount
Me.Page = page
FullCycle = interval * pageCount
CurrentTime = now
SetCurrentTimeInSeconds()
SetMaxCycleRange()
SetMinCycleRange()
Dim visable As Boolean = True
If InRange() Then
visable = False
End If
Return visable
End Function
Private Function InRange() As Boolean
Dim insideRange As Boolean = False
If CycleProgressPercent() > MinCycleRange AndAlso CycleProgressPercent() <=
MaxCycleRange Then
insideRange = True
End If
Return insideRange
End Function
Private Function CycleProgressInSeconds() As Long
Return CurrentTimeInSeconds Mod FullCycle
End Function
Public Function CycleProgressPercent() As Integer
Return CInt(CycleProgressInSeconds() / FullCycle * 100)
End Function
Private Sub SetCurrentTimeInSeconds()
CurrentTimeInSeconds = DateDiff(DateInterval.Second, DateTime.Today, CurrentTime )
End Sub
Private Sub SetMinCycleRange()
MinCycleRange = CLng(((Page - 1) / PageCount) * 100)
End Sub
Private Sub SetMaxCycleRange()
MaxCycleRange = CLng(((Page / PageCount) * 100))
End Sub
I have taken the time to rewrite the code as well, check out my GitHub for a testable solution. GitHubSSRS_Item_Cycle_Demo