Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá pessoal!!
A primeira parte dessa saga aconteceu aqui: Como buscar quantidade de dos meses anteriores!!
E como disse para o amigo Marcel, minha duvida foi parcialmente resolvida pois agora tenho um outro problema. A quantidade de dias que a expressão retorna é apenas a dos dias que o produto foi vendido, ou seja, se um produto foi vendido apenas hoje, essa quantidade de dias que aparece apenas para o mesmo é de 1 dia e não 30 dias do mês. Veja o exemplo abaixo:
No registro destacado em azul, como este produto foi vendido em todos os dias uteis do mês, ele apresenta 24 dias. Porém o registro destacado em vermelho que consta 23 dias, o produto não foi vendido em todos os dias uteis, sendo que em 1 dia o mesmo não teve venda.
Existe alguma função de calendário para que possa resolver este problema? Preciso que a mesma quantidade de dias seja contado em todos os registros mesmo que eles tenham sido vendidos em apenas 1 dia do mês. Lembro que também é preciso que esses dias sejam somados a medida que o usuário escolha mais de um mês na caixa de dados na parte superior da tela.
Desde já agradeço!!
Rodrigo Ramos Rocha
To tentando criar essas variáveis no Sense e não to conseguindo... Na verdade nunca precisei criar no Sense...
Não sei se esta correto da maneira que fiz acima... porém não esta apresentando os dias conforme abaixo:
To fazendo alguma coisa errada??
Ta faltando os "=" na frente so tu colocar isso que deve funcionar dentro das variaveis precisa ser assim mesmo:
"=Max(Seu_CAMPO_DE_DATA)"
no Inicio mes , fim do mes e no netoworkdays tb
caso contrario tu vai ter que por $ na frente da variavel
Thiago.... estamos quase la...
Ele ta aparecendo agora a quantidade dos dias... porém ele não esta somando com os meses anteriores conforme falei... Selecionando os meses de Novembro (6 dias até agora) com o de Outubro (25 dias) teria que mostrar 31 dias, conforme abaixo. Porém ele não esta somando e também me parece que esta contando todos os dias uteis deste mês de Novembro, sendo que é preciso contar até o dia corrente sempre aumentando mais um dia conforme o decorrer do mês. Já coloquei todos os campos de data que eu possuo no código mas o problema permanece...
Peço desculpas se estou te perturbando parceiro... mas realmente preciso muito desta funcionalidade.
Obrigado mesmo pela ajuda até agora!!!
Me tira as seguintes duvidas:
1- O cara pode selecionar o Dia ou so mes?
2- Precisa conta ate o dia corrente ou mes inteiro?
so preciso sanar essas duas duvidas que acho que sei qual e a solucao
para me ajuda na visualizacao dos dados: consegue bota como uma lista os dias ai para eu ter uma ideia de como esta a nuvem de data ?
e naos e preocupa nao cara, nao e incomodo nenhum, estamos em uma comunidade nos ajudando, estou aprendendo mais enquanto te ajudo tambem
So peco desculpas pela demora em responder pra ti, porque estou em um local 3 horas a frente do brasil, entao aqui e 8 Am e ai 5 AM rs
Relaxa que se precisar de ajuda estamos ai, so sana essas duvidas que acredito que terei a solucao
Valeu mesmo Thiago!! Vamos la então:
1 - Ele vai selecionar os meses conforme esta marcado no campo de meses que esta circulado de vermelho. Esse campo chama Mes Ano e eu criei ele com a função calendário. Ele pega uma data da base e transforma ele em mes e ano. Segue a linha do codigo:
Calendario:
NoConcatenate
LOAD
nf_data_entrega,
Day(nf_data_entrega) as Dia,
Month(nf_data_entrega) as Mês,
Year(nf_data_entrega) as Ano,
DayNumberOfQuarter(nf_data_entrega) as [Dia Trimestre],
DayNumberOfYear(nf_data_entrega) as [Dia Ano],
MonthName(nf_data_entrega) as [Mes Ano],
QuarterName(nf_data_entrega) as [Quarter],
Week(nf_data_entrega) as [Semana],
ceil(Month(nf_data_entrega)/3)&'º Trim' as [Trimestre],
WeekDay(nf_data_entrega) as [Dia Semana]
Resident TMP_Calendario;
2- Depende de como o usuário selecionar o Mês. Caso for o mês atual, precisa contar até o dia corrente. Por exemplo: caso o usuário selecionar o mês de Novembro, terá que contar até o dia de hoje, ou seja, 7 dias uteis. Caso ele selecione outros meses que já passaram será preciso mostrar a quantidade de dias uteis que teve este determinado mês. Por exemplo caso seja selecionado o mês de Outubro, será mostrado 25 dias. E também, caso seja selecionado mais de um mês, é preciso que mostre a quantidade de dias uteis dos dois meses somados. Por exemplo, caso o usuário selecione o mês de outubro e novembro, será preciso mostrar 32 dias que seria 25 dias uteis de Outubro mais os 7 dias uteis de Novembro.
Estou quebrando a minha cabeça aqui também... mas esta difícil cara... valeu pela ajuda!!
Nao tranquilo resolve isso e de boa....
Vamo fazer o seguinte
vMaxInicioMes = Date(Floor(Min(vMaxDataCorrente) ))
vMaxFimMes = Date(Floor(Max(vMaxDataCorrente) ))
Coloquei o Floor e date pq se tiver formatado em Data precisa voltar. mas se possivel tenta sem o Foor e o Date se para de retornar registro, coloca eles.
Isso deve resolver.
Pq fazemos isso :
se o cara so seleciona Ano /Mes
Quando mandamos o Min ele ira buscar o menor registro que existe na nuvem, logo se voce seleciona Outubro ira ser 1/10/2017 se voce seleciona setembro e outubro 1/9/2017
Max : ele ira sempre busca o maior registro possivel que temos na nuvem, se voce selecionar novembro, sera o Maior dia util possivel.
se selecionar outro mes, sera o ultimo dia do mes.
Isso so funciona pq esta selecinado o mes e existe a possibilidade na nuvem de todo o mes, caso selecione o dia, isso nao iria funcionar pq Max e Min seria o proprio dia selecionado.
Olá Thiago!! Desculpe a demora pelo retorno... mas também não funcionou... Fica em branco... como se estivesse nulo o registro. Ta difícil cara hahahahahahahhaha
Tentou com e se floor
Coloca em objeto de texto e verifica como esta retornando a variavel
veja o exemplo que eu fiz.... pode se que ta dando merda na hora de voce passa a data deve ta indo numero e networkdays nao funciona
=NetWorkDays('2017-01-01','2017-03-31')