¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como implementar uma coluna calculada com código de 3 dígitos em uma visualização gráfica

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 5 Vistas
0
Cargando...

Olá especialistas,

Tenho um requisito para preencher uma coluna com um código de 3 dígitos com base em algumas condições.

Estou tentando usar uma declaração if then else ou um case em uma coluna calculada em uma exibição gráfica. Tenho procurado no fórum, mas não consigo identificar o tópico correto que resolva meu problema.

Tenho essas colunas de data no meu nó de projeto - 0POS_DATE, 0PSTNG_DATE, 0DUEDATE

Com base nos campos, aqui está a lógica que estou tentando implementar. Por favor, guie-me.

CASE

Quando "0POS_DATE" <> '00000000' Então '231'

Quando "0PSTNG_DATE" = '00000000' OU TO_DATE ('2018-09-01') < "0PSTNG_DATE" Então '723'

Quando "0DUEDATE"='00000000' OU TO_DATE ('2018-09-01') <= "0DUEDATE" Então '654'

Quando DAYS_BETWEEN("0DUEDATE" , TO_DATE (2018-09-01')) > 100 Então '211'

ENDCASE.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Desculpe, você está recebendo o erro porque as colunas não estão no formato de data. Atualizei minha resposta acima para também converter as colunas relevantes em valores de data.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Você pode converter de string para data usando TO_DATE('2018-09-11','YYYY-MM-DD') e executar no motor SQL.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Florain, obrigado pela resposta, ajudou muito.

ONETDUEDATE - NVARCHAR COMPRIMENTO 8

Tentei também esta expressão, mas não funcionou.

if(daysbetween("0NETDUEDATE", date('20180911')) > 100, '211','')

if(daysbetween("0NETDUEDATE", '20180911') > 100, '211','')

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Em uma coluna calculada do motor de cálculo, você deve empilhar várias chamadas de funções if para atender ao seu requisito. Por exemplo:

if("OPOS_DATE" <> '00000000', '231', 
  if("OPSTNG_DATE" = '00000000' or date('2018-09-01') < date("OPSTNG_DATE"), '723', 
    if("ODUEDATE" = '00000000' or date('2018-09-01') <= date("ODUEDATE"), '654', 
      if(days_between(date("ODUEDATE"), date('2018-09-01')) > 100, '211', '')
    )
  )
)

Saudações,
Florian

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?