0
預先感謝您。 我有一個Mytable1
:如何計算平均值並更新它以代替零?使用SSIS
Site_name | date& Time |PowerOutput
xyz001 |2013-07-21 01:00:00.000 |192
xzu001 |2013-07-21 02:00:00.000 |189
abf003 |2013-07-21 03:00:00.000 |0
ACT0001 |2013-07-21 04:00:00.000 |178
我要計算在零時,前行和下一行的平均值。
我的輸出表應該是:
Sitename |date&time |Power_output
xyz001 |2013-07-21 01:00:00.000 |192
xzu001 |2013-07-21 02:00:00.000 |189
abf003 |2013-07-21 03:00:00.000 |189
ACT0001 |2013-07-21 04:00:00.000 |178
的邏輯是:
((前次值-下一個值)/前次值)* 100 < 5, 如果這是真的,那麼它應該插入先前的值
((上一個值 - 下一個值)/上一個值)* 100> = 5, 如果這是真的,那麼它應該保持爲零。
* SELECT [日期和時間],SITE_NAME, 鉛([日期和時間],1,1)OVER(ORDER BY SITE_NAME)作爲最大值, 滯後([日期和時間],1,1- )OVER(ORDER BY site_name)As Min FROM [dbo]。[Mytable] 其中[pr_output] = 0 *我使用* lag和lead *來確定小時間隔的值爲零。 –
我會得到百萬的值,我不能不斷更新這些值每一次。他們的另一種方式是通過SSIS執行此操作 –