«Mega-Fórmulas Lenguaje DAX y el DAX Formatter del Equipo de SQLBI al rescate.»
Nosotros, como usuarios de Excel contamos con una Suite de Herramientas para Inteligencia de Negocios, en lo que se incluye Power Pivot y su mágico Lenguaje DAX. Ya sabes, Power Pivot es una poderosa herramienta de esta suite que nos permite devorar cantidades monumentales de datos y obtener información relevante de ella.
Espera ….
– ¡Qué no sabes! ¿Qué es Power Pivot y el Lenguaje DAX?
¡No de ninguna manera!
No dejes pasar más tiempo sin conocer Power Pivot y sus bondades, ve y mira esta mini-serie dedicada a explorar algunas de las bondades de Power Pivot: NOCIONES EN POWER PIVOT MINI SERIE.
Una de las cosas más celebradas de Power Pivot, es su capacidad de trabajar con Big Data que provengan de Múltiples Fuentes (Access, archivos de texto, Oracle, etc. etc.) No obstante, esto es sólo un beneficio del Modelo de Datos, de hecho, es muy probable que las filas de Excel sean suficientes para ti, y que tus bases de datos en Excel no superen los 10 mil o 20 mil registros, incluso si tus tablas cuentan con tan solo unos cientos de registros, Power Pivot tiene muchísimo que ofrecerte.
Si usas datos en tu trabajo o de alguna manera, te enamoraras del Lenguaje DAX, la capacidad de crear expresiones de todo tipo es algo soñado.
.
MEGA-Fórmulas en Excel
Estoy seguro que en su momento has construido o por lo menos visto fórmulas en Excel de tamaños gigantescos
– Ejemplo Semi Mega Fórmula en Excel
La fórmulas anterior esta lejos de ser una Mega Fórmula, sin embargo, capta la esencia de lo grandes que puede llegar a ser…
Las Mega Fórmulas tienen la particularidad de que son extremadamente difíciles de leer para un tercero, incluso para nosotros mismos una vez ha pasado un tiempo y queremos retomar, de hecho, la fórmula anterior tiene una estructura que nos permite interpretarla de manera más sencilla. Sigue buenas prácticas.
Si en lugar de estar dividida en líneas e indexada como se muestra en la imagen anterior, situación que la vuelve amigable para leer y de cierta manera facilita su interpretación, no obstante, pero si en lugar ello estuviera algo así:
Sería aún más difícil de interpretarla.
MEGA-Fórmulas DAX
Cuando nos empezamos a adentrar en el Leguaje DAX, no pasará mucho tiempo apara iniciar a construir fórmulas DAX más potentes y robustos. En realidad, con tan sólo usar dos funciones DAX anidadas, es bueno seguir ciertas reglas para estructurarlas y que su lectura sea más amigable.
Toda fórmula DAX utilizada para nuestros análisis deben contar dos atributos:
- Robustez: Cuán Bien Manejan Errores.
- Claridad: Cuán fácil es poder entender la fórmula para un tercero, es decir, qué tan optimizada esta para su interpretación.
.
Para el segundo atributo, claridad, en el mundo de Power Pivot y el Lenguaje DAX se han ido estableciendo ciertas reglas que con el pasar del tiempo se vuelven cada vez mpas estándar y ya se entreve su caracter universal.
Las mencionaré brevemente:
- REGLA 01: Siempre incluir un espacio después de un paréntesis.
- REGLA 02: Poner un espacio antes y después de un operador sin importar su categoría.
- REGLA 03: Si se tiene que dividir una expresión en múltiples líneas, poner el operador al principio de la nueva línea.
- REGLA 04: Una función que se ha divido en múltiples líneas debe siempre tener sus distintos argumentos en líneas diferentes.
- REGLA 05: Omitir espacio entre el nombre de la tabla y el nombre de la columna.
- REGLA 06: Utilizar las comillas simples cuando sea estrictamente necesario, es decir, cuando el nombre de una tabla contenga espacios.
- REGLA 07: Omitir el nombre de la tabla cuando se está haciendo referencia a una medida.
- REGLA 08: Poner un espacio después de un argumento si estos están en la misma línea. (Shift + Enter)
- REGLA 09: Siempre utilizar el nombre de las tablas cuando se haga referencia a una columna
- REGLA 10: Poner una función en la misa línea solamente si tiene un único argumento.
- REGLA 11: Si una función está escrita en más de una línea, utilice Tab para indexar, así mismo, los paréntesis de apertura y cierre deben estar alienados.
.
Importante: Yo, no me he inventado estas reglas, en realidad, el equipo de SQLBI son lo que ha estudiado y extendido estas buenas prácticas con gran fuerza, reglas y parámetros que personalmente me parecen muy bien planteadas y por las cuales también me rijo.
En la sesión 2 de la Mini-serie Nociones en Power Pivot, vimos una fórmulas DAX para calcular la MEDIANA para tablas dinámicas en Excel 2013 (Excel 2016 la función MEDIAN ya está disponible).
– Fórmula DAX MEDIANA para Excel 2013:Ejemplo Semi Mega Fórmula en Excel
=( MINX ( FILTER ( VALUES ( TABLA_Pedidos[Costo Total] );
CALCULATE ( COUNT ( TABLA_Pedidos[Costo Total] ); TABLA_Pedidos[Costo Total]
<= EARLIER ( TABLA_Pedidos[Costo Total] ) ) > COUNT ( TABLA_Pedidos[Costo Total]) / 2 );
TABLA_Pedidos[Costo Total] ) + MINX ( FILTER ( VALUES ( TABLA_Pedidos[Costo Total] );
CALCULATE ( COUNT ( TABLA_Pedidos[Costo Total] ); TABLA_Pedidos[Costo Total]
<= EARLIER ( TABLA_Pedidos[Costo Total]) ) > ( COUNT (TABLA_Pedidos[Costo Total] ) – 1 ) / 2 ); TABLA_Pedidos[Costo Total] ) ) / 2
.
Leer la función anterior es supremamente difícil, además, seguir (aplicar) las reglas para una lectura apropiada toma tiempo.
DAX Formatter del Equipo de SQL BI
En uno de los anexos de mi más reciente libro: EL ADN DE POWER PIVOT, les hablo de las herramientas gratuitas que debería añadir a tu repertorio, pues nos brindan maneras más efectivas para trabajar.
Una de ellas es el DAX FORMATTER.
El DAX Formatter, es una herramienta On Line y 100% gratuita creada por el equipo de SQL BI, liderado por Marco Russo y Alberto Ferrari (Integrantes de equipo en Microsoft para el desarrollo del Lenguaje DAX) para acceder a ella solo debes visitar:
www.daxformatter.com
Interfaz del DAX Formatter en un navegador web:
Esta estupenda herramienta nos permite darle el formato óptimo para lectura, el cual sigue las reglas listas arriba con tan solo un par de clics.
Es mas, el equipo de SQL BI tiene un artículo en su web donde listan las reglas y van actualizando según sea necesario, puedes vistar el artículo aquí: Rules For DAX Code Formatting.
– Separador de Lista en el DAX Formatter
Nota que en la parte superior donde dice SEPARATORS tenemos una lista desplegable que nos brinda la posibilidad de seleccionar con cual separador de lista queremos trabajar, en mi caso uso punto y coma (;) por lo que es este en el que vemos en la imagen, a pesar de ello, si usas como (,), sólo debes desplegar las opciones y seleccionar este separador de lista.
Tomemos la fórmula DAX anterior para la MEDIANA en Excel 2013 y péguemela en el cuerpo del DAX Formatter:
- ¿Primer clic no?
Ahora segundo clic en el botón FORMAT booooom!! la mágia ocurre:
- ¿Híper-Excelente no es así?
Ahora la fórmula está debidamente formateada, bien alineada, con los saltos de línea bien elaborados e indexada de manera óptima. Además, ahora podemos usar el botón COPY en la parte superior y pegarla en nuestro cuadro de diálogo Medidas.
Si pegas la medida en un modelo de datos arbitrario se resaltarán en rojo diversas partes de la fórmulas, ya que la tabla Pedidos no existe, puedes utilizar el archivo de Excel y la medida MEDIANA de la sesión dos de la mini-serie Nociones en Power Pivot para que no se presenten inconvenientes.
Si t, tienes un blog o compartes de alguna manera aplicaciones DAX, el DAX Formatter tiene la opción COPY HTML, Mira lo que sucede:
.
=
(
MINX (
FILTER (
VALUES ( TABLA_Pedidos[Costo Total] );
CALCULATE (
COUNT ( TABLA_Pedidos[Costo Total] );
TABLA_Pedidos[Costo Total] <= EARLIER ( TABLA_Pedidos[Costo Total] )
)
> COUNT ( TABLA_Pedidos[Costo Total] ) / 2
);
TABLA_Pedidos[Costo Total]
)
+ MINX (
FILTER (
VALUES ( TABLA_Pedidos[Costo Total] );
CALCULATE (
COUNT ( TABLA_Pedidos[Costo Total] );
TABLA_Pedidos[Costo Total] <= EARLIER ( TABLA_Pedidos[Costo Total] )
)
> ( COUNT ( TABLA_Pedidos[Costo Total] ) – 1 )
/ 2
);
TABLA_Pedidos[Costo Total]
)
)
/ 2
.
¿Bastante útil no crees?
Gracias al equipo de SQL BI por este increíble invento
Aquí en Excel Free Blog la usaremos de ahora en adelante.
Eso es todo por mí el día de hoy
Qué te ha parecido esta herramienta, cuéntame en el hilo de Comentarios
– Un Fuerte Abrazo !!!