Cómo analizar textos con tablas dinámicas
En esta publicación vengo a desmitificar la afirmación que dice que en el área de valores de una tabla dinámica solo podemos poner números.
Aprovecho que me estoy introduciendo en el mundo de Power BI para investigar más acerca de las funciones DAX y aplicarlas también a Power Pivot.
Supón que trabajas en un supermercado. Te piden enumerar los productos que hay en las estanterías de un pasillo y mostrarlos en una tabla dinámica.
Mira la imagen:
En la columna A se encuentran las estanterías y en la B los productos.
Si no te hubieran pedido hacer esta tarea con una tabla dinámica, la habrías finalizado enseguida usando la función FILTRAR, e incluso simplemente ordenando los datos de la columna A e ir extrayendo los datos de la columna B. Pero debes hacerlo con una tabla dinámica. Es una técnica algo más difícil que las dos anteriores, pero mucho más segura, pues si los productos aumentan, no te hará falta copiar los productos de cada categoría..
Antes de nada (y siempre que puedo), convierto en tablas los datos con los que voy a trabajar. Me resulta más cómodo.
Para convertir el rango en una tabla
- Selecciona cualquiera de las celdas del rango.
- Dirígete a la ficha Inicio y haz clic en Dar formato como tabla.
- A continuación selecciona el diseño que desees. Se mostrará un cuadro de diálogo destacando las celdas del rango.
- Acepta el cuadro, pues Excel suele acertar si no dejas celdas en blanco.
Aunque no es obligatorio, sí es recomendable darle un nombre único a la tabla para identificarla cuando en el mismo libro tienes dos o más de ellas.
Cambia el nombre a la tabla dirigiéndote al cuadro Propiedades de la tabla e introduciendo el nombre que desees en el cuadro de texto.
Una vez tienes los datos preparados es hora de insertar la tabla dinámica.
Para crear la tabla dinámica
- Ve a la ficha Insertar y haz clic en el botón Tabla dinámica. Se mostrará el cuadro de diálogo típico. Si antes de hacer este paso, estaba activa cualquier celda de la tabla, aparecerá rellena la primera parte. En caso contrario deberás introducir el nombre de la tabla en el cuadro de texto:
- Señala la opción Hoja de cálculo existente y a continuación selecciona la celda donde quieras ubicar la tabla.
- Muy importante: activa la casilla Agregar estos datos al modelo de datos. Sin este paso no podrás crear la fórmula para llegar al objetivo.
El cuadro debería mostrarse similar al siguiente:
- Haz clic en el botón Aceptar para cerrarlo.
Bien, ya está creada la estructura de la tabla.
Para comenzar a alimentarla, arrastra el campo “Estantería” al área de filas y el campo “Producto” al área de valores.
Observa lo que ocurre:
Como ves en la imagen, cuando arrastras el campo “Producto” al área de valores, se crea una cuenta del número de productos que hay en cada estantería. Esto no sirve. Lo que buscas es el nombre de los productos.
Si haces clic en la opción Configuración del campo de valor, dentro del campo producto, te darás cuenta de que no hay ninguna opción para mostrar textos. Puedes seleccionar cualquier campo numérico, pero no hay nada que haga referencia a textos.
La solución al problema está en crear una medida en lenguaje DAX. Una medida es un cálculo que se usa para medir resultados en función de otros factores. En el caso de este ejemplo, el factor principal es la categorización de la tabla dinámica (el campo que se ha ubicado en el área Filas).
Para crear la medida DAX
- Haz clic con el botón derecho del ratón sobre la tabla en el área de campos y selecciona Agregar medida:
- En el cuadro de diálogo que se abre, introduce el nombre de la medida (por ejemplo “Nombre productos”). Puedes utilizar espacios y guiones si lo deseas.
- En el campo fórmula introduce la siguiente fórmula: =CONCATENATEX(Especias;Especias[Producto];”, “;[Producto])
- Para validar que la has introducido correctamente, presiona el botón Comprobar fórmula DAX. Si todo es correcto, haz clic en Aceptar.
Una vez hecho esto, se habrá creado la medida en el área de campos de la tabla dinámica. Lo puedes identificar porque tiene el símbolo de una fórmula en la parte izquierda:
Ahora solo tienes que arrastrar el nuevo campo al área Valores.
Como puedes comprobar hay varios valores repetidos y este resultado no es el más adecuado. Las celdas deben mostrar valores únicos.
Hay que editar la medida:
- Haz clic con el botón derecho del ratón sobre la medida creada y selecciona “Modificar medida”. Reaparece el cuadro de diálogo de antes.
- Cambia la fórmula anterior por la siguiente: =CONCATENATEX(DISTINCT(Especias[Producto]);Especias[Producto];”, “;[Producto])
- Haz clic en Aceptar.
Ahora sí se muestra el resultado como debería.
Resumen
Estoy casi seguro de que no conocías esta forma de analizar datos de texto. Las funciones DAX están siendo todo un descubrimiento en mi forma de analizar datos porque logran devolver el detalle que requiero.
Sin duda, este método de análisis de datos es mucho más práctico que usar la función FILTRAR porque no tendrás que agrupar posteriormente los valores tras el filtrado.
Gracias por el aporte
Excelente. Hasta ahora desconocía como poder incluir otras columnas de texto en el área de valores. Y varias columnas se pueden incluir, siguiendo el mismo procedimiento. Para que se incluya la siguiente columna, desactivar la inclusión de Totales en columnas y filas.
Muchas gracias por la explicación!!!!.
ERES LO MÁXIMO
Oye que excelente truco, muchas gracias por compartirlo
Muchas gracias por trasmitir sus conocimientos y por la detallada explicación. Lo desconocía y resulta de gran utilidad.
Le deseo lo mejor.
Buenos días, no me aparece la opción de agregar medida. Tengo que tener algo seleccionado en opciones de excel?