Blog

La Data Web

Un espacio para compartir ideas, tutoriales, automatizaciones y experiencias reales de trabajo con plataformas de datos y analítica. Artículos y notas sobre datos, Power BI, Fabric, Azure y automatización.

[PowerQuery] Descomprimir archivos .gzip

No muchos deben saber que Power Query tiene en su core de lenguaje dos descompresores de archivos. Con esto me refiero a que Power Bi es capas de tomar archivos comprimidos y extraer sus datos para explotarlos como cualquier otra extensión que estemos acostumbrados a utilizar.

Suele dar confusión por el simple hecho que si buscamos esta opción en "obtener datos" la realidad es que no existe un conector propiamente dicho sino que es una función del lenguaje Power Query la que nos permite llamar a métodos que interpreten el comprimido para que podamos leer el archivo.

Para este artículo vamos a tomar un ejemplo de archivos .tsv comprimidos como .gz que pueden ser leídos de forma web o local. En mi caso mostraré directamente contra la api de imdb que devuelve esa extensión. 

Leer artículo
powerbi power bi power bi desktop

[DAX] ALL - ALLSELECTED - ALLEXCEPT

Ciertamente en DAX todos llegan a un punto donde necesitan que un número quede totalizado y no filtrado por nuestro contexto para llegar a cierta matemática. Un claro y típico ejemplo es el "Porcentaje del total…" Normalmente ese porcentaje requiere un numerador con el valor de la fila y un denominador con un valor total completamente distinto al valor de la línea.

Cuando llega esta necesidad de que una medida calculada me muestre en una fila un valor totalizado que no es para esa fila, dicho técnicamente que ignore el filtro o contexto de esa fila, es cuando vamos a utilizar las funciones de tabla descritas en este artículo. Un claro ejemplo sería ver una tabla de 5 artículos con sus ventas pero necesito una columna que diga el total de las ventas de los cinco artículos en cada fila para poder dividir la venta de 1 de ellos respecto de los 5 artículos para saber el porcentaje que representa de las ventas.

Leer artículo
powerbi power bi power bi desktop

[DAX] RELATED vs RELATEDTABLE

De las cosas más importantes en un modelo tabular, ya sea dentro de power bi o analysis services, están las relaciones entre tablas. Ciertamente son la clave para que un modelado escale puesto que una buena comprensión de ellas ayudará a la construcción de medidas y gráficos necesarios que estén en los requerimientos sin necesidad de armar monstruos de dax o ciclos ambiguos de relaciones.

De cierto modo suena a "sencillo" puesto que no tiene mucho para comprobar pero resulta clave entender el uno y el muchos que varios lo ignoran siempre y cuando este relacionado y terminan generando relaciones por todos lados que incluso componen la "prohibida" muchos a muchos. Llamaremos cardinalidad a este concepto de uno a uno, uno a muchos o muchos a muchos.

Tomando de referencia la siguiente imagen vamos a ver dos potentes funciones de DAX que nos ayudarían a involucrar en nuestra tabla actual contenido de una tabla relacionada.

Leer artículo
dax powerbi power bi

[DAX] SUM vs SUMX

Cuando comenzamos con Power Bi una de las cosas más atractivas que nos atrapa es el código DAX. Sentimos un entorno familiar con sintaxis semejante a excel, pero no por eso vamos a decir que el lenguaje es parecido, que nos permite construir cálculos y medidas matemáticas que resuelven nuestras lógicas de negocio.

Ciertamente nos da fuerza sentirlo conocido para comenzar de golpe con todas las reglas sin importar la dificultad llegando así a una traba. El freno o bloqueo inicial son las funciones de agregación "X". Cuando vamos a constuir nuestra medida nos encontramos no solo con COUNT, AVERAGE, MAX o SUM sino también con COUNTX, AVERAGEX, MAXX, SUMX y nos deja pensando sin conocer bien como deberíamos utilizar dichas funciones.
En este artículo vamos a ver como responden dichas funciones enfocandonos en SUM y SUMX para conocer el concepto que las diferencia. Esto no solo serviría para SUM sino también para las otras agregaciones pero para facilitar la descripción e interpretación usaremos una de ellas como guía.

Leer artículo
powerbi power bi power bi desktop

[PowerBi] Implementar seguridad a nivel de filas (RLS) de un principio

Existe una característica maravilloso en Power Bi llamada RLS. Con el correr del tiempo me he encontrado con múltiples casos que no han encontrado la utilidad o comprendido tanto el uso como su implementación. Ciertamente su concepto puede ser confuso para un usuario no técnico que solo pensará en "Seguridad es bueno".

Seguridad a niveles de filas significa nada más y nada menos que restringir el acceso a los datos a determinados usuarios. Me detengo en "a los datos" un momento porque esto no significa que no pueden entrar a ver los informes de Power Bi. Lo que RLS restringe son datos puntuales en si y no informes, paneles o areas dentro de Power Bi. Una cosa es el acceso a la información y otra a un dato puntual. RLS va a conseguir que dos usuarios con perfiles/roles diferentes estén viendo el mismo informe y cada quien vea distintos datos porque fueron asignados con un rol que tiene una regla de filtros hacia el conjunto de datos. Eso es seguridad a niveles de filas. Filtrar filas de un conjunto de datos bajo una regla definida que será parte de un rol que asignaremos a un usuario.

Para implementar desde cero esta maravillosa característica vamos a seguir el siguiente proceso.

Leer artículo
power bi power bi desktop power bi service