CASE WHEN

Ver el tema anterior Ver el tema siguiente Ir abajo

CASE WHEN

Mensaje  Lateralus el Lun 14 Ene 2013, 12:08

Holap,

Tengo varias métricas y años en una tabla dinámica. Y de dichas métricas, necesito que una (métrica_x) no se muestre para el año 2011, o que simplemente escriba un valor (N/A). Pues bien, he creado una función CASE WHEN tal que así en su formato de columna:

CASE WHEN MÉTRICA_X AND AÑO='2011' THEN MÉTRICA_X='N/A' ELSE MÉTRICA_X


Pues no me funciona!

Lateralus

Cantidad de envíos : 173
Localización : Madrid
Fecha de inscripción : 01/06/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: CASE WHEN

Mensaje  Lateralus el Lun 14 Ene 2013, 19:47

Solucionado:

CASE WHEN "D Tiempo"."Año"=2011 THEN 'N/A' ELSE case WHEN length(CAST("TH"."métrica1" AS CHAR)) < 4 THEN CAST("TH"."métrica1" AS CHAR) ELSE substring(CAST("TH"."métrica1" AS CHAR),1,length(CAST("TH"."métrica1" AS CHAR))-3) ||'.'||substring(CAST("TH"."métrica1" AS CHAR),2,7) END END



salu2!

Lateralus

Cantidad de envíos : 173
Localización : Madrid
Fecha de inscripción : 01/06/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: CASE WHEN

Mensaje  bvillamor el Lun 14 Ene 2013, 19:59

Hola,
ya sé que lo has solucionado pero aprovecho para aclarar el motivo del error. El tipo de dato que devuelve un CASE debe ser único para todas las opciones. Si en uno de los casos quieres devolver un texto y en otro un número, tendrás que usar el cast para convertirlo todo a texto. Por eso te funciona la fórmula final.

Saludos,

_________________
Begoña Villamor
Oracle Fusion Middleware 11g Business Intelligence Foundation Certified Implementation Specialist

Adiante
http://www.adiante.es

bvillamor

Cantidad de envíos : 388
Localización : Madrid
Fecha de inscripción : 18/02/2009

Ver perfil de usuario http://www.adiante.es

Volver arriba Ir abajo

Re: CASE WHEN

Mensaje  Lateralus el Lun 14 Ene 2013, 21:33

Exacto bvillamor,

por eso he usado los cast's, pero hasta darme cuenta he flipao un poquito...

Lateralus

Cantidad de envíos : 173
Localización : Madrid
Fecha de inscripción : 01/06/2010

Ver perfil de usuario

Volver arriba Ir abajo

Re: CASE WHEN

Mensaje  Contenido patrocinado Hoy a las 17:18


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.