Vraag : Wijzig SQL SP om de aanvankelijke Waarde van het Begin te negeren

Ik gebruik 2 SP hieronder om Waarden van een lijst, en van de verschillen te vergelijken, die kostenetc…

The uit te werken ik ben die heb als de Kolom van historianDB.TLData- GEGEVENS niet van Nul begint, de eerste waarde door SP is teruggekeerd zeer bijvoorbeeld high.

is, registreert de lijst TLData gegevens van een gegevensregistreerapparaat elke 15mins. Als de eerste waarde de kolom van Gegevens het programma te openen 2000 is, dan verhoogt de waarde 10 eenheden elke 15min steekproef. Alle steekproeven zullen een keurige lijn op de grafiek tonen die 10 tonen. Nochtans, zal eerste datapoint op de Grafiek een reusachtige aar van 2000, aangezien het het aanvankelijke begin van 2000 ziet, als verandering van Ongeldig (of 0), in 2000.

So tonen, wat de behoefte van I is om SP te wijzigen, zodat het altijd de eerste vergelijking van Ongeldig (of 0 en niets), aan de eerste rij, negeert en slechts Ro1 en row2.

Hope vergelijkt maakt dit sense.
" codeBody "
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 [EnergySuiteDB]
GA
/****** Heb bezwaar:  StoredProcedure [dbo]. [GetCostPerPeriod] de Datum van het Manuscript: het 15:32 van 07/09/2010: 24 ******/
VASTGESTELDE ANSI_NULLS 
GA
PLAATS QUOTED_IDENTIFIER
GA
VERANDER PROCEDURE [dbo]. [GetCostPerPeriod] @sDate DATETIME, @Meter varchar (50), @GasRate drijft int., @pf vlotter, varchar @util (50), @reportselectionklusje (1), @co2 vlotter, @Carbon

ZOALS
BEGIN

--Een machtsfactor van 0 zal uitzondering werpen, zodat moet dit worden behandeld
als isnull (@pf, 0) =0 vastgesteld @pf = 1

-- verklaar en opstelling sommige die variabelen op inkomende parameters worden gebaseerd

VERKLAAR @PREVVAL NUMERIEK (12, 4)
verklaar @grate numeriek (12.4)
verklaar @edate datetime
verklaar @intervals int.

plaats @sdate = bekeerling (klusje (8), @sdate, 112)   -- zorg ervoor de tijd bij „begin“ van periode is
Als @reportselection = „M“ @sdate = DATEADD plaatste (maand, DATEDIFF (maand, 0, @sdate), 0)
Als @reportselection = „Y“ @sdate = datename (jaar, @sdate) + „0101“ plaatste

de reeks @edate = zet (om klusje (8), @sdate, 112) + „23:59: 59.997“
Als @reportselection = „W“ @edate = zet (om klusje (8) plaatste, @sdate+6,112) + „23:59: 59.997“
Als @reportselection = „M“ @edate = DATEADD plaatste (maand, DATEDIFF (maand, -1, @sdate), 0) - 0.00000005
Als @reportselection = „Y“ @edate = datename (jaar, @sdate) + „1231 23:59 plaatste: 59.997“

vastgestelde @intervals = dag (dateadd (maand, datediff (maand, - 1, @sdate), 0) - 1) 
Als @reportselection = „D“ @intervals = @intervals * 96 plaatste  -- 96 kwart uren in een dag.
Als @reportselection = „Y“ @intervals = 1 plaatste

als isnull (@gasrate, 0) = 1
   reeks @grate = 11.0786 -- 1.02264 * 39/3.6
anders
   reeks @grate = 1.0

-- cre�ër nu ons de gegevensuittreksel van het temperaturenrapport van hoofdgeschiedenislijst

ALS OBJECT_ID („tempdb. #ReportData“, „U“) IS GEEN ONGELDIGE #ReportData VAN DE LIJST VAN DE DALING  -- niet zou moeten worden vereist
 
CRE�ëR #ReportData VAN DE LIJST
(
    De identiteits primaire sleutel van identiteitskaart int.,
    TimeStamp DATETIME,
    Honderdste int.,      
    NUMERIEKE gegevens (12, 4),
    NUMERIEKE DataChange (12, 4),
    Datetime van DateStamp
)

-- bevolk onze rapportgegevens

TUSSENVOEGSEL IN #ReportData (Timestamp, Honderdste, Gegevens, Datestamp)
SELECTEER Timestamp, Honderdste, zet (echt, Gegevens) * @grate, geval wanneer om @reportselection = „Y“ dan (klusje (6), timestamp, 112) + ' anders 01 ' omzet omzet (klusje (8), timestamp, 112) eind
VAN HistorianDB.dbo.TLData 
WAAR TLInstance = @Meter 
EN timestamp tussen @sdate en @edate
EN Type=0 
EN isnumeric (gegevens) =1
ORDE DOOR timestamp, recordnumber        

-- tref nu voorbereidingen om onze gegevens bij te werken om het verschil tussen meterlezingen te berekenen, maar wij hebben een uitgangspunt nodig…

VASTGESTELDE @PrevVal = isnull ((UITGEZOCHTE bovenkant 1 zet (echt, Gegevens) * @grate om
                        VAN HistorianDB.dbo.TLData 
                        WAAR TLInstance = @Meter 
                        EN timestamp < @sdate
                        EN Type=0 
                        EN isnumeric (gegevens) =1 
                        ORDE DOOR timestamp desc), 0)

-- doe de update onze gegevens het verschil tussen meterlezingen en kosten berekenen

WERK #reportdata bij
PLAATS DataChange = #reportdata. Gegevens - isnull (@prevval prev.data,)
VAN #ReportData 
linker buiten sluit zich aan bij #reportdata prev op #reportdata.id - 1 = prev.id

-- nu kunnen wij het rapport in werking stellen

; Met Periodes zoals
(
   Selecteer geval wanneer @reportselection = het anders geval van „D“ toen dateadd (minuut, aantal * 15, @sdate) wanneer @reportselection = „Y“ dateadd (maand, aantal, @sdate) dateadd (dag, aantal, @sdate) dan anders eind als PSDate beëindigt 
   , geval wanneer @reportselection = „D“ toen dateadd (minuut, aantal * 15 + 15, @sdate) - 0.00000005 anders geval wanneer @reportselection = „Y“ toen DATEADD (maand, DATEDIFF (maand, -1, dateadd (maand, aantal, @sdate)), 0) - anders 0.00000005 zetten (om klusje (8), @sdate+number, 112) + „23:59: 59.997“ eindeind zoals PEDate 
   , geval toen @reportselection = „D“ toen (datename (dw, @sdate), 03) + ' „+ bekeerling wegging (klusje (8), @sdate, 03) +right (bekeerling (klusje (19), dateadd (minuut, aantal * 15, @sdate), 100),) anders geval 8 toen @reportselection = „Y“ toen wegging (datename (maand, dateadd (maand, aantal, @sdate)), gingen 3) +“ „+ datename (jaar, @sdate) anders weg (datename (dw, dateadd (dag, aantal, @sdate)), 3) +“ 'het eind + van het bekeerlings (klusje (8), dateadd (dag, aantal, @sdate), 03) eind als PSName 
   , geval wanneer @reportselection = anders geval toen 1.0/96.0 van „D“ wanneer @reportselection in („M“, „W“) anders dag toen 1.0 (dateadd (maand, number+datediff (maand, -1, @sdate), 0) - 1) eindeind als dayparts
   van hoofd. .spt_values n met (nolock) 
   waar type = „p“
   en geval wanneer @reportselection = het anders geval van „D“ toen dateadd (minuut, aantal * 15, @sdate) wanneer @reportselection = „Y“ dateadd (maand, aantal, @sdate) dateadd (dag, aantal, @sdate) dan anders eind < @edate beëindigt
)
SELECTEER 
    PSname als Datum,
    SOM (isnull (r1.datachange, 0)) ALS day_data,
    SOM (isnull (r1.datachange, 0))*@CO2 ALS CO2_data,
    SOM (isnull (r1.datachange, 0))*@Carbon ALS Carbon_data,
    SOM (isnull (r1.datachange, 0) *chargerate) ALS DataCost,
    SOM (isnull (r1.datachange, 0) *levy) als TotalLevy,
    maximum (geval wanneer r1.datestamp ongeldig toen anders caprate eind 0) is/@intervals als TotalCap,                           
    maximum (geval wanneer r1.datestamp ongeldig toen anders chargecap eind 0) is als ChargeCap,
    maximum (geval wanneer r1.datestamp ongeldig toen eind 0 anders dayparts * StandingDayCharge) is als StandingDayCharge,
    maximum (geval wanneer r1.datestamp ongeldig toen eind 0 anders dayparts * StandingDayCharge is) 
    + SOM (isnull (r1.datachange, 0) * (chargerate + heffing)) 
    + maximum (geval wanneer r1.datestamp ongeldig toen anders caprate eind 0) is/@intervals als TotalCost,
    isnull (((geval wanneer @reportselection = de SOM van „D“ toen (isnull (r1.datachange, 0)) anders (uitgezochte hoogste 1 datachange van #reportdata r2 waar r2.datestamp = orde r1.datestamp door r2.datachange desc) eind) *4)/@pf, 0) als MaxkVA,
    isnull (((geval wanneer @reportselection = de SOM van „D“ toen (isnull (r1.datachange, 0)) anders (uitgezochte hoogste 1 datachange van #reportdata r2 waar r2.datestamp = orde r1.datestamp door r2.datachange desc) eind) *4), 0) als MaxkW,
    (uitgezochte hoogste 1 timestamp van #reportdata r2 waar r2.datestamp = orde r1.datestamp door r2.datachange desc, r2.timestamp desc) als MaxDataChangeTimeStamp
 
VAN Periodes
LINKER BUITEN SLUIT zich aan bij #ReportData r1 op r1.timestamp tussen psdate en pedate
het kruis past dbo.udf_getrates_3 (r1.Timestamp, @util) toe    
GROEP DOOR PSname, r1.datestamp, PSdate
ORDE DOOR PSdate
EIND










GEBRUIK [EnergySuiteDB]
GA
/****** Heb bezwaar:  StoredProcedure [dbo]. [GetCostPerPeriod_Virtual] de Datum van het Manuscript: het 15:32 van 07/09/2010: 51 ******/
VASTGESTELDE ANSI_NULLS 
GA
PLAATS QUOTED_IDENTIFIER
GA
VERANDER PROCEDURE [dbo]. [GetCostPerPeriod_Virtual] @sDate DATETIME, @Meter varchar (1000), varchar drijft @calc (1000), varchar @operator (1000), @GasRate int., @pf vlotter, varchar @util (50), @reportselectionklusje (1), @CO2 vlotter, @Carbon

ZOALS
BEGIN

--Een machtsfactor van 0 zal uitzondering werpen, zodat moet dit worden behandeld
als isnull (@pf, 0) =0 vastgesteld @pf = 1

-- verklaar en opstelling sommige die variabelen op inkomende parameters worden gebaseerd

VERKLAAR @PREVVAL NUMERIEK (12, 4)
verklaar @grate varchar (12) --numeriek (12.4)
verklaar @edate datetime
verklaar @intervals int.

verklaar @str_sdate varchar (20)
verklaar @str_edate varchar (20)

plaats @sdate = bekeerling (klusje (8), @sdate, 112)   -- zorg ervoor de tijd bij „begin“ van periode is
Als @reportselection = „M“ @sdate = DATEADD plaatste (maand, DATEDIFF (maand, 0, @sdate), 0)
Als @reportselection = „Y“ @sdate = datename (jaar, @sdate) + „0101“ plaatste

de reeks @edate = zet (om klusje (8), @sdate, 112) + „23:59: 59.997“
Als @reportselection = „W“ @edate = zet (om klusje (8) plaatste, @sdate+6,112) + „23:59: 59.997“
Als @reportselection = „M“ @edate = DATEADD plaatste (maand, DATEDIFF (maand, -1, @sdate), 0) - 0.00000005
Als @reportselection = „Y“ @edate = datename (jaar, @sdate) + „1231 23:59 plaatste: 59.997“

reeks @str_sdate = varchar bekeerling (, @sdate - 1.120)
reeks @str_edate = varchar bekeerling (, @edate, 120)

vastgestelde @intervals = dag (dateadd (maand, datediff (maand, - 1, @sdate), 0) - 1) 
Als @reportselection = „D“ @intervals = @intervals * 96 plaatste  -- 96 kwart uren in een dag.
Als @reportselection = „Y“ @intervals = 1 plaatste

als isnull (@gasrate, 0) = 1
   reeks @grate = „11.0786“ -- 1.02264 * 39/3.6
anders
   reeks @grate = „1.0“

-- cre�ër nu ons de gegevensuittreksel van het temperaturenrapport van hoofdgeschiedenislijst

ALS OBJECT_ID („tempdb. #ReportData“, „U“) IS GEEN ONGELDIGE #ReportData VAN DE LIJST VAN DE DALING  -- niet zou moeten worden vereist
 
CRE�ëR #ReportData VAN DE LIJST
(
    De identiteits primaire sleutel van identiteitskaart int.,
    TLInstance int.,
    TimeStamp DATETIME,
    Honderdste int.,      
    NUMERIEKE gegevens (12, 4),
    NUMERIEKE DataChange (12, 4),
    Datetime van DateStamp
)

-- bevolk onze rapportgegevens

TUSSENVOEGSEL IN #ReportData (Timestamp, tlinstance, Honderdste, Gegevens, Datestamp)
exec ('UITGEZOCHTE Timestamp, tlinstance, Honderdste, zet (echt, Gegevens) * „+@grate+“, geval wanneer ''' +@reportselection+ ''' = '' Y '' dan omzet (klusje (6), timestamp, 112) om + zet '' 01 anders '' (klusje (8), timestamp, 112) eind om
VAN HistorianDB.dbo.TLData 
WAAR TLInstance binnen („+@Meter+“)
EN timestamp tussen ''' +@str_sdate+ ''' en ''' +@str_edate+ '''
EN Type=0 
EN isnumeric (gegevens) =1
ORDE DOOR tlinstance, timestamp, recordnumber')        

-- doe de update onze gegevens het verschil tussen meterlezingen en kosten berekenen

WERK #reportdata bij
PLAATS DataChange = #reportdata. Gegevens - isnull (prev.data, 0.00)
VAN #ReportData 
linker buiten sluit zich aan bij #reportdata prev op #reportdata.tlinstance = prev.tlinstance en #reportdata.id - 1 = prev.id 
waar #reportdata.timestamp tussen @sdate en @edate

-- nu hebben wij datachange wij @operations en @calc kunnen nu overwegen
als object_id („tempdb. #tmp_meter“, „U“) is geen ongeldige #tmp_meter van de dalingslijst
als object_id („tempdb. #tmp_operator“, „U“) is geen ongeldige #tmp_operator van de dalingslijst
als object_id („tempdb. #tmp_calc“, „U“) is geen ongeldige dalingslijst #tmp_calc

selecteer identiteit (int., 1.1) als identiteitskaart, die (@meter, aantal, charindex („,“ substring, @meter+', ', aantal) - aantal) als meter
in #tmp_meter
van (selecteer @meter als meters) m
het kruis sluit zich aan (uitgezocht aantal van hoofd. .spt_values waar type = „p“) bij n
waar het substring („, „+@meter, aantal, 1) =“,“
en aantal <= len (@meter)

selecteer identiteit (int., 1.1) als identiteitskaart, die (@operator, aantal, charindex („,“ substring, @operator+', ', aantal) - aantal) als exploitant
in #tmp_operator
van (uitgezochte @operator als exploitanten) m
het kruis sluit zich aan (uitgezocht aantal van hoofd. .spt_values waar type = „p“) bij n
waar het substring („, „+@operator, aantal, 1) =“,“
en aantal <= len (@operator)

selecteer identiteit (int., 1.1) als identiteitskaart, die (@calc, aantal, charindex („,“ substring, @calc+', ', aantal) - aantal) als calc
in #tmp_calc
van (uitgezochte @calc als calcs) m
het kruis sluit zich aan (uitgezocht aantal van hoofd. .spt_values waar type = „p“) bij n
waar het substring („, „+@calc, aantal, 1) =“,“
en aantal <= len (@calc)

verklaar @parse varchar (4000)
selecteer @parse = isnull (@parse+' „,“ „) + exploitant +“ (geval wanneer ''' +operator+ ''' binnen ('' * '', ''/'') en isnull ([„+ meter +“], 0) = 0 toen anders 1 isnull ([„+ meter +“], 0) end + „*“ + calc + „)“
van #tmp_meter m
binnen sluit me aan #tmp_calc bij c op m.id = c.id
binnen sluit me aan bij #tmp_operator o op m.id = o.id

verklaar @columns varchar (2000)
selecteer @columns = isnull (@columns+', „, '') +“ [„+ meter +“] '
van #tmp_meter m
binnen sluit me aan #tmp_calc bij c op m.id = c.id
binnen sluit me aan bij #tmp_operator o op m.id = o.id
groep door meter

als object_id („tempdb. #tmp_reportdata“, „U“) is geen ongeldige #tmp_reportdata van de dalingslijst
cre�ër lijst#tmp_reportdata (timestamp datetime, datestamp datetime, datachange decimaal (12.4))

neem #tmp_reportdata op
exec („uitgezochte timestamp, datestamp zet om (decimaal (12.4), 0 ' +@parse+“) als datachange van
(uitgezochte timestamp, datestamp, tlinstance zet om (decimaal (12.4), datachange) als datachange van #reportdata) src
SPIL
(som (datachange) voor tlinstance binnen („+@columns+“)) pvt')

-- nu kunnen wij het rapport in werking stellen

; Met Periodes zoals
(
   Selecteer geval wanneer @reportselection = het anders geval van „D“ toen dateadd (minuut, aantal * 15, @sdate) wanneer @reportselection = „Y“ dateadd (maand, aantal, @sdate) dateadd (dag, aantal, @sdate) dan anders eind als PSDate beëindigt 
   , geval wanneer @reportselection = „D“ toen dateadd (minuut, aantal * 15 + 15, @sdate) - 0.00000005 anders geval wanneer @reportselection = „Y“ toen DATEADD (maand, DATEDIFF (maand, -1, dateadd (maand, aantal, @sdate)), 0) - anders 0.00000005 zetten (om klusje (8), @sdate+number, 112) + „23:59: 59.997“ eindeind zoals PEDate 
   , geval toen @reportselection = „D“ toen (datename (dw, @sdate), 03) + ' „+ bekeerling wegging (klusje (8), @sdate, 03) +right (bekeerling (klusje (19), dateadd (minuut, aantal * 15, @sdate), 100),) anders geval 8 toen @reportselection = „Y“ toen wegging (datename (maand, dateadd (maand, aantal, @sdate)), gingen 3) +“ „+ datename (jaar, @sdate) anders weg (datename (dw, dateadd (dag, aantal, @sdate)), 3) +“ 'het eind + van het bekeerlings (klusje (8), dateadd (dag, aantal, @sdate), 03) eind als PSName 
   , geval wanneer @reportselection = anders geval toen 1.0/96.0 van „D“ wanneer @reportselection in („M“, „W“) anders dag toen 1.0 (dateadd (maand, number+datediff (maand, -1, @sdate), 0) - 1) eindeind als dayparts
   van hoofd. .spt_values n met (nolock) 
   waar type = „p“
   en geval wanneer @reportselection = het anders geval van „D“ toen dateadd (minuut, aantal * 15, @sdate) wanneer @reportselection = „Y“ dateadd (maand, aantal, @sdate) dateadd (dag, aantal, @sdate) dan anders eind < @edate beëindigt
)
SELECTEER 
    PSname als Datum,
    SOM (isnull (r1.datachange, 0)) ALS day_data,
    SOM (isnull (r1.datachange, 0) *@CO2) ALS CO2_data,
    SOM (isnull (r1.datachange, 0) *@Carbon) ALS Carbon_data,
    SOM (isnull (r1.datachange, 0) *chargerate) ALS DataCost,
    SOM (isnull (r1.datachange, 0) *levy) als TotalLevy,
    maximum (geval wanneer r1.datestamp ongeldig toen anders caprate eind 0) is/@intervals als TotalCap,                           
    maximum (geval wanneer r1.datestamp ongeldig toen anders chargecap eind 0) is als ChargeCap,
    maximum (geval wanneer r1.datestamp ongeldig toen eind 0 anders dayparts * StandingDayCharge) is als StandingDayCharge,
    maximum (geval wanneer r1.datestamp ongeldig toen eind 0 anders dayparts * StandingDayCharge is) 
    + SOM (isnull (r1.datachange, 0) * (chargerate + heffing)) 
    + maximum (geval wanneer r1.datestamp ongeldig toen anders caprate eind 0) is/@intervals als TotalCost,
    isnull (((geval wanneer @reportselection = de SOM van „D“ toen (isnull (r1.datachange, 0)) anders (uitgezochte hoogste 1 datachange van #tmp_reportdata r2 waar r2.datestamp = orde r1.datestamp door r2.datachange desc) eind) *4)/@pf, 0) als MaxkVA,
    isnull (((geval wanneer @reportselection = de SOM van „D“ toen (isnull (r1.datachange, 0)) anders (uitgezochte hoogste 1 datachange van #tmp_reportdata r2 waar r2.datestamp = orde r1.datestamp door r2.datachange desc) eind) *4), 0) als MaxkW,
    (uitgezochte hoogste 1 timestamp van #tmp_reportdata r2 waar r2.datestamp = orde r1.datestamp door r2.datachange desc, r2.timestamp desc) als MaxDataChangeTimeStamp
 
VAN Periodes
LINKER BUITEN SLUIT zich aan bij #tmp_ReportData r1 op r1.timestamp tussen psdate en pedate
het kruis past dbo.udf_getrates_3 (r1.Timestamp, @util) toe    
GROEP DOOR PSname, r1.datestamp, PSdate
ORDE DOOR PSdate
EIND

Antwoord : Wijzig SQL SP om de aanvankelijke Waarde van het Begin te negeren

O.K.,

Dat zal in zijn:

#reportdata van de UPDATE
VASTGESTELDE DataChange = #reportdata. Gegevens - isnull (@prevval prev.data,)
VAN #ReportData
linker buiten sluit zich aan bij #reportdata prev op #reportdata.id - 1 = prev.id


Als er geen vorige waarde is, dan kunnen wij doen:

#reportdata van de UPDATE
VASTGESTELDE DataChange = #reportdata. Gegevens - isnull (prev.data, #reportdata. Gegeven)
VAN #ReportData
linker buiten sluit zich aan bij #reportdata prev op #reportdata.id - 1 = prev.id


Dat betekent ook wij niet meer nodig hebben:

VASTGESTELDE @PrevVal = isnull ((UITGEZOCHTE bovenkant 1 zet (echt, Gegevens) * @grate om
                        VAN HistorianDB.dbo.TLData
                        WAAR TLInstance = @Meter
                        EN timestamp <�>                        EN Type=0
                        EN isnumeric (gegevens) =1
                        ORDE DOOR timestamp desc), 0)

Ik denk het originele tussenvoegsel in de reportdatalijst meer ealier ingangen omvatte wat een andere optie is - minimaliseer om het even welke onnauwkeurigheid door openin de waaier een klein beetje voor de update, dan ervoor zorgt wij slechts over de specifieke waaier (rapporteren of uit waaierrijen na de update verwijderen).




Andere oplossingen  
 
programming4us programming4us