• Viernes 29 de Marzo de 2024, 06:50

Autor Tema:  Opciones de grupo del cross-tab con programacion  (Leído 2494 veces)

mikelm3

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Opciones de grupo del cross-tab con programacion
« en: Jueves 19 de Marzo de 2009, 17:01 »
0
Hola a toda la comunidad
Espero me puedan ayudar
Yo necesito manipular con programación un cross-tab de tal manera que por codigo yo pueda cambiar las opciones de grupo de un campo fecha que se encuentra como columna y asi poder sacar el reporte por día, mes y semana.
Esto con el reporte es muy sencillo hacerlo pero el problema es que no quiero un reporte por cada opcion del grupo del cross-tab, tengo 24 reportes diferentes y si hago la ultima opción tendría 72 reportes los cuales tendría que editar cada uno de ellos y sería muy laborioso.
Estoy usando Visual Basic 2005 y Crystal Reports XI developer, ya busque el objeto de opcion de grupo para el cross-tab pero no lo encuentro.
¿Es posible hacer esto por medio de codigo?
En su defecto ¿que otra opción me recomiendan que nos sea hacer un reporte por cada opción de grupo?
Les doy el ejemplo de como esta estructurado uno de los reportes
Estos reportes son de ventas

Cross-Tab por día                           
   02/03/2009   03/03/2009   04/03/2009   05/03/2009   06/03/2009   07/03/2009   09/03/2009   12/03/2009   16/03/2009
Articulo                           
0050   12   1   10   2   5   8   5   4   2
0100   1   2   5   10   6   8   9   10   5
0500   5   8   9   10   15   5   6   4   2
                           
Cross-Tab por semana                           
   01/03/2009   08/03/2004   15/03/2009                  
Articulo                           
0050   38   9   2                  
0100   32   19   5                  
0500   52   10   2                  
                           
Cross-Tab por mes                           
   Mar-09                        
Articulo                           
0050   49                        
0100   56                        
0500   64

rlcobos

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Opciones de grupo del cross-tab con programacion
« Respuesta #1 en: Domingo 27 de Diciembre de 2009, 15:14 »
0
Hola,

Tengo exactamente el mismo problema.

Como lo resolviste al final.??

Gracias

Raúl

mikelm3

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Opciones de grupo del cross-tab con programacion
« Respuesta #2 en: Martes 29 de Diciembre de 2009, 17:26 »
0
Encontre un codigo de un  store procedure de sql server que es el siguiente:

CREATE procedure CrossTab (@Select varchar(1000),

    @PivotCol varchar(100),

    @Summaries varchar(100),

    @GroupBy varchar(100),

    @OtherCols varchar(100) = Null)

AS

 

set nocount on

set ansi_warnings off

 

declare @Vals varchar(8000);

set @Vals = '';

 

set @OtherCols= isNull(', ' + @OtherCols,'')

 

create table #temp  (Pivot varchar(100))

 

insert into #temp

exec ('select distinct convert(varchar(100),' + @PivotCol + ') as Pivot FROM (' + @Select + ') A')

 

select @Vals = @Vals + ', ' +

    replace(replace(@Summaries,'(','(CASE WHEN ' + @PivotCol + '=''' +

            Pivot +  ''' THEN '),')[', ' END) as [' + Pivot )

from #Temp
order by Pivot

 

drop table #Temp

 

EXEC ( 'select ' + @GroupBy + @OtherCols + @Vals +
       ' from (' + @Select + ')  A GROUP BY ' + @GroupBy)
 

set nocount off

set ansi_warnings on
GO

los parametros que le paso al store procedure son las consultas de unas vistas que se generan dinamicamente mediante codigo en el programa de VB, despues el resultado del store procedure lo bajo a un table adapter para ligarlo a un grid y en el grid presento el reporte pero si quieres tambien lo puedes vaciar en un reporte de crystal reports con origen de datos mediante store procedure.
Espero te sirva de algo
Suerte........