Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
paulinhok14
Creator
Creator

Campos não formatados como data

Pessoal bom dia,

Tenho a seguinte situação: Extraio um campo de data de um banco de dados para utilizar em uma tabela de QV, porém, ao tratar esse campo como Date(Actualorderdate) as Actualorderdate, alguns registros ficam como nulos, acredito que possivelmente não estão modelados como tipo de dado data.

Só agora fui perceber, e ao retirar a formatação Date, percebi que os que estavam marcados como nulos, agora aparecem a data, mas alinhados à esquerda, como segue exemplos:

3.png

O mesmo acontece para meus outros campos de data. Acima está um exemplo, no script está assim:

Date(Actualorderdate,'DD/MM/YYYY') as Actualorderdate,

Planorderdate.

Percebam que apenas o campo que não está com o prefixo aparece todos os registros. Já tentei também utilizar a formatação Date(campo) sem o DD/MM/YYYY, mas tenho  mesmo resultado.

Alguém consegue me ajudar?

Labels (1)
13 Replies
paulinhok14
Creator
Creator
Author

Opa! Deu certo com essa solução, apliquei dessa maneira e obtive o resultado esperado..

Obrigado à todas as respostas, em especial ao Thiago e Clever que juntos deram a solução.

Muito obrigado!

Clever_Anjos
Employee
Employee

Só fique atento ao seguinte

Date : Aplica uma máscara a um campo numérico (sim, uma data é um número) de acordo com o desejado

Date# : retorna um número a partir de uma string

Leituras recomendadas:

Why don’t my dates work?

https://community.qlik.com/servlet/JiveServlet/downloadBody/3102-102-5-9741/DateFields-TechBrief-US_...

Anonymous
Not applicable

Bom dia Pessoal

Que bom que foi resolvido. Apenas para esclarecer conceitos e aumentar o conhecimento de quem estiver envolvido da Discussão.

  • Date#(<campo>, <mascara>) sempre deve ser utilizado para o Qlik interpretar uma data a partir de um campo.
  • Date(<campo>, <mascara>) deve ser usada para o Qlik exibir a formatação desejada em um campo.
  • A utilização da mascara  é opcional, mas quando usamos a função date#() faz todo sentido utilizá-la, para ajudar o qlik na interpretação do campo.

Ex. Vamos utilizar a data 20 de maio de 2017 como exemplo, em um campo (dataex) de entrada da seguinte forma: YYYYMMDD. (20170520), e gostaríamos da saída no formato 20-mai-2017

Primeiro passo, é informar para o Qlik ler o campo da forma correta, ou seja:

  • Date#(dataex, 'YYYYMMDD') - dessa forma, o qlik passa a interpretar o que é dia, o que é ano e o que é mês.

Agora, podemos utilizar isso para exibir em nosso qvw da forma como preferirmos. Para o exemplo utilizado, ficaria assim:

  • Date(Date#(dataex, 'YYYYMMDD'), 'DD-MMM-YYYY')


Pra fechar, apenas algumas observações:

  • Ao utilizar a função Date() sem uso da máscara, o Qlik formata a data no padrão definido, no meu caso (M/D/YYYY)
  • Você pode definir as máscaras com '-', '/', nenhum ou qualquer caracter que deseja.

Utilizando:

  • M - retorna digito do mês com uma casa decimal (Janeiro = 1)
  • MM - retorna digito do mês com 2casas decimais (Janeiro = 01)
  • MMM - retorna mês abreviado com 3 letras (Janeiro = jan)
  • MMMM - retorna o nome do mês completo (Janeiro = janeiro)

Espero ter contribuído

Abraços

paulinhok14
Creator
Creator
Author

Leandro bom dia!

Muitíssimo obrigado pelas informações, foi de grande proveito, as vezes conseguimos soluções mas nem sempre entendemos 100% o porque de usá-las.

Com certeza utilizarei essas informações no futuro...

Abraço!