Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

Retornar maior data dentro de um range de uma mesma coluna

Olá,


Preciso saber como faço para pegar a maior data dentro de um range de uma mesma coluna (campo calculado).

Exemplo: Para um processo posso ter 1 ou N linhas, dentro destas linhas, tem casos que retorna mais de uma data na coluna Estimated Delivery Date (campo calculado), porém, preciso que retorne a maior data desta coluna.

Abaixo um exemplo, filtrei um determinado processo, retornou 5 linhas e a coluna Estimated Delivery Date tem duas datas, preciso que retorne apenas a maior data em todas as linhas, inclusive na quinta linha.

Estimated_Delivery.png

Obrigado.
Jean Carvalho Silva

Tags (1)
1 Solution

Accepted Solutions

Re: Retornar maior data dentro de um range de uma mesma coluna

Jean, leituras que você vai fazendo dentro do seu script.

A primeira pergunta seria: Os campos DATASREVISADAS, DATA_DO_FATURAMENTO, DATA_PEDIDO e INVOICING estão dentro da mesma tabela em seu modelo?

Se estiverem, basta você replicar a sua regra na leitura desta tabela em seu script, por exemplo:

LOAD

CAMPO1,

CAMPO2,

CAMPO3,

DATASREVISADAS,

DATA_DO_FATURAMENTO,

DATA_PEDIDO,

INVOICING,

DATE((IF(NOT IsNull(DATASREVISADAS), DATE(DATASREVISADAS),

  IF(IsNull(DATA_DO_FATURAMENTO), DATE(ALT(DATA_PEDIDO, 0) + (ALT(INVOICING, 0))) as DATA_NOVA

FROM Tabela.qvd (qvd);

6 Replies
MVP
MVP

Re: Retornar maior data dentro de um range de uma mesma coluna

Jean,

um max(total <NNNN> Data) resolve.... 

2016-05-09 18_48_07.jpg

Mas tem outras formas também......

Not applicable

Re: Retornar maior data dentro de um range de uma mesma coluna

Olá Alessandro,

Muito obrigado pelo retorno.

Testei e não deu certo para o meu caso, conforme imagem anexo, ele acabou pegando a maior data de todas as linhas, e retornou uma data que pertence a outro PROCESSO e aplicou em todas as linhas.

Entendo que para o processo JJM-0745/16 deveria retornar 12/07/2016 em vez de 27/08/2016 e para o processo JJM-1056/16 daí sim retornar 27/08/2016.

MAX_QlikView.png

Eu criei um campo calculado com a expressão abaixo.

=MAX(Total (DATE((IF(NOT IsNull(DATASREVISADAS), DATE(DATASREVISADAS),

  IF(IsNull(DATA_DO_FATURAMENTO), DATE(ALT(DATA_PEDIDO, 0) + (ALT(INVOICING, 0))))

Dessa forma deu erro:

=MAX(Total <PROCESSO> (DATE((IF(NOT IsNull(DATASREVISADAS), DATE(DATASREVISADAS),

  IF(IsNull(DATA_DO_FATURAMENTO), DATE(ALT(DATA_PEDIDO, 0) + (ALT(INVOICING, 0))))


Já pesquisei no Help do QlikView e aqui na comunidade, mas não consegui resolver o meu caso ainda.

Obrigado!

Jean Carvalho Silva

Re: Retornar maior data dentro de um range de uma mesma coluna

Jean, em primeiro você pode "melhorar" o seu processo criando esse campo de data com a sua lógica:

DATE((IF(NOT IsNull(DATASREVISADAS), DATE(DATASREVISADAS),

  IF(IsNull(DATA_DO_FATURAMENTO), DATE(ALT(DATA_PEDIDO, 0) + (ALT(INVOICING, 0)))

Criando esse campo, acredito que bastaria fazer um:

MAX(TOTAL <PROCESSO> DATA_NOVA)

Not applicable

Re: Retornar maior data dentro de um range de uma mesma coluna

Olá nicolett.yuri

Muito obrigado pelo retorno, eu pensei em criar um campo com base nas formulas que tenho, aliás, preciso saber como criar um campo calculado e chamar ele pelo aliás em outro campo calculado.

Ai conseguiria fazer da forma que sugeriu.

Sabe me dizer como faço?

Obrigado!

Re: Retornar maior data dentro de um range de uma mesma coluna

Jean, leituras que você vai fazendo dentro do seu script.

A primeira pergunta seria: Os campos DATASREVISADAS, DATA_DO_FATURAMENTO, DATA_PEDIDO e INVOICING estão dentro da mesma tabela em seu modelo?

Se estiverem, basta você replicar a sua regra na leitura desta tabela em seu script, por exemplo:

LOAD

CAMPO1,

CAMPO2,

CAMPO3,

DATASREVISADAS,

DATA_DO_FATURAMENTO,

DATA_PEDIDO,

INVOICING,

DATE((IF(NOT IsNull(DATASREVISADAS), DATE(DATASREVISADAS),

  IF(IsNull(DATA_DO_FATURAMENTO), DATE(ALT(DATA_PEDIDO, 0) + (ALT(INVOICING, 0))) as DATA_NOVA

FROM Tabela.qvd (qvd);

Employee
Employee

Re: Retornar maior data dentro de um range de uma mesma coluna

Já achou uma solução? Se sim, marque por gentileza uma das respostas como "Correta"

Como obter ajuda? Leia antes de postar