Question : Modifier le PS de SQL pour ignorer la valeur initiale de début

J'emploie le PS 2 ci-dessous pour comparer des valeurs d'une table, et des différences, établis le problème du

The de coûts etc… que j'ai est que si la colonne de DONNÉES de HistorianDB.TLData ne commence pas à partir de zéro, la première valeur retournée par le PS est très high.

par exemple, la table de TLData est des données de notation d'un enregistreur de données chaque 15mins. Si la première valeur à ouvrir une session la colonne de données est 2000, alors la valeur augmente 10 unités chaque échantillon 15min. Tous les échantillons montreront une ligne ordonnée sur le diagramme montrant 10. Cependant, le premier datapoint sur le diagramme montrera une transitoire énorme de 2000, comme il voit le début initial de 2000, car un changement de nulle (ou 0), à 2000.

So, de ce que j'ai besoin est de modifier le PS, de sorte qu'il ignore toujours la première comparaison de la nulle (ou 0 et rien), à la première rangée, et compare seulement Ro1 et row2.

Hope ceci fait sense.
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
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 " de l'id= " codeSnippet793221 de
           
class= de

Réponse : Modifier le PS de SQL pour ignorer la valeur initiale de début

OK,

Ce sera dans :

#reportdata de MISE À JOUR
PLACER DataChange = #reportdata. Données - isnull (prev.data, @prevval)
Du #ReportData
externes gauches joignent le prev de #reportdata sur #reportdata.id - 1 = prev.id


S'il n'y a pas une valeur précédente, alors nous pouvons faire :

#reportdata de MISE À JOUR
PLACER DataChange = #reportdata. Données - isnull (prev.data, #reportdata. Données)
Du #ReportData
externes gauches joignent le prev de #reportdata sur #reportdata.id - 1 = prev.id


Cela signifie également que nous n'avons besoin plus :

@PrevVal RÉGLÉ = isnull ((converti CHOISI de principal 1 (vrai, données) * @grate
                        De HistorianDB.dbo.TLData
                        LÀ OÙ TLInstance = @Meter
                        ET horodateur <�>                        ET Type=0
                        ET (données) =1 isnumeric
                        ORDRE PAR le desc d'horodateur), 0)

Je pense l'insertion originale dans la table de reportdata a inclus les entrées ealier qui est une autre option - réduire au minimum n'importe quelle inexactitude par l'openin la gamme un peu pour la mise à jour, puis s'assurer que nous rendons compte seulement de la gamme spécifique (ou enlève hors des rangées de gamme après la mise à jour).




Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us