CASE WHEN
2 participantes
Página 1 de 1.
CASE WHEN
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!
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 : 174
Localización : Madrid
Fecha de inscripción : 01/06/2010
Re: CASE WHEN
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!
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 : 174
Localización : Madrid
Fecha de inscripción : 01/06/2010
Re: CASE WHEN
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,
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,
Re: CASE WHEN
Exacto bvillamor,
por eso he usado los cast's, pero hasta darme cuenta he flipao un poquito...
por eso he usado los cast's, pero hasta darme cuenta he flipao un poquito...
Lateralus- Cantidad de envíos : 174
Localización : Madrid
Fecha de inscripción : 01/06/2010
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|