jueves, febrero 19, 2009

Ocultar filas con valor cero en tablas dinámicas.

Al trabajar con tablas dinámicas puede suceder que queramos ocultar filas cuyo valor es 0 (cero). La forma de hacerlo depende de la estructura de los datos que alimentan la tabla dinámica.

Si no hay valores repetidos en el área de las filas, como en este caso



Seguimos los siguientes pasos:

1 – Creamos la tabla dinámica y agregamos el campo “Valor” en el área de página



2 – Seleccionamos el campo de página y abrimos el menú de configuración de campo



3 – En la ventanilla “ocultar elementos” marcamos el 0 y apretamos “Aceptar”. Las filas de los elementos con valor 0 no aparecen en la tabla.



Esta técnica no funciona si hay elementos repetidos en el área de las filas, como en este caso



En este caso agregamos una columna auxiliar con esta fórmula

=--SI(SUMAR.SI($A$24:$A$35,A24,$B$24:$B$35)<>0,1)



Esta fórmula evalúa el total de cada grupo de valores para cada línea del grupo que totalice 0 da 0; en caso contrario 1.

Arrastramos el campo Auxiliar al área de página y seleccionamos 1



Las filas que totalicen 0 desaparecen.





Technorati Tags:

6 comentarios:

  1. Estimado como cuento los valores de atributo descripcion. Debiese ser 7. como lo hago a traves de tabla dinamica.

    ResponderBorrar
  2. muy buen post y sobre todo blog!!

    una duda... y si tengo otra columna, por ejemplo, valor2, como haría para ocultar las columnas cuyo total (valor + valor2) en la tabla dinámica den 0?
    Y si añado otra columna (valor3)?

    ... hay alguna forma de poder hacerlo sin tener que añadir el campo Auxiliar?

    ResponderBorrar
  3. Arrastrando el campo Descripcion al área de datos y usando CONTAR como función para totalizar

    ResponderBorrar
  4. Siempre necesitarás algún campo auxiliar. Una posibilidad es agregar una campo con el total de las columnas (valor1 + valor2+...etc) y luego usar la fórmula de la columna auxiliar. Otra posibilidad es usar la fórmula de la columna auxiliar en forma matricial, algo así como

    ={--SI(SUMAR.SI($A$24:$C$35,A24:A35,$B$24:$B$35)<>0,1)
    }

    ResponderBorrar
  5. buena solución pero no me vale, ya que hasta que no monte la tabla dinámica no voy a saber que valores (valor1, valor2 o valor_n) voy a poner en el area de datos.
    Pensé que en propiedades de la tabla habría un opción para ocultarlos :(

    gracias!!

    ResponderBorrar
  6. Buen aporte muchas gracias

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.