Interval alignment

If an algorithm block supports multiple trend inputs, such as BiSwitch, LogicFilter, Psychrometric, DeadbandFilter, etc., the block evaluates the trend inputs and synchronizes the intervals to match the largest interval. In addition, it aligns the timestamps.

Consider an algorithm, like the one below, where a RequestOverrides block changes the interval of the request from Day to 15 Minutes for the logic branch connecting through the TimeFilter to In1 on the BiMath block.

Figure 65.   Interval alignment example
Image

In this example, the trend input to In1 on the BiMath block includes 15-minute interval records during the time range 12 pm (noon) to 12 midnight but the logic branch connecting the DataSourceBlock directly to In2 on the BiMath block includes daily interval records.

The BiMath block needs to divide the records from the TimeFilter block (15-minute interval records) by the records from the DataSourceBlock (Daily-interval records). To do so, it must synchronize the intervals, otherwise the result will be meaningless. To apply the synchronization, the BiMath block changes the TimeFilter block output to Interval = Daily and applies the rollup function specified in the trend request. This aligns both the intervals and the timestamps to allow the BiMath block to perform the math calculation. The result from the output of the BiMath block contains daily records even though the TimeFilter block provided 15-minute interval records.

A Px view with a Bound Table and Analytic Table Binding calls the algorithm with a

Timerange of thisYear

Interval of Week

Rollup of Sum, which displays the percentage of total widget production during first shift.

Figure 66.   Analytic Table Binding using the interval alignment example
Image