Frage : Aussage mit dynamischem SQL schwenken und sich beläuft auf Spalten

Der atteached Code, geliefert durch Daten der EE-sachverständigen Arbeiten great.

The ausgegeben wie ie:
rep Januar Februar etc
myrep 1000 1250 etc

Question…
Is dort eine Weise, eine Gesamtspalte und wenn möglich einen, Durchschnitt pro Monatsspalte hinzuzufügen?

New Ausgang gewünschtes…
rep Januar Februar usw. beläuft auf AVG
myrep 1000 1250 usw. 2250 1125
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:
SELECT v.rep,    
		Summe (V. [grober Rev]) als GrossRev,     
		DATENAME (Monat, v.Funded) als Mth,  
		Monat (v.Funded) als MthI    
In #temp    
VON CRMPROD_01.dbo.v_P_Reporting V    
WO v.Funded nicht ungültig ist     
		und v.Status <> „schloß“     
		und (JAHR (v.Funded) = JAHR (getdate ()))     
		und (MONAT (v.Funded) > MONAT (getdate ())- @)    
Gruppe durch Repräsentanten, v.Funded    
AUFTRAG DURCH v.rep, Monat (v.Funded)  
  
--Dynamischen SQl und Gelenk herstellen   
das varchar @sql erklären (4000)  
die varchar @columns erklären (8000)    
  
auserwählte @columns = verschmelzen (@columns+', „, '') +“ [„+ Mth +“] '  
vom #temp  
Gruppe durch Mth, MthI  
Auftrag durch MthI  
   
@sql einstellen = '  
    VORWÄHLEN [Repräsentant], „+ @columns +“  
    VON    
    ([Repräsentant], [GrossRev], [Mth] als Mth vom #temp) VORWÄHLEN, src  
     GELENK  
    (Summe ([GrossRev]) FÜR Mth INNEN („+ @columns + ")) ALS pvt  
   
EXEC (@sql)  
  
Tropfentabelle #temp

Antwort : Aussage mit dynamischem SQL schwenken und sich beläuft auf Spalten

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:
V.rep  VORWÄHLEN,    
		Summe (V. [grober Rev]) als GrossRev,     
		DATENAME (Monat, v.Funded) als Mth  ,  
		Monat (v.Funded) als MthI    
In #temp    
VON	CRMPROD_01.dbo.v_P_Reporting V    
WO	v.Funded nicht ungültig ist     
		und	v.Status <> „schloß“     
		und	(JAHR (v.Funded) = JAHR (getdate ()))     
		und	(MONAT (v.Funded) > MONAT (getdate ())- @)    
Gruppe durch Repräsentanten, v.Funded    
AUFTRAG DURCH v.rep, Monat (v.Funded)  
  
--Dynamischen SQl und Gelenk herstellen   
das varchar @sql erklären (4000)  
die varchar @columns erklären (8000)    
die varchar @totals erklären (8000)
die varchar @averages erklären (8000)
  
auserwählte	@columns = verschmelzen (@columns+', „, '') +“ [„+ Mth +“] ',
		@totals  = verschmelzen (@totals+'+', '') + „isnull ([“ + Mth + „], 0)“,
		@averages  = verschmelzen (@averages+'+', '') + „isnull (ABS (Zeichen ([“ + Mth + „])), 0)“
vom #temp
Gruppe durch Mth, MthI  
Auftrag durch MthI

@sql einstellen = '  
    VORWÄHLEN [Repräsentant], '+ @columns +
		„, [Gesamtmenge] =“ + @totals +
		„, [AVG] =1.0* (“ + @totals + ")/isnull (nullif (“ + @averages + ', 0), 0)
    VON    
    ([Repräsentant], [GrossRev], [Mth] als Mth vom #temp) VORWÄHLEN, src  
     GELENK  
    (Summe ([GrossRev]) FÜR Mth INNEN („+ @columns + ")) ALS pvt  
   
EXEC (@sql)  
  
Tropfentabelle #temp
Weitere Lösungen  
 
programming4us programming4us