FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
¿Cómo aplicar un filtro por fecha a un campo calculado dentro de una consulta?
Saludos amigos foreros, estoy elaborando un reporte con el ReportBuilder de Digital Metaphors al cual le agregue varias consultas de la Base de Datos con el objetivo de obtener los datos y calculos que son necesarios para el reporte en cuestión, una de las consulta (Ver enlace "Imagen Consulta_B") incluye un campo calculado como les muestro a continuación:
La tabla a la que esta asociada dicha consulta incluye una columna denominada "Periodo" del tipo fecha con formato YYYYMM la cual deseo utilizar para filtrar mi consulta, el problema se presenta debido a que el dato "Periodo" se repite por cada producto que este registrado debido a que la tabla a la que esta asociada es una tabla de estadisticas de inventario (Ver enlace "Imagen Tabla SAEPRD"). Mi objetivo es obtener el promedio de ventas mensual de un producto tomando como base para el calculo la sumatoria de las ventas ( AVG(CntVentas) ) de los ultimos 12 meses (Tabla SAEPRD.Periodo), ya tengo la sumatoria pero no conozco la forma de filtrar la consulta con los ultimos 12 meses, esto ultimo es importante ya que al generar el reporte la consulta debe tomar como ultima fecha la del momento en que se esta generando el reporte y tomar en cuenta los 12 meses anteriores para ejecutar el calculo respectivo. Trate de explicar mi caso de la mejor manera, si necesitan información adicional para solventar mi duda con gusto se las expondre. Imagen Consulta_B: https://dl.dropbox.com/u/93589263/Consulta_B.jpg Imagen Tabla SAEPRD: https://dl.dropbox.com/u/93589263/Tabla%20SAEPRD.jpg Imagen Reporte: https://dl.dropbox.com/u/93589263/Reporte.jpg De antemano muchas gracias por la ayuda que puedan brindarme. |
#2
|
||||
|
||||
No mencionas que motor usas. Pero por lo regular en un "where" que seria el filtro, no se pueden utilizar funciones, cuando es el caso como me parece que es el tuyo utilizamos la clausula "HAVING" para filtrar los grupos creo que pudiera ser así:
Lo escribo de botepronto aclaro.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#3
|
|||
|
|||
Cita:
El motor de Base de Datos que utiliza mi sistema es el MS SQL Server Enterprise 2008. De nuevo muchas gracias por tu ayuda. Última edición por Jean Pierre fecha: 02-08-2012 a las 06:05:16. Razón: Agregar información |
#4
|
||||
|
||||
Lo que dificulta tu consulta es el hecho de que el campo periodo no es un campo tipo fecha. Pero pienso que podrías hacer un CAST, agregando el dia 1 de cada mes, para obtener una fecha completa. Claro que posiblemnte tendrás que separar año y mes del periodo y luego concatenar con el dia primero. Una vez que tengas la fecha puedes usar una función para sumar o restar de una fecha. En SQL Server parece que esa función es DateAdd.
Por ejemplo, si el campo periodo fuera de tipo Date, entonces tu filtro sería:
es decir, que el periodo esté entre la fecha actual (GetDate) y la fecha actual menos un año. // Saludos |
#5
|
|||
|
|||
Solucionado Creando Vista en SQL
Saludos amigos foreros, ante todo les remito mi agradecimiento por sus valiosos comentarios de ayuda y asesoramiento, les comento que logre hacer mi reporte con los útiles consejos que me dieron y leyendo un poco sobre SQL Server y Transact-SQL, luego de muchas pruebas y de mucha meditación decidi crear una vista en SQL para luego consultarla en el ReportBuilder, ya que, si generaba las consultas con los calculos requeridos el reporte demoraba toda una eternidad en crearse; el script para la consulta quedo de la siguiente manera:
Como pueden ver con la consulta anterior obtuve el acumulado de venta por producto del ultimo año y luego en el ReportBuilder cree una variable calculada para promediar las ventas. Actualmente el reporte esta en periodo de prueba y le estamos haciendo algunos chequeos para verificar que la informacion plasmada en el mismo sea fidedigna pero gracias a ustedes hemos logrado un gran avance. Muchisimas gracias . . . |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
campo calculado en consulta y variable | david_uh | Varios | 2 | 27-11-2008 02:51:51 |
Se puede hacer una consulta a un campo calculado? | flystar | SQL | 4 | 11-10-2007 12:11:10 |
Promedio de campo calculado con una sub-consulta | ContraVeneno | SQL | 8 | 06-10-2005 17:38:06 |
consulta por campo calculado | noe | SQL | 15 | 28-06-2005 16:44:54 |
¿Cómo podemos dejar de aplicar un filtro? | vhirginia | Conexión con bases de datos | 3 | 27-04-2004 18:34:24 |
|