martes, abril 05, 2016

PowerPivot - una guía en Español

La popularidad de Excel deriva no sólo de la facilidad de uso sino también de las potentes herramientas de cálculo y de análisis de datos con que cuenta. Entre estas herramientas se cuentan las Tablas, las Tablas Dinámicas, el Power Query y el PowerPivot.

Todo usuario de Excel que quiera considerarse medianamente avanzado debe, sino dominar, por lo menos conocer estas herramientas y estar en condiciones de hacer uso de ellas por lo menos a un nivel intermedio.

En este blog he publicado algunas notas mostrando distintos usosde PowerPivot para solucionar problemas en Excel que previamente requerían aplicar técnicas complicadas o Vba. Pero PowerPivot es mucho más que eso. PowerPivot es el movimiento más profundo de Microsoft en el mundo del BI (Business Inteligence - Inteligencia de negocios).

PowerPivot introduce una dimensión completamente nueva en Excel y es la herramienta más importante que ha introducido Microsoft desde la aparición de las tablas dinámicas (allá por 1994 en Excel 5). PowerPivot no es una simple extensión de la capacidad de Excel para analizar datos; PowerPivot tiene su propia ventana, su propio idioma (DAX), sus propias funciones y requiere un proceso de aprendizaje.

En nuestra ayuda han venido Miguel Caballero Sierra y Fabián Torres Hernández con el manual EL ADN DE POWER PIVOT que quiero recomendar a los usuarios de habla hispana.


La guía viene en formato PDF (detalles del e-book pueden verse aquí) y con un compendio de archivos para seguir el estudio y practicar. Los autores también se comprometen a enviar por mail las actualizaciones que Microsoft vaya incorporando, sin cargo.

El libro está organizado en forma progresiva desde los fundamentos y los conceptos esenciales hasta los temas avanzados (KPIs y el lenguaje DAX).

En esta página podrán interiorizarse más y también adquirir el e-book (también pueden adquirirlo directamente cliqueando el banner en la columna derecha del blog).

Aclaración: estoy afiliado al programa de comercialización  del libro y recibo una comisión por cada venta.



miércoles, marzo 30, 2016

Ocultar y mostrar filtros en tablas dinámicas seleccionadas

En el post anterior prometí subir una macro que no sólo nos permita ocultar los filtros de una tabla dinámica sino también que nos permita sobre que tablas actuar cuando hay más una en la hoja activa.

Supongamos este caso donde tenemos tres tablas (o mejor dicho, reportes) dinámicas en la hoja


tablas con filtros

Nuestro objetivo es seleccionar qué tablas aparecerán con filtros de campos y cuáles no. Para eso debemos tener la posibilidad de seleccionar sobre qué tablas aplicar la macro.

Este video muestra el funcionamiento de la macro





El cuaderno con los códigos y el userform puede descargarse aquí.

La macro funciona con un Userform y los códigos de sus elementos 


y una sub para disparar el userform


Para utilizar la macro podemos guardarla en el cuadero Personal y crear un atajo en la barra de acceso rápido o usar Alt+F8 - Ejecutar


lunes, marzo 28, 2016

Ocultar filtros en todas las tablas dinámicas de una hoja

Gustavo, colega en el trabajo, es uno de esos tipos que pueden causarte un otoño capilar prematuro con sus observaciones. En particular porque siempre le encuentra la quinta pata al gato, siempre habrá algún pero.
Así que cuando vio mi macro para mostrar u ocultar filtros de tablas dinámicas, no pudo menos que decirme: "muy bien, ¿pero si hay más de una tabla dinámica en la hoja?
Es bastante común que haya más de una tabla dinámica en una hoja por lo que tendremos que dar una solución al planteo de Gustavo.

Modificar la macro propuesta en la nota anterior para que muestre u oculte todos los filtros de todas las tablas dinámicas en la hoja activa es sencillo. Supongamos esta hoja con dos tablas dinámicas




Para ocultar los filtros de las dos tablas a la vez usamos este código



 Sub ocultar_Filtros_all()  
   Dim ptbl As PivotTable  
   Dim pfld As PivotField  
   For Each ptbl In ActiveSheet.PivotTables  
    For Each pfld In ptbl.PivotFields  
      pfld.EnableItemSelection = False  
    Next pfld  
   Next ptbl  
 End Sub  

Para restaurar los filtros usamos este otro código



 Sub mostrar_Filtros_all()  
 Dim ptbl As PivotTable  
 Dim pfld As PivotField  
   For Each ptbl In ActiveSheet.PivotTables  
    For Each pfld In ptbl.PivotFields  
      pfld.EnableItemSelection = True  
    Next pfld  
   Next ptbl  
 End Sub  

Para que nuestra macro sea realmente útil tenemos que agregar la posibilidad de seleccionar que tablas queremos modificar, lo cual será el tema del próximo post.