Frage : Neue mods an zusätzlichem SP anwenden (auf Frage folgen)

Können die gleichen mods diesem SP außerdem hinzugefügt werden:
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:
6:
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:
USE [EnergySuiteDB]
GEHEN
/****** Gegenstand:  StoredProcedure [dbo]. [GetCostPerPeriod_Virtual] Index-Datum: 07/31/2010 21:53: 41 ******/
ANSI_NULLS AN EINSTELLEN
GEHEN
QUOTED_IDENTIFIER AN EINSTELLEN
GEHEN
VERFAHREN [dbo] ÄNDERN. [GetCostPerPeriod_Virtual] @sDate DATUM/UHRZEIT, @Meter varchar (1000), @calc varchar (1000), @operator varchar (1000), @GasRate int, @pf Hin- und Herbewegung, @util varchar (50), @reportselection Putzfrau (1), @CO2 Hin- und Herbewegung, @Carbon Hin- und Herbewegung

WIE
ANFANGEN

--Ein Energienfaktor von 0 wirft Ausnahme, also muss dieser um kümmert werden
wenn isnull (@pf, 0) gesetztes @pf =0 = 1

-- erklären und einige Variablen zu gründen, die auf ankommenden Parametern basieren

@PREVVAL NUMERISCHES ERKLÄREN (12, 4)
das varchar @grate erklären (12) --numerisch (12.4)
@edate Datum/Uhrzeit erklären
@intervals int erklären

das varchar @str_sdate erklären (20)
das varchar @str_edate erklären (20)

@sdate = Bekehrten (Putzfrau (8), @sdate, 112) einstellen   -- sicherstellen, dass Zeit „beim Anfang“ des Zeitraums ist
Wenn @reportselection = „M“ @sdate = DATEADD einstellte (Monat, DATEDIFF (Monat, 0, @sdate), 0)
Wenn @reportselection = „Y“ einstellte @sdate = datename (Jahr, @sdate) + „0101“

@edate = Bekehrten (Putzfrau (8), @sdate, 112) einstellen + „23:59: 59.997“
Wenn @reportselection = „W“ @edate = Bekehrten einstellte (Putzfrau (8), @sdate+6,112) + „23:59: 59.997“
Wenn @reportselection = „M“ @edate = DATEADD einstellte (Monat, DATEDIFF (Monat, -1, @sdate), 0) - 0.00000005
Wenn @reportselection = „Y“ @edate = datename (Jahr, @sdate) + „1231 23:59 einstellte: 59.997“

das @str_sdate = Bekehrten (varchar, @sdate einstellen - 1.120)
das @str_edate = Bekehrten (varchar, @edate, 120) einstellen

@intervals = Tag (dateadd (Monat, datediff (Monat, - 1, @sdate), 0) einstellen - 1) 
Wenn @reportselection = „D“ @intervals = @intervals * 96 einstellte  -- 96 Viertelstunden an einem Tag.
Wenn @reportselection = „Y“ @intervals = 1 einstellte

wenn isnull (@gasrate, 0) = 1
   @grate einstellen = „11.0786“ -- 1.02264 * 39/3.6
sonst
   @grate einstellen = „1.0“

-- unseren Tempreport-Datenauszug von der Hauptgeschichtentabelle jetzt verursachen

WENN OBJECT_ID („tempdb. #ReportData“, „U ") IST NICHT UNGÜLTIGES TROPFEN-TABELLE #ReportData  -- sollte nicht erforderlich sein
 
TABELLE #ReportData VERURSACHEN
(
    Primärschlüssel Identität der Identifikation-int,
    TLInstance int,
    Zeitstempel DATUM/UHRZEIT,
    Hundertstel INT,      
    Daten NUMERISCH (12, 4),
    DataChange NUMERISCH (12, 4),
    DateStamp Datum/Uhrzeit
)

-- unsere Reportdaten bevölkern

IN #ReportData (Zeitstempel, tlinstance, Hundertstel, Daten, Datestamp) EINSETZEN
exec ('AUSERWÄHLTER Zeitstempel, tlinstance, Hundertstel, Bekehrter (real, Daten) * „+@grate+“, Fall wenn ''' +@reportselection+ ''' = '' y-'' dann Bekehrter (Putzfrau (6), Zeitstempel, 112) + sonst Bekehrter '' 01 '', Ende (der Putzfrau (8), Zeitstempel, 112)
VON HistorianDB.dbo.TLData 
WO TLInstance innen („+@Meter+")
UND Zeitstempel zwischen ''' +@str_sdate+ ''' und ''' +@str_edate+ '''
UND Type=0 
UND isnumeric (Daten) =1
AUFTRAG DURCH tlinstance, Zeitstempel, recordnumber')        

-- das Update tun unsere Daten, um den Unterschied zwischen Messinstrumentmesswerten und Kosten zu berechnen

#reportdata AKTUALISIEREN
DataChange = #reportdata EINSTELLEN. Daten - isnull (prev.data, #reportdata. Daten)
Vom #ReportData 
linke äußere schließen sich #reportdata prev auf #reportdata.tlinstance = prev.tlinstance und #reportdata.id - 1 = prev.id an 
wo #reportdata.timestamp zwischen @sdate und @edate

-- auf Gebühren der negativen Zahlen jetzt überprüfen, um Zurückstellen (oder die verfälschung) zu messen

#reportdata GESETZTES DataChange AKTUALISIEREN = 0 WO DataChange < 0


-- jetzt haben wir das datachange, das wir @operations und @calc jetzt betrachten können
wenn object_id („tempdb. #tmp_meter“, „U ") ist nicht ungültiges Tropfentabelle #tmp_meter
wenn object_id („tempdb. #tmp_operator“, „U ") ist nicht ungültiges Tropfentabelle #tmp_operator
wenn object_id („tempdb. #tmp_calc“, „U ") ist nicht ungültiges Tropfentabelle #tmp_calc

Identität (int, 1.1) wie Identifikation, Teilkette (@meter, Zahl, charindex („,“, @meter+', ', Zahl) - Zahl) als Messinstrument vorwählen
in #tmp_meter
von (@meter als Messinstrumente vorwählen), m
Kreuz schließen sich (auserwählte Zahl vom Meister. .spt_values wo Art = „p ") n an
wo Teilkette („, „+@meter, Zahl, 1) =“,“
und Zahl <= len (@meter)

Identität (int, 1.1) wie Identifikation, Teilkette (@operator, Zahl, charindex („,“, @operator+', ', Zahl) - Zahl) als Operator vorwählen
in #tmp_operator
von (@operator als Operatoren vorwählen), m
Kreuz schließen sich (auserwählte Zahl vom Meister. .spt_values wo Art = „p ") n an
wo Teilkette („, „+@operator, Zahl, 1) =“,“
und Zahl <= len (@operator)

Identität (int, 1.1) wie Identifikation, Teilkette (@calc, Zahl, charindex („,“, @calc+', ', Zahl) - Zahl) als calc vorwählen
in #tmp_calc
von (@calc als calcs vorwählen), m
Kreuz schließen sich (auserwählte Zahl vom Meister. .spt_values wo Art = „p ") n an
wo Teilkette („, „+@calc, Zahl, 1) =“,“
und Zahl <= len (@calc)

das varchar @parse erklären (4000)
@parse vorwählen = isnull (@parse+' „,“ ") + Operator +“ (Fall, wenn ''' +operator+ ''' innen ('' * '', ''/'') und isnull ([„+ Messinstrument +“], 0) = 0 dann 1 sonst isnull ([„+ Messinstrument +“], 0) end + „*“ + calc + ")“
von #tmp_meter m
inner #tmp_calc c auf sich anschließen m.id = c.id
inner #tmp_operator O auf verbinden m.id = o.id

die varchar @columns erklären (2000)
@columns = isnull (@columns+', „, '') vorwählen +“ [„+ Messinstrument +“] '
von #tmp_meter m
inner #tmp_calc c auf sich anschließen m.id = c.id
inner #tmp_operator O auf verbinden m.id = o.id
Gruppe durch Messinstrument

wenn object_id („tempdb. #tmp_reportdata“, „U ") ist nicht ungültiges Tropfentabelle #tmp_reportdata
Tabelle #tmp_reportdata (Zeitstempeldatum/uhrzeit, datestamp Datum/Uhrzeit, datachange Dezimalstrich (12.4) verursachen)

#tmp_reportdata einsetzen
exec („auserwählter Zeitstempel, datestamp, Bekehrter (Dezimalstrich (12.4), 0 ' +@parse+") als datachange von
(auserwählter Zeitstempel, datestamp, tlinstance, Bekehrter (Dezimalstrich (12.4), datachange) als datachange #reportdata) vom src
GELENK
(Summe (datachange) für tlinstance („+@columns+")) im pvt')

-- jetzt können wir den Report laufen lassen

; Mit Zeiträumen wie
(
   Fall wenn @reportselection = „D“ dann dateadd (Minute, Nr. * 15, @sdate) sonst Fall wenn @reportselection = „Y“ dann dateadd (Monat, Zahl, @sdate) sonst dateadd (Tag, Zahl, @sdate) Endenende als PSDate vorwählen 
   , Fall, wenn @reportselection = „D“ dann dateadd (Minute, Nr. * 15 + 15, @sdate) - 0.00000005 sonst Fall, wenn @reportselection = „Y“ dann DATEADD (Monat, DATEDIFF (Monat, -1, dateadd (Monat, Zahl, @sdate)), 0) - 0.00000005 sonst Bekehrter (Putzfrau (8), @sdate+number, 112) + „23:59: “ Ende des Endes 59.997, wie PEDate 
   , Fall, als @reportselection = „D“ dann (datename (dw, @sdate), 03) + ' „+ Bekehrter verließ (Putzfrau (8), @sdate, 03) +right (Bekehrter (Putzfrau (19), dateadd (Minute, Nr. * 15, @sdate), 100), 8) sonst Fall, als @reportselection = „Y“ dann verließ (datename (Monat, dateadd (Monat, Zahl, @sdate)), 3) +“ „+ verließ datename (Jahr, @sdate) sonst (datename (dw, dateadd (Tag, Zahl, @sdate)), 3) +“ '+ Endenende des Bekehrten (Putzfrau (8), dateadd (Tag, Zahl, @sdate), 03) als PSName 
   , Fall wenn @reportselection = „d-“ sonst Fall dann 1.0/96.0 wenn @reportselection („M“, „W ") dann im sonst Endenende des Tag 1.0 (dateadd (Monat, number+datediff (Monat, -1, @sdate), 0) - 1) als dayparts
   vom Meister. .spt_values n mit (nolock) 
   wo Art = „p“
   und Fall wenn @reportselection = „D“ dann dateadd (Minute, Nr. * 15, @sdate) sonst Fall wenn @reportselection = „Y“ dann dateadd (Monat, Zahl, @sdate) sonst dateadd (Tag, Zahl, @sdate) Endenende < @edate
)
AUSERWÄHLT 
    PSname als Datum,
    SUMME (isnull (r1.datachange, 0)) ALS day_data,
    SUMME (isnull (r1.datachange, 0) *@CO2) ALS CO2_data,
    SUMME (isnull (r1.datachange, 0) *@Carbon) ALS Carbon_data,
    SUMME (isnull (r1.datachange, 0) *chargerate) ALS DataCost,
    SUMME (isnull (r1.datachange, 0) *levy) als TotalLevy,
    maximales (Fall, wenn r1.datestamp ungültiges dann 0 sonst caprate Ende ist),/@intervals als TotalCap,                           
    maximal (Fall, wenn r1.datestamp ungültiges dann 0 sonst chargecap Ende ist), als ChargeCap,
    maximal (Fall, wenn r1.datestamp ungültiges dann 0 sonst dayparts * StandingDayCharge Ende ist), als StandingDayCharge,
    maximal (Fall, wenn r1.datestamp ungültiges dann 0 sonst dayparts * StandingDayCharge Ende ist) 
    + SUMME (isnull (r1.datachange, 0) * (chargerate + Steuer)) 
    + maximale (Fall, wenn r1.datestamp ungültiges dann 0 sonst caprate Ende ist),/@intervals als TotalCost,
    isnull (((Fall, wenn @reportselection = „d-“ dann SUMME (isnull (r1.datachange, 0)) sonst (auserwähltes Oberseite 1 datachange vom #tmp_reportdata r2, wo r2.datestamp = r1.datestamp Auftrag durch r2.datachange desc) Ende) *4)/@pf, 0) als MaxkVA,
    isnull (((Fall, wenn @reportselection = „d-“ dann SUMME (isnull (r1.datachange, 0)) sonst (auserwähltes Oberseite 1 datachange vom #tmp_reportdata r2, wo r2.datestamp = r1.datestamp Auftrag durch r2.datachange desc) Ende) *4), 0) als MaxkW,
    (auserwählter Zeitstempel der Oberseite 1 vom #tmp_reportdata r2 wo r2.datestamp = r1.datestamp Auftrag durch r2.datachange desc, r2.timestamp desc) als MaxDataChangeTimeStamp
 
Von den Zeiträumen
LINKE ÄUSSERE VERBINDEN #tmp_ReportData r1 auf r1.timestamp zwischen psdate und pedate
Kreuz wenden dbo.udf_getrates_3 an (r1.Timestamp, @util)    
GRUPPE DURCH PSname, r1.datestamp, PSdate
AUFTRAG DURCH PSdate
ENDE

Antwort : Neue mods an zusätzlichem SP anwenden (auf Frage folgen)

Wohles Malwarebyte ist sehr gute Software und die meisten uns hier auf sachverständigem Austausch empfehlen ihn den Leuten, die über die Ausgaben berichtet, die auf dem Virus, dem Wurm oder dem malware bezogen werden.

So denke ich, dass Sie gut zu gehen sind und einfach tun konnten, was malwarebytes Sie baten, zu tun. Entfernen.

Sudeep
Weitere Lösungen  
 
programming4us programming4us