SUSCRÍBASE A NUESTRO BLOG
SOBRE APESOFT

ApeSoft es una compañía de soluciones de Gestión del Rendimiento Empresario: Gamification, Reporting, Dashboards, Planificación Presupuestaria y Balanced Scorecard, fundada en 1994, con sede central en España y oficinas en Estados Unidos.

Más información: Web ApeSoft

« Cómo puedo imprimir un fichero desde Datacycle usando un script | Main | Dibuje su estrategia »
miércoles
ene172007

Eliminar las filas de una tabla dinámica cuando cierto campo de la fila contenga un cero o un nulo

Es frecuente encontrarnos con la situación de que nos interesaría que ciertas filas de una tabla dinámica se ocultaran o se eliminaran cuando cierto/s campo/s de una fila contuviera/n un cero o un nulo.

Actualmente no hay ninguna opción directa que nos permita realizar esta opción en una tabla dinámica. Lo que sí hay son alternativas para poder conseguir que no aparezcan estas filas en la tabla dinámica. Son las siguientes:

1. Trasladar el campo que contiene cero o nulo a la sentencia SQL que inserta los datos en el rango en el que se basa la tabla dinámica, de manera que en la consulta SQL haya un filtro que sólo inserte en Excel los registros cuyo campo sea diferente de Null o de cero.
2. En la plantilla Excel, en el rango en que se basa la tabla dinámica, crear una columna nueva col1 que evalúe si el campo devuelve nulo o cero. Si contiene nulo o cero que en la columna col1  se cargue un 0, si tiene valor, que se cargue un 1. Luego, en la tabla dinámica, proyectar esta campo col1, ponerlo a nivel de página, por ejemplo, y filtrarlo para que muestre los registros que contengan un 1. Esto significará que sólo muestra los registros donde el campo no es nulo ni cero.

formula.bmp

 

 

 

 

 

 

3. Crear una macro en Visual Basic, que recorra todo el rango de registros y donde detecte que la columna con la fórmula contiene un valor nulo o cero, pues que elimine la fila del rango.

 

PrintView Printer Friendly Version

EmailEmail Article to Friend