Crear una vista Indizada(Error)

04/10/2005 - 18:43 por Christian_Mex | Informe spam
Hola a todos, este es el primer post que coloco, ojala puedan ayudarme, de cualquier manera muchas gracias

Estoy intentando crear una vista indizada de la siguiente maner

create view V_PreCalculos with schemabindin
a
select dbo.tbldivisiones.Lanzamiento,dbo.tblReportesObjetivos.IdEvento,dbo.tblReportesObjetivos.fecha,dbo.tblDivisiones.IdDivision,dbo.tblReportesObjetivos.idSucursal
SUM(CASE WHEN (dbo.CalcularPuntajeObjetivo(dbo.tblDefinicionObjetivos.Tipo, dbo.tblReporteObjetivosMedidos.Medicion, dbo.tblReporteObjetivosMedidos.FrentesCompetencia) >= dbo.tblReporteObjetivosMedidos.Meta) THEN dbo.tblReporteObjetivosMedidos.Puntaje ELSE 0 END) AS KPI
SUM(dbo.tblReporteObjetivosMedidos.Puntaje) AS KPIIdea
from dbo.tblDefinicionObjetivo
inner join dbo.tblReporteObjetivosMedidos
on dbo.tblReporteObjetivosMedidos.IdObjetivo = dbo.tbldefinicionObjetivos.IdObjetiv
inner join dbo.tblReportesObjetivo
on dbo.tblReportesObjetivos.IdReporteDiario = dbo.tblReporteObjetivosMedidos.IdReporteDiari
inner join dbo.tblProducto
on dbo.tblProductos.IdProducto = dbo.tblDefinicionObjetivos.IdMarc
inner join dbo.tblCategoria
on dbo.tblCategorias.IdCategoria = dbo.tblProductos.Idcategori
inner join dbo.tblDivisione
on dbo.tbldivisiones.IdDivision = dbo.tblCategorias.IdDivisio
group by dbo.tblReportesObjetivos.fecha,dbo.tblReportesObjetivos.idSucursal,dbo.tblDivisiones.idDivision,dbo.tblReportesObjetivos.IdEvento,dbo.tbldivisiones.Lanzamient

Pero al momento de crear el indice SQL me da el siguinte erro
Server: Msg 8662, Level 16, State 1, Line
An index cannot be created on the view 'V_PreCalculos' because the view definition includes an unknown value (the sum of a nullable expression)

Las columnas que admiten valores nullos son las que paso como parametros a la funcion, Medicion, FrentesCompetencia, meta, puntaje.

Hay alguna manera de darle solucion a esto sin que las columnas mencionadas dejen de admitir valores nullos

Christian_Mex

Ver este tema: http://www.softwaremix.net/viewtopic-439592.htm

Enviado desde http://www.softwaremix.net
 

Leer las respuestas

#1 Isaias
04/10/2005 - 22:17 | Informe spam
Tal vez si preguntas por ISNULL(Mysuma, 0)
Saludos
IIslas


"Christian_Mex" escribió:


Hola a todos, este es el primer post que coloco, ojala puedan ayudarme, de cualquier manera muchas gracias.

Estoy intentando crear una vista indizada de la siguiente manera

create view V_PreCalculos with schemabinding
as
select dbo.tbldivisiones.Lanzamiento,dbo.tblReportesObjetivos.IdEvento,dbo.tblReportesObjetivos.fecha,dbo.tblDivisiones.IdDivision,dbo.tblReportesObjetivos.idSucursal,
SUM(CASE WHEN (dbo.CalcularPuntajeObjetivo(dbo.tblDefinicionObjetivos.Tipo, dbo.tblReporteObjetivosMedidos.Medicion, dbo.tblReporteObjetivosMedidos.FrentesCompetencia) >= dbo.tblReporteObjetivosMedidos.Meta) THEN dbo.tblReporteObjetivosMedidos.Puntaje ELSE 0 END) AS KPI,
SUM(dbo.tblReporteObjetivosMedidos.Puntaje) AS KPIIdeal
from dbo.tblDefinicionObjetivos
inner join dbo.tblReporteObjetivosMedidos
on dbo.tblReporteObjetivosMedidos.IdObjetivo = dbo.tbldefinicionObjetivos.IdObjetivo
inner join dbo.tblReportesObjetivos
on dbo.tblReportesObjetivos.IdReporteDiario = dbo.tblReporteObjetivosMedidos.IdReporteDiario
inner join dbo.tblProductos
on dbo.tblProductos.IdProducto = dbo.tblDefinicionObjetivos.IdMarca
inner join dbo.tblCategorias
on dbo.tblCategorias.IdCategoria = dbo.tblProductos.Idcategoria
inner join dbo.tblDivisiones
on dbo.tbldivisiones.IdDivision = dbo.tblCategorias.IdDivision
group by dbo.tblReportesObjetivos.fecha,dbo.tblReportesObjetivos.idSucursal,dbo.tblDivisiones.idDivision,dbo.tblReportesObjetivos.IdEvento,dbo.tbldivisiones.Lanzamiento

Pero al momento de crear el indice SQL me da el siguinte error
Server: Msg 8662, Level 16, State 1, Line 1
An index cannot be created on the view 'V_PreCalculos' because the view definition includes an unknown value (the sum of a nullable expression).

Las columnas que admiten valores nullos son las que paso como parametros a la funcion, Medicion, FrentesCompetencia, meta, puntaje.

Hay alguna manera de darle solucion a esto sin que las columnas mencionadas dejen de admitir valores nullos.


Christian_Mex


Ver este tema: http://www.softwaremix.net/viewtopic-439592.html

Enviado desde http://www.softwaremix.net



Preguntas similares