Вопрос : Сделайте поворот заявление с динамическим SQL и подытожьте колонки

Atteached Кодий, поставленное данными по работ great.

The EE экспертными о по как: etc
myrep 1000
rep февраль -го январь 1250
Is etc

Question… там дорога добавить колонку итогов и если по возможности средний в колонку месяца?
rep etc -го

New февраль -го январь подытоживает AVG
myrep 1000 1250 etc 2250 1125
class= " ясное " >
> " codeSnippet " class=
class= " lineNumbers "
class=
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 " class= " id= " codeSnippet945298
 v.Status «закрыло»     
		и (ГОД (v.Funded) = ГОД (getdate ()))     
		и (МЕСЯЦ (v.Funded) > МЕСЯЦ (getdate ())- @)    
Группа rep, v.Funded    
ЗАКАЗ v.rep, месяц (v.Funded)  
  
--Создайте динамический SQl и ось   
объявите @sql varchar (4000)  
объявите @columns varchar (8000)    
  
отборные @columns = коалесцируют (@columns+', «, '') +» [«+ Mth +»] '  
от #temp  
группа Mth, MthI  
заказ MthI  
   
установите @sql = '  
    ВЫБЕРИТЕ [rep], «+ @columns +»  
    ОТ    
    (ВЫБЕРИТЕ [rep], [GrossRev], [Mth] как Mth от #temp) src  
     ОСЬ  
    (Сумма ([GrossRev]) ДЛЯ Mth ВНУТРИ (" + @columns + ")) КАК pvt  
   
EXEC (@sql)  
  
#temp таблицы падения
class=

Ответ : Сделайте поворот заявление с динамическим SQL и подытожьте колонки

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:
ВЫБЕРИТЕ  v.rep,    
		Сумма (V. [большой Rev]) как GrossRev,     
		DATENAME (месяц, v.Funded) как Mth  ,  
		месяц (v.Funded) как MthI    
В #temp    
ОТ	CRMPROD_01.dbo.v_P_Reporting v    
ГДЕ	v.Funded не нулево     
		и	v.Status <> «закрыло»     
		и	(ГОД (v.Funded) = ГОД (getdate ()))     
		и	(МЕСЯЦ (v.Funded) > МЕСЯЦ (getdate ())- @)    
Группа rep, v.Funded    
ЗАКАЗ v.rep, месяц (v.Funded)  
  
--Создайте динамический SQl и ось   
объявите @sql varchar (4000)  
объявите @columns varchar (8000)    
объявите @totals varchar (8000)
объявите @averages varchar (8000)
  
отборные	@columns = коалесцируют (@columns+', «, '') +» [«+ Mth +»] ',
		@totals  = коалесцируют (@totals+'+', '') + «isnull ([» + Mth + «], 0)»,
		@averages  = коалесцируют (@averages+'+', '') + «isnull (abs (знак ([» + Mth + «])), 0)»
от #temp
группа Mth, MthI  
заказ MthI

установите @sql = '  
    ВЫБЕРИТЕ [rep], '+ @columns +
		«, [итог] =» + @totals +
		«, [AVG] =1.0*(" + @totals + ")/isnull (nullif (» + @averages + ', 0), 0)
    ОТ    
    (ВЫБЕРИТЕ [rep], [GrossRev], [Mth] как Mth от #temp) src  
     ОСЬ  
    (Сумма ([GrossRev]) ДЛЯ Mth ВНУТРИ (" + @columns + ")) КАК pvt  
   
EXEC (@sql)  
  
#temp таблицы падения
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us