Я работаю над приложением SQL Server, которое выполняет сложные вычисления на основе потоков в сети.
У меня есть таблица данных со значениями для каждой ссылки за период времени. Период времени фиксирован и представляет 15-минутные интервалы. Например у меня есть
Link A Time Period=0 Value=0<br>
Link A Time Period=1 Value=0<br>
Link A Time Period=2 Value=1<br>
Link A Time Period=3 Value=1<br>
Link A Time Period=4 Value=1<br>
Link A Time Period=5 Value=1<br>
Link A Time Period=6 Value=0<br>
Link A Time Period=7 Value=0<br>
Link A Time Period=8 Value=0<br>
Link A Time Period=9 Value=0<br>
Link A Time Period=10 Value=0<br>
Значения указывают, что в этот период произошло событие по этой ссылке. Продолжительность события - это разница между последним периодом времени и первым периодом времени. В данном примере продолжительность - это период времени 5 - период времени 2.
Входные данные для расчета указывают увеличение или уменьшение продолжительности. Давайте предположим, что продолжительность должна быть увеличена на 25%. В примере данные теперь выглядят как
Link A Time Period=0 Value=0<br>
Link A Time Period=1 Value=0<br>
Link A Time Period=2 Value=1<br>
Link A Time Period=3 Value=1<br>
Link A Time Period=4 Value=1<br>
Link A Time Period=5 Value=1<br>
Link A Time Period=6 Value=1<br>
Link A Time Period=7 Value=0<br>
Link A Time Period=8 Value=0<br>
Link A Time Period=9 Value=0<br>
Link A Time Period=10 Value=0<br>
Как применить увеличение или уменьшение длительности к данным с помощью T-SQL? У меня большой набор данных, события могут быть любой продолжительности, и увеличение / уменьшение продолжительности относится ко всем событиям.
Существует также проблема перекрытия при увеличении продолжительности события, чтобы оно перекрывалось с другим существующим событием. В этом случае значение для периода перекрытия является суммой существующего значения и значения увеличения / уменьшения продолжительности.
Любая помощь с благодарностью.
Джеймс