Cuestión : Modificar el SP del SQL para no hacer caso de valor inicial del comienzo

Estoy utilizando el SP 2 abajo para comparar valores de una tabla, y de las diferencias, resuelvo problema del

The de los costes etc… que estoy teniendo soy que si la columna de los DATOS de HistorianDB.TLData no empieza con la cero, el primer valor vuelto por el SP es mismo high.

por ejemplo, la tabla de TLData soy datos de registración de un maderero de datos cada 15mins. Si el primer valor que se abrirá una sesión la columna de los datos es 2000, después el valor aumenta 10 unidades cada muestra 15min. Todas las muestras demostrarán una línea aseada en la carta que exhibe 10. Sin embargo, el primer datapoint en la carta demostrará un punto enorme de 2000, como considera el comienzo inicial de 2000, pues un cambio de la falta de información (o 0), a 2000.

So, qué necesito es modificar el SP, de modo que no haga caso siempre la primera comparación de la falta de información (o 0 y nada), a la primera fila, y compara solamente Ro1 y row2.

Hope esto hace sense.
class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
>USE notpretty " del class= " del id= " codeSnippet793221 del
           
class= del

Respuesta : Modificar el SP del SQL para no hacer caso de valor inicial del comienzo

AUTORIZACIÓN,

Eso estará en:

#reportdata de la ACTUALIZACIÓN
FIJAR DataChange = el #reportdata. Datos - isnull (prev.data, @prevval)
De #ReportData
externos izquierdos ensamblan el prev del #reportdata en #reportdata.id - 1 = prev.id


Si no hay un valor anterior, después podemos hacer:

#reportdata de la ACTUALIZACIÓN
FIJAR DataChange = el #reportdata. Datos - isnull (prev.data, #reportdata. Datos)
De #ReportData
externos izquierdos ensamblan el prev del #reportdata en #reportdata.id - 1 = prev.id


Eso también significa que necesitamos no más:

@PrevVal DETERMINADO = isnull ((convertido SELECTO de la tapa 1 (verdadero, datos) * @grate
                        De HistorianDB.dbo.TLData
                        DONDE TLInstance = @Meter
                        Y reloj fechador <�>                        Y Type=0
                        Y (datos) =1 isnumeric
                        ORDEN POR el desc) del reloj fechador, 0)

Pienso el parte movible original en la tabla del reportdata incluyó entradas más ealier que es otra opción - reducir al mínimo cualquier inexactitud por el openin la gama un poco para la actualización, después cerciorarse de que divulgamos solamente sobre la gama específica (o quito de filas de la gama después de la actualización).




Otras soluciones  
 
programming4us programming4us