Relatório Mensal em Colunas
Oi pessoal, blz?
Estou com a seguinte dúvida me perseguindo a um tempo, sem resposta...
Como faço para criar um relatório, quebrando por mês, e colocando os dados de cada mês nas colunas correspondentes??
Exemplo:
-----------Jan----Fev----Mar----Abr----Mai----Jun
Cliente1---03------15-----11------07------09-----16
Cliente2---15------15-----16------25------13-----10
Cliente3---10------15-----11------20------16-----14
Cliente4---16------15-----17------14------13-----19
Não tenho a mínima idéia de como fazer isto...
No momento uso Quick Report, mas caso haja necessidade, posso usar outro gerador de relatórios, caso ajude.
Agradeço antecipadamente a atenção.
Abraços!
Fernando
Estou com a seguinte dúvida me perseguindo a um tempo, sem resposta...
Como faço para criar um relatório, quebrando por mês, e colocando os dados de cada mês nas colunas correspondentes??
Exemplo:
-----------Jan----Fev----Mar----Abr----Mai----Jun
Cliente1---03------15-----11------07------09-----16
Cliente2---15------15-----16------25------13-----10
Cliente3---10------15-----11------20------16-----14
Cliente4---16------15-----17------14------13-----19
Não tenho a mínima idéia de como fazer isto...
No momento uso Quick Report, mas caso haja necessidade, posso usar outro gerador de relatórios, caso ajude.
Agradeço antecipadamente a atenção.
Abraços!
Fernando
Robotpost
Curtidas 0
Respostas
Emerson Nascimento
16/05/2006
o gerador de relatórios não é o problema maior.
qual o banco de dados que você usa?
qual o banco de dados que você usa?
GOSTEI 0
Robotpost
16/05/2006
Oi Emerson.
Antes de mais nada obrigado por se prontificar a me ajudar.
Estou usando SQL Server 2000.
Abraço,
Fernando
Antes de mais nada obrigado por se prontificar a me ajudar.
Estou usando SQL Server 2000.
Abraço,
Fernando
GOSTEI 0
Emerson Nascimento
16/05/2006
pode ser numa instrução direta ou via stored procedure.
um exemplo:
um exemplo:
select cliente, sum(case when month(data)=01 then fretetotal else 0 end) Jan, sum(case when month(data)=02 then fretetotal else 0 end) Fev, sum(case when month(data)=03 then fretetotal else 0 end) Mar, sum(case when month(data)=04 then fretetotal else 0 end) Abr, sum(case when month(data)=05 then fretetotal else 0 end) Mai, sum(case when month(data)=06 then fretetotal else 0 end) Jun from pedidos where year(data) = 2005 group by cliente
GOSTEI 0
Robotpost
16/05/2006
Emerson,
Tenho que dar os parabéns, pois ficou exatamente como eu queria.
Só mais uma dúvida.
Tenho como eu trazer os dados, separado por categoria e cliente?
Exemplo:
-----------Jan----Fev----Mar----Abr----Mai----Jun
Gastos com Impressão
Cliente1---03------15-----11------07------09-----16
Cliente2---15------15-----16------25------13-----10
Cliente3---10------15-----11------20------16-----14
Cliente4---16------15-----17------14------13-----19
Gastos com Transporte
Cliente1---03------15-----11------07------09-----16
Cliente2---15------15-----16------25------13-----10
Cliente3---10------15-----11------20------16-----14
Cliente4---16------15-----17------14------13-----19
Gastos com Alimentação
Cliente1---03------15-----11------07------09-----16
Cliente2---15------15-----16------25------13-----10
Cliente3---10------15-----11------20------16-----14
Cliente4---16------15-----17------14------13-----19
Gastos com Hospedagem
Cliente1---03------15-----11------07------09-----16
Cliente2---15------15-----16------25------13-----10
Cliente3---10------15-----11------20------16-----14
Cliente4---16------15-----17------14------13-----19
Fui copiando os dados, mas é mais ou menos isto que preciso.
Obrigado mais uma vez, foi uma dica muito valiosa a sua.
Abraço,
Fernando
Tenho que dar os parabéns, pois ficou exatamente como eu queria.
Só mais uma dúvida.
Tenho como eu trazer os dados, separado por categoria e cliente?
Exemplo:
-----------Jan----Fev----Mar----Abr----Mai----Jun
Gastos com Impressão
Cliente1---03------15-----11------07------09-----16
Cliente2---15------15-----16------25------13-----10
Cliente3---10------15-----11------20------16-----14
Cliente4---16------15-----17------14------13-----19
Gastos com Transporte
Cliente1---03------15-----11------07------09-----16
Cliente2---15------15-----16------25------13-----10
Cliente3---10------15-----11------20------16-----14
Cliente4---16------15-----17------14------13-----19
Gastos com Alimentação
Cliente1---03------15-----11------07------09-----16
Cliente2---15------15-----16------25------13-----10
Cliente3---10------15-----11------20------16-----14
Cliente4---16------15-----17------14------13-----19
Gastos com Hospedagem
Cliente1---03------15-----11------07------09-----16
Cliente2---15------15-----16------25------13-----10
Cliente3---10------15-----11------20------16-----14
Cliente4---16------15-----17------14------13-----19
Fui copiando os dados, mas é mais ou menos isto que preciso.
Obrigado mais uma vez, foi uma dica muito valiosa a sua.
Abraço,
Fernando
GOSTEI 0
Emerson Nascimento
16/05/2006
select categoria, cliente, sum(case when month(data)=01 then fretetotal else 0 end) Jan, sum(case when month(data)=02 then fretetotal else 0 end) Fev, sum(case when month(data)=03 then fretetotal else 0 end) Mar, sum(case when month(data)=04 then fretetotal else 0 end) Abr, sum(case when month(data)=05 then fretetotal else 0 end) Mai, sum(case when month(data)=06 then fretetotal else 0 end) Jun from pedidos where year(data) = 2005 group by categoria, cliente order by categoria, cliente
GOSTEI 0
Robotpost
16/05/2006
Muito bom, ficou perfeito.
Obrigado Emerson.
Abraço,
Fernando
Obrigado Emerson.
Abraço,
Fernando
GOSTEI 0
Robotpost
16/05/2006
Oi pessoal,
Bom, mostrei o relatório para o cliente, que ficou satisfeito, mas me jogou a seguinte questão?
Tem como os meses serem dinâmicos?
Ou seja:
Ele quer poder escolher os meses e anos que quer no relatório, e não que o relatório seja estático.
Exemplo: Um relatório de 01/04/2001 a 01/04/2002.
Neste caso, o relatório que o Emerson me indicou(que por sinal ficou perfeito), não serviria mais, porque o cliente não conseguiria alimentá-lo, de forma que ele traga as colunas de Abril/2001 a Abril/2002, ou Setembro/2003 a Maio/2004, deu pra entender?
É isso, espero que consigam me ajudar.
Agradeço novamente a atenção.
Abraços!
Fernando
Bom, mostrei o relatório para o cliente, que ficou satisfeito, mas me jogou a seguinte questão?
Tem como os meses serem dinâmicos?
Ou seja:
Ele quer poder escolher os meses e anos que quer no relatório, e não que o relatório seja estático.
Exemplo: Um relatório de 01/04/2001 a 01/04/2002.
Neste caso, o relatório que o Emerson me indicou(que por sinal ficou perfeito), não serviria mais, porque o cliente não conseguiria alimentá-lo, de forma que ele traga as colunas de Abril/2001 a Abril/2002, ou Setembro/2003 a Maio/2004, deu pra entender?
É isso, espero que consigam me ajudar.
Agradeço novamente a atenção.
Abraços!
Fernando
GOSTEI 0
Emerson Nascimento
16/05/2006
nesse caso seria necessário criar uma stored procedure.
GOSTEI 0
Robotpost
16/05/2006
Emerson,
Vc tem algum modelo de Stored Procedure que faça isso?
Por mais que eu pense, não consegui criar algo que faça isso dinamicamente...
Abraços e obrigado.
Fernando
Vc tem algum modelo de Stored Procedure que faça isso?
Por mais que eu pense, não consegui criar algo que faça isso dinamicamente...
Abraços e obrigado.
Fernando
GOSTEI 0
Emerson Nascimento
16/05/2006
e isso seria listado sempre em colunas?
por exemplo:
01/04/2001 a 01/04/2002
sairia:
cliente 01/2001 02/2001 03/2001 [...] 11/2001 12/2001 01/2002 02/2002 03/2002 04/2002
ou:
cliente 01/2001 02/2001 03/2001 [...] 11/2001 12/2001
cliente 01/2002 02/2002 03/2002 04/2002
(ou seja, agrupado por ano)
?
por exemplo:
01/04/2001 a 01/04/2002
sairia:
cliente 01/2001 02/2001 03/2001 [...] 11/2001 12/2001 01/2002 02/2002 03/2002 04/2002
ou:
cliente 01/2001 02/2001 03/2001 [...] 11/2001 12/2001
cliente 01/2002 02/2002 03/2002 04/2002
(ou seja, agrupado por ano)
?
GOSTEI 0
Robotpost
16/05/2006
Emerson, seria desta forma:
----------01/2001 02/2001 03/2001 [...] 11/2001 12/2001 01/2002 02/2002
Cliente1
Cliente2
Cliente3
Cliente4
Ou agrupado por categoria também, daquela forma que vc me explicou lembra?
Espero ter sido claro.
Abraço,
Fernando
----------01/2001 02/2001 03/2001 [...] 11/2001 12/2001 01/2002 02/2002
Cliente1
Cliente2
Cliente3
Cliente4
Ou agrupado por categoria também, daquela forma que vc me explicou lembra?
Espero ter sido claro.
Abraço,
Fernando
GOSTEI 0
Robotpost
16/05/2006
sobe
GOSTEI 0
Robotpost
16/05/2006
sobe
GOSTEI 0
Robotpost
16/05/2006
sobe de novo!!!!!!!!!!!
GOSTEI 0
Robotpost
16/05/2006
outra vez.....
GOSTEI 0
Robotpost
16/05/2006
sobe!!!
pessoal, alguém teria alguma outra solução para este meu problema??
pessoal, alguém teria alguma outra solução para este meu problema??
GOSTEI 0
Robotpost
16/05/2006
again... :cry:
GOSTEI 0