Semana do mês
-
quarta-feira, 25 de junho de 2008 16:51
Olá. tenho um problema com formulas no Crystal Report do VS2005.
Preciso calcular um numero total produzido agrupado por semana.
A formula DatePart ("ww", {date} ), me retorna a semana referente ao ano. E eu preciso dela referente ao mes. Tentei fazer um calculo no resultado que a mesma forma, mas não obtive sucesso, visto que alguns meses possuem 5 semanas e outros 6 semanas, como é o mês de Março, já que 1 de março cai num sábado.(Semana 1).
Qual a sugestão de vocês?!
Todas as Respostas
-
quarta-feira, 25 de junho de 2008 19:35
Viviane boa tarde!
fiquei com uma dúvida na lógica que voce usou...
Voce concorda comigo que dia 1 do mês é sempre o primeiro dia da primeira semana daquele mês...
então nesse caso não apenas somar 7 dias para começar a proxima semana?!
na verdade, gostaria que me explicasse melhor para que quer este resultado em semana do mês para eu tentar te ajudar, pois pesquisei aqui na net pra ver se havia alguma "fórmula" pra isso e não encontrei nada muito correto a respeito...
abraço,
-
quinta-feira, 26 de junho de 2008 01:38
VAmos por parte, eu tenho um relatorio que deve ser agrupado o resultado por "funcionario" e um segundo grupo por "semana do mes"(primeira semana, segunda semana, enfim...).
Funcionario 1 Janeiro Fevereiro
Semana 1 x
Semana 2 2 x x
Semana 3 3 x 2 x
Semana 4
Semana 5
Semana 6
Funcionario 2 Janeiro Fevereiro
Semana 1 x
Semana 2 2 x x
Semana 3 3 x 2 x
Semana 4
Semana 5
Semana 6
Para pegar a semana eu usei a a formula datepart("ww", data_producao). Mas não funciona.
Problema: 1 - em algum mes,posso nao ter nada em determinadas semanas..
2 - a formula usada serveria se fosse por ano, Janeiro de 1 a 5 semanas, fevereiro de 6 a 10, março de 7 a 12 semanas, etc.... Não consegui encontrar uma constante na diferença que permita eu elaborar uma logica p calcular a semana por mes. Não consigo pegar o weeknumber por mes.
-
quinta-feira, 26 de junho de 2008 02:36
Viviane,
Para calcular o dia da semana em SQL-Server
Code SnippetCREATE
FUNCTION dbo.WeekOfMonth (@data DATETIME)RETURNS
INTAS
BEGIN
RETURN
DATEPART(week, @data) - DATEPART(week, CONVERT(CHAR(6), @data, 112)+'01') + 1END
go
select
dbo.WeekOfMonth('20080625')go
-
quarta-feira, 2 de julho de 2008 18:58
Laercio, coloquei este trecho no meu sql e deu certinho.......exatamente como precisava.
"semanaDoMes = DATEPART(week, tabela.data) - DATEPART(week, CONVERT(CHAR(6), tabela.data, 112)+'01') + 1 "
Muitíssimo obrigada!
Valeu....
- Sugerido como Resposta Setecidades quarta-feira, 30 de maio de 2012 16:27
-
terça-feira, 22 de fevereiro de 2011 19:13
Tambem precisei fazer a msm coisa e esse codigo ajudou muito!
DATEPART(week, tabela.data) - DATEPART(week, CONVERT(CHAR(6), tabela.data, 112)+'01') + 1 "Muito bom!

