
Confuso, abstracto y teórico representa la columna vertebral de cualquier solución de Inteligencia Empresarial. Aprendiendo sobre Modelamiento de datos nos evitamos crear lo que he catalogado: "modelos espagueti".
Los análisis a partir de una (1) tabla siguen siendo validos; pero también tienen la capacidad de complicar innecesariamente las cosas.
Una buena planificación te va a permitir proyectar los procesos de negocios que serán considerados en el modelo analítico, ahorrándote tiempo dinero y esfuerzo.
Normalizar es reducir la redundancia de datos, trasladando esas columnas a otras tablas. Las dimensiones describen lo que las tablas de hecho van registrando. Mientras que, la desnormalización sería el equivalente a trabajar con una (1) sola tabla.
Para evitar dolores de cabeza en el futuro, un modelo de estrella es el camino a seguir.
El primer paso que damos en Power BI Desktop es conectarnos a las fuentes de datos para crear un modelo analítico. Algunos conectores pueden requerir de instaladores adicionales para funcionar correctamente (leer la documentación oficial).
En el transcurso del curso utilizaremos el método de conexión conocido como: importación. No obstante, existen otras alternativas que es importante que conozcas.
Power Query es el motor de transformación y preparación de datos. Si bien podría encontrarse "oculto" en Power BI Desktop, siempre está involucrado en cualquier conexión que hagamos entre las distintas fuentes de datos.
La asignación de tipo de datos y sus modificaciones son una de las causas de inconsistencias y niveles de precisión "posiblemente" errados a nivel de reporte.
El perfilado de datos es una característica muy útil para escanear los datos y determinar su calidad antes de ser cargados al modelo analítico.
Presta mucha atención a los siguientes detalles, esas pequeñas cosas que podrían parecer "tontas" pero generan errores.
Administrar implica organizar y aprovechar las diferencias entre las consultas duplicadas y referenciadas. Entender sus dependencias y agruparlas, nos ayudaran a mantener en orden nuestro modelo de datos.
Existen distintos tipos de combinación disponibles en Power Query. Esta es una de las operaciones más recurrentes al momento de construir modelos analíticos. Nos permiten modificar su estructura columnar, evitando tener que cargar obligatoriamente todas las tablas.
Anexar consultas sería algo similar a preparar un sándwich; pero hay una serie de pequeños detalles que tienes que tener en cuenta.
Agrupar datos significa: reducir la cantidad de registros que serán indexados al modelo.
La variedad de transformaciones que veremos en esta clase nos dará una idea de la cantidad de opciones que tenemos disponibles en Power Query para estandarizar, y adaptar las consultas.
Si trabajas constantemente con datos que no se encuentran ordenados de manera columnar, esta clase es de especial importancia para adaptarnos a la manera de procesar datos en Power BI.
Con una sola columna es posible enriquecer una tabla, agregándole nuevas columnas que categorizan distintos atributos relacionados al tiempo.
Debes prestarle atención a esta característica de configuración regional para corroborar si esta alineado al tipo de análisis que estas llevando a cabo.
Una de las características más impresionantes de Power Query y, quizás, la única donde podrás escribir directamente en una tabla.
Aquí vamos aprender a establecer lógicas sencillas, sin la necesidad de escribir directamente en el lenguaje "M".
A diferencia de la clase anterior, donde no escribimos en el lenguaje "M", aquí si vamos a emplearlo para crear nuevas columnas; pero con condiciones más elaboradas.
Extraer: crear nuevas columnas a partir de columnas existentes.
Dividir: separar valores de una columna generando nuevas columnas, modificando la preexistente.
Presta mucha atención a la creación de índices; serán necesarios más adelante en el curso cuando veamos un tema avanzado en DAX, conocido como: transición de contexto.
Muchas de estas operaciones aritméticas podrás conseguirlas a partir de lo que se conoce en DAX como: medidas. Sin embargo, existen escenarios donde la creación de nuevas columnas es lo adecuado, siendo importante conocer todas las alternativas disponibles.
En este módulo introductorio dejamos atrás Power Query y comenzamos a conocer DAX.
Veamos de nuevo los tipos de datos; pero en el universo que rige a DAX como lenguaje analítico de expresiones.
El uso correcto de los operadores puede simplificar o hacer innecesariamente verbosa una sintaxis; presta especial atención a esta clase.
Me quedo con esta frase de Tristan Malherbe para explicar un poco el amor y odio sobre las columnas calculadas:
"Los usuarios iniciales utilizan las columnas calculadas por razones que, podríamos considerar erradas. Aquellos con conocimientos intermedios tratan de nunca utilizarlas; pero los usuarios avanzados las utilizan en escenarios específicos y relevantes".
Las razones van más allá del aspecto técnico al momento de crear nuevas columnas. A veces, razones humanas o de simple conveniencia profesional pueden inclinar la balanza sobre una u otra.
Las medidas son consideradas la "norma"; no la excepción.
Otra interrogante que necesita una mejor explicación; pero casi siempre la respuesta es: depende
Cuando llega el escenario adecuado, las tablas calculadas brillan por la adaptabilidad que pueden ofrecernos; pero no son lo común al momento de crear modelos analíticos.
Los comentarios nos permiten documentar, mantener el orden y recordarnos: ¿Por qué hiciste esto? ?
El uso de variables es un antes y después a medida que vas aprendiendo sobre el lenguaje. En lo humano te ayudaran a pensar de una manera diferente al momento de abordar un problema.
El contexto de filtro es el primero de los conceptos teóricos que deben aprenderse. Influye en el comportamiento automático que se activa al momento de colocar algún objeto visual en el reporte.
El contexto de fila podría considerarse el primer cambio de paradigma al momento de crear un nuevo cálculo: ¿Esto deberá hacerse en cual contexto? ¿Cuál es el impacto de no comprender las diferencias?
Las relaciones nos permiten propagar filtros entre las tablas. Esta clase se considera “medular” por el impacto que tiene sobre todos los cálculos posteriores que se vayan a llevar a cabo en el modelo analítico.
Definir un cálculo a partir de la reducción de sus registros puede ser lograrse combinando distintas funciones. Pero, entender la importancia de ignorar el contexto de filtro es vital cuando más adelante, comencemos a calcular porcentajes.
La fila en blanco podría parecer un comportamiento inofensivo; pero tiene graves consecuencias en la fiabilidad de los cálculos donde se encuentre presente.
El contexto de fila no se propaga de manera automática a través de las relaciones. Necesita de una función específica para poder alcanzar registros que provienen de otras tablas.
El contexto de filtro se propaga de manera automática en el modelo; pero existen condiciones que deben conocerse cuando los valores no se representan adecuadamente.
Una función que apenas tiene dos (2) parámetros; pero define en gran medida la potencia que tiene DAX como lenguaje analítico de expresiones.
Para calcular porcentajes hay que prestarle principal atención al denominador; siendo necesario utilizar otras funciones para adaptarse al comportamiento esperado.
En vez de sobrescribir: ¿Qué tal si dejamos en blanco todo lo que no cumpla con un criterio de filtrado? Préstale mucha atención al operador IN que utilizaremos en esta clase.
Veamos algunas condiciones que pueden ser sutiles; pero son importantes tenerlas en cuenta cuando las interacciones no se comportan correctamente.
Recuerda: evaluamos constantemente una lista de valores o una tabla; eso es todo.
El orden de evaluación de CALCULATE es, al contrario: ¿Qué implica esto?
La transición de contexto es una operación exclusiva de CALCULATE, tomando el contexto de fila y transformándolo a su equivalente al contexto de filtro.
Uno de esos errores incomodos que pueden ser solventados fácilmente al comprender su origen; pero desde la perspectiva de CALCULATE no es tan sencillo identificarlo.
Este tipo de función la utilizamos para seleccionar por cual relación se va realizar la propagación de filtros entre las tablas.
Uno de los modificadores del comportamiento de CALCULATE que nos evita modificar “físicamente” la estructura del modelo.
Veamos algunas consideraciones al momento de trabajar con iteradores en transición de contexto.
Cuando se combina CALCULATE y un iterador, estamos ante la transición de contexto.
En operaciones fila por fila, un iterador combinándolo con otras funciones permite conseguir la diferencia entre distintas fechas.
En ocasiones, no es conveniente la estructura actual del modelo; pero necesitamos modificarlo, digamos, “virtualmente” llevando a cabo cálculos intermedios que serán necesarios para un resultado final.
Concatenar es una operación común al momento de crear un reporte, simplificando referencias a columnas, medidas o de forma estricta simultáneamente.
Presta mucha atención a esta clase porque hemos llegado a la temida y peligrosa ambigüedad.
Lo importante: conocer otros esquemas que pueden ser adoptados al momento de crear un modelo analítico.
La creación de columnas calculadas para crear relaciones, quizás, no sea la primera opción que se nos viene a la mente. Pero, dejando de lado el aspecto negativo o de rendimiento es importante conocer las alternativas que nos ofrece el motor para la propagación de filtros entre tablas.
Seguimos aprendiendo otras alternativas para propagar filtros a través de columnas calculadas.
La propagación de filtros mediante relaciones virtuales es un antes y después. Básicamente estas creando una estructura de relaciones en el aire para emular una relación física.
Vamos a conocer una manera de evitar crear una relación de varios a varios “directamente” utilizando una dimensión en común.
Ahora sí, vamos a crear una relación de varios a varios directamente. Sin embargo, debes prestar mucha atención a las limitaciones, y posibles resultados inesperados en caso de no cumplirse a cabalidad la integridad referencial entre las tablas.
La primera función que entra en desuso; exceptuando escenarios puntuales es el iterador RANKX. Con la nueva función Window RANK, no solo podemos lograr lo mismo, sino que de una forma más simple sin la necesidad de otros artilugios para ajustar el resultado.
En esta clase vamos a llevar a otro nivel el establecimiento de rankings.
Las funciones Window simplifican algo que en el pasado era extremadamente molesto.
Similar a la clase anterior, en el pasado para establecer referencias a filas anteriores era una odisea; y no solo eso, sino que ahora con las funciones Window podemos ordenar a partir de valores categóricos.
Posiblemente la más compleja de las funciones Window; pero te darás cuenta de que en gran medida contempla solo un par de diferencias en comparación a las anteriores.
Prácticamente todo modelo analítico contempla una tabla de calendario. Y, en este modulo es de vital importancia conocer: ¿Por qué es necesario tenerla?
No existe una sola forma de hacer las cosas en DAX. En esta clase te darás cuenta de lo que he catalogado como la belleza del lenguaje en lograr lo mismo de múltiples formas.
Llevar a cabo comparaciones es algo recurrente en análisis que contemplan distintos horizontes de tiempo.
Esta serie de funciones son recurrentes cuando trabajamos cálculos referentes a la Inteligencia del tiempo.
Un cálculo interesante porque cada uno de sus resultados corresponde a los últimos 12 meses de manera rotativa para suavizar datos.
Similar a la clase anterior, un promedio móvil también nos permite suavizar los datos; pero en vez de los últimos 12 meses, aquí tomamos en cuenta una serie de días.
En esta clase exploraremos dos alternativas para calcular días laborales: una mediante referencias columnares a la tabla Calendario, omitiendo sábados y domingos, y otra utilizando la función NETWORKDAYS para lograr lo mismo sin referencias columnares. Finalmente, incorporaremos una tabla auxiliar de feriados para expandir las condiciones de días no laborables.
En DAX no es posible usar referencias directas a semanas dentro de los parámetros. Para solucionarlo, es necesario agregar columnas adicionales a la tabla de calendario. Exploremos una alternativa.
En este cuso vas a aprender paso a paso, sobre los fundamentos que rigen el diseño de modelos semánticos en Power BI Desktop y la creación de funciones DAX.
Se encuentra estructurado bajo una enseñanza secuencial, que irá aumentando de complejidad a medida que vayas avanzando.
Iniciaremos con una introducción al modelamiento dimensional, estableciendo los límites de analizar datos bajo una visión de una (1) sola tabla. Luego, veremos aspectos fundacionales, siendo la normalización y desnormalización de tablas.
Después, entraremos en el motor de transformación y preparación de datos: Power Query.
En ese apartado te explicaré las principales operaciones a partir de la interfaz del usuario con diversidad de ejemplos. También crearemos columnas a través de la variedad de opciones disponibles, siendo una de las operaciones más recurrentes.
Posteriormente entraremos en el terreno de DAX a partir de una introducción al lenguaje, marcando las bases que utilizaremos en el transcurso del curso. Te explicaré detalladamente los conceptos que rigen el comportamiento del lenguaje mediante los contextos de evaluación y las relaciones.
Veremos un modelo entero sobre CALCULATE: la función más importante en DAX
En ese modulo se descomponen las operaciones más críticas de esa función "diferente" en el lenguaje para poder aprovecharla en las clases posteriores.
Verás la importancia de comprender el funcionamiento de los iteradores; sea entregando un valor escalar o una tabla.
Conocerás sobre relaciones avanzadas, tanto físicas como virtuales, y la aparición de un tema peligroso y complejo de identificar: la ambigüedad.
Utilizaras las funciones window que permiten simplificar comportamientos complejos de conseguir en el pasado.
Llevaremos a cabo cálculo a partir de funciones de Inteligencia del tiempo, creando una tabla de Calendario y estableciendo operaciones recurrentes.
Modificaremos el comportamiento natural de los cálculos con los llamados "Grupos de Cálculo", siendo una característica avanzada para obtener comportamientos diferentes al momento de analizar y visualizar datos.
Tendremos un apartado de "Otras operaciones en DAX" enfocándonos en pequeños, pero importantes ajustes al momento de presentar cálculos.
Y, por último, veremos las ventajas de poder utilizar la Vista de Consultas DAX para realizar preguntas al modelo semántico, crear medidas, actualizarlas, documentar el modelo semántico y aprovechar las características que mejoraran nuestra productividad.