Microsoft Power BI avanzado

29 de enero de 2025 a las 17:00 horas.

En este webinar, aprenderás Microsoft Power BI avanzado

Conectar API en JSON con Power BI

Guardar JSON en local

Url con simulador de endpoint de API: https://pruebahosting24.com/powerbi/ventasEjemplo.json

  1. Copiar el endpoint en local
  2. Generar un script
  3. Automatizar la tarea para que se actualice cada cierto periodo de tiempo

Entorno linux como si de un servidor se tratase y quisiermos tener dicho archivo json en dicho servidor.

Git Bash es una aplicación para entornos Windows que proporciona una capa de emulación para usar comandos de Git (control de versiones). Combina las funcionalidades de Git con una interfaz de línea de comandos similar a Bash de Unix.

Curl es una herramienta de línea de comandos utilizada para transferir datos desde o hacia un servidor

Comandos en consola Git Bash:

http://pruebahosting24.com/powerbi/ventasEjemplo.json

curl https://pruebahosting24.com/powerbi/ventasEjemplo.json -o ventasEjemplo.json

nano actualizarVentas.sh

archivo actualizarVentas.sh:

Creamos un script. Estos scripts se utilizan para automatizar tareas repetitivas

#!/bin/bash
# Actualizar ventas
curl https://pruebahosting24.com/powerbi/ventasEjemplo.json -o ventasEjemplo.json

Nota: para salir y guardar el archivo de nano: [CTLR]+X -> Y -> [INTRO]

Dar permisos de ejecución al script y ejecución:

chmod +x actualizarVentas.sh
sh actualizarVentas.sh

Tarea Cron

Abre una terminal.

Edita el archivo crontab usando el comando crontab -e. Esto abrirá el editor de texto predeterminado para editar el archivo crontab del usuario actual:

Nota: método para servidor linux

crontab -e

Añade una nueva línea al archivo crontab para definir la tarea cron. La sintaxis básica para una tarea cron es:

* * * * * /ruta/a/tu/directorio/script.sh

Los asteriscos representan los valores de tiempo (minuto, hora, día del mes, mes, día de la semana). Aquí tienes un desglose de cada campo:

Minuto (0-59) Hora (0-23) Día del mes (1-31) Mes (1-12)

Día de la semana (0-7, donde 0 y 7 representan el domingo)

Por ejemplo, para ejecutar un script todos los días a las 2 AM, añade la siguiente línea:

0 2 * * * /ruta/a/tu/directorio/actualizarVentas.sh

Nota: para salir y guardar el archivo de nano: [CTLR]+X -> Y -> [INTRO]

Verifica que la tarea cron se haya añadido correctamente usando el comando crontab -l:

crontab -l

Conectar archivo JSON con PowerBI

En Power BI, pulsamos obtener datos -> luego JSON -> Conectar

Introducimos la dirección donde hemos guardado el archivo JSON local y seleccionamos dicho archivo «ventasEjemplo»

Transformaciones

Dentro de transformar datos:

  1. Tanto para ventas.producto_id como para ventas.vendedor_id -> Botón secundario -agregar como consulta nueva
  2. A la tabla –> Aceptar
  3. Expandir en nuevas filas – cargar más – seleccionar todas y aceptar (quitar usar…)
  4. Con todas seleccionadas en la pestaña transformar detectar tipo de datos
  5. Para el precio – Tipo de datos número decimal fijo (sustituir actual)
  6. Inicio Quitar filas – quitar duplicados
  7. Expandir en nuevas filas -> elegir producto_id y precio -> Aceptar
  8. Cambiar nombres de las tablas venta, producto, vendedor.
  9. Agregar columna – columna personalizada ([ventas.cantidad]*[precio]) transformar: Para el precio – Tipo de datos número decimal fijo (sustituir actual)
  10. Inicio Cerrar y aplicar

En la pestaña transformar

Funciones DAX

¿Qué es DAX?

DAX significa Data Analysis Expressions, es un lenguaje de fórmulas utilizado en Power BI, así como en otros productos de Microsoft como Analysis Services y Power Pivot en Excel. DAX permite realizar cálculos avanzados y consultas en los datos de los modelos tabulares

¿Para qué se utiliza DAX?

  • Crear medidas: Son cálculos dinámicos cuyos resultados cambian según el contexto del informe. Por ejemplo, sumar ventas totales o calcular promedios.
  • Columnas calculadas: Son columnas añadidas a una tabla existente, donde cada fila se calcula utilizando una fórmula DAX. Por ejemplo, concatenar el año y el trimestre en una sola columna.
  • Tablas calculadas: Son tablas creadas a partir de expresiones DAX que derivan datos de otras tablas del modelo
  • Realizar cálculos complejos que no son posibles con las funciones estándar de Power BI.
  • Crear nuevas métricas y KPIs que proporcionan perspectivas más profundas.
  • Optimizar el rendimiento de los informes al utilizar cálculos eficientes.
  • Automatizar análisis repetitivos y ahorrar tiempo en la preparación de datos.

Información general sobre DAX – DAX | Microsoft Learn

Referencia de expresiones de análisis de datos (DAX) – DAX | Microsoft Learn

Sintaxis DAX – DAX | Microsoft Learn

Columna

ColumnaTotales = RELATED(producto[precio]) * venta[ventas.cantidad]

Medidas

La función CALCULATE en DAX es una de las más poderosas y complejas. Se utiliza para evaluar una expresión en un contexto de filtro modificado. Esto significa que puedes cambiar el contexto en el que se evalúa una medida o cálculo, aplicando uno o más filtros adicionales.

La sintaxis básica es:

CALCULATE(<expression>, <filter1>, <filter2>, ...)
Eltotal2025 = CALCULATE(sum(venta[total_ventas]), YEAR(venta[ventas.fecha])=2025)

EltotalProducto102 = CALCULATE(sum(venta[total_ventas]), FILTER(venta, venta[producto_id]=102))

Columnas VS Medidas

  1. Flexibilidad: Las medidas se calculan dinámicamente en función del contexto de la visualización, lo que permite obtener resultados diferentes según los filtros y segmentaciones aplicados.
  2. Rendimiento: Las medidas suelen ser más eficientes porque se calculan en tiempo de ejecución, mientras que las columnas calculadas se almacenan en el modelo de datos, ocupando más espacio y potencialmente ralentizando el rendimiento.
  3. Escalabilidad: Las medidas pueden reutilizarse en múltiples visualizaciones y contextos sin necesidad de duplicar cálculos, lo que facilita el mantenimiento y la actualización de los informes.
  4. Interactividad: Las medidas responden mejor a la interactividad del usuario, como los filtros, proporcionando resultados más precisos y relevantes en tiempo real.

Uso de Emojis

Emoji = "Resultado " & IF(sum(venta[total_ventas]) >= 500, "😊", "😢")
Estrellas = VAR Ventas = sum(venta[total_ventas])

RETURN

SWITCH(
    TRUE(),
    Ventas >= 600, "⭐⭐⭐",
    Ventas >= 500, "⭐⭐",
    Ventas >= 400, "⭐",
    "Sin estrellas"
)
Estrellas = 
VAR Ventas = sum(venta[total_ventas])
VAR estrella = "⭐"
RETURN

SWITCH(
    TRUE(),
    Ventas >= 600, REPT(estrella, 3),
    Ventas >= 500, REPT(estrella, 2),
    Ventas >= 400, REPT(estrella, 1),
    "Sin estrellas"
)

Origen de datos script de Python

En obtener datos buscamos Python y damos a conectar, previamente debemos tener instalado Python y la librería Pandas.

Ejemplos

La secuencia de Fibonacci

import pandas as pd

# Función para generar los primeros 50 números de Fibonacci
def generar_fibonacci(n):
    secuencia_fib = [0, 1]
    while len(secuencia_fib) < n:
        secuencia_fib.append(secuencia_fib[-1] + secuencia_fib[-2])
    return secuencia_fib

# Generar los primeros 50 números de Fibonacci
numeros_fibonacci = generar_fibonacci(20)

# Crear un DataFrame para usar en Power BI
fibonacci = pd.DataFrame(numeros_fibonacci, columns=['Fibonacci'])

print("Los primeros 50 números de Fibonacci se han generado")

La secuencia de Fibonacci se utiliza en informática para optimizar algoritmos, como en la búsqueda binaria y la generación de números pseudoaleatorios. También se aplica en estructuras de datos como los árboles AVL y en problemas de programación dinámica. Además, su presencia en la naturaleza inspira soluciones eficientes en el diseño de algoritmos.

Secuencia geométrica
import pandas as pd
# Función para generar los primeros 30 números de la secuencia geométrica
def generar_secuencia_geometrica(n):
    secuencia = [1]
    while len(secuencia) < n:
        secuencia.append(secuencia[-1] * 2)
    return secuencia

# Generar los primeros 30 números de la secuencia
secuencia_geometrica = generar_secuencia_geometrica(30)

# Crear un DataFrame para usar en Power BI
df = pd.DataFrame(secuencia_geometrica, columns=['SecuenciaGeometrica'])

print("Los primeros 30 números de la secuencia geométrica se han generado")
  1. Eficiencia Algorítmica: Se utilizan en algoritmos de búsqueda y ordenación, como la búsqueda binaria, donde el tamaño del problema se reduce a la mitad en cada paso.
  2. Estructuras de Datos: En estructuras como los árboles binarios, donde cada nivel del árbol tiene el doble de nodos que el nivel anterior.
  3. Exponenciación Rápida: En cálculos que requieren potencias de dos, como en criptografía y gráficos por computadora.

Gráficos avanzados

Gráfico de líneas con línea de tendencia y Previsión (Ejemplo: 2. Tienda de ropa)

Un gráfico de líneas muestra datos a lo largo del tiempo con puntos conectados por líneas. La línea de tendencia ayuda a identificar la dirección general de los datos, mientras que la previsión proyecta valores futuros basados en patrones históricos.

Este gráfico es útil para analizar tendencias a lo largo del tiempo y prever futuros comportamientos. Por ejemplo, puede usarse para ver cómo han evolucionado las ventas mensuales y predecir las ventas futuras.

Elementos influyentes clave (Ejemplo: 2. Tienda de ropa)

El gráfico de elementos influyentes (Key Influencers) utiliza inteligencia artificial para identificar los factores que más influyen en una métrica específica.

Este gráfico es ideal para entender qué factores están afectando tus resultados. Por ejemplo, puedes descubrir qué variables están influyendo en la satisfacción del cliente o en la rotación de empleados.

Esquema jerárquico (Ejemplo: 2. Tienda de ropa)

El esquema jerárquico (Decomposition Tree) permite desglosar una métrica en varias dimensiones para analizarla en profundidad.

Este gráfico es útil para realizar análisis a propósito y encontrar la causa raíz de un problema. Por ejemplo, puedes usarlo para descomponer las ventas por región, producto y canal de venta para identificar dónde se están generando más ingresos.

https://learn.microsoft.com/en-us/power-bi/visuals/power-bi-visualization-decomposition-tree

https://github.com/microsoft/powerbi-desktop-samples/blob/main/Sample%20Reports/Supply%20Chain%20Sample.pbix

Preguntas y respuestas (Ejemplo: 3. Ejemplo completo)

 La funcionalidad de preguntas y respuestas (Q&A) permite a los usuarios hacer preguntas en lenguaje natural y obtener respuestas en forma de gráficos.

 Esta herramienta es excelente para explorar datos de manera interactiva y obtener insights rápidamente.

https://github.com/microsoft/powerbi-desktop-samples/blob/main/Sample%20Reports/Sales%20%26%20Returns%20Sample%20v201912.pbix

Varios

Tooltips avanzados (Ejemplo: 4. Bicicletas)

Analizador de rendimiento

  1. Abre Power BI Desktop.
  2. Ve a la pestaña Vista en la cinta de opciones.
  3. Selecciona Analizador de rendimiento.

Una vez seleccionado, el Analizador de rendimiento aparecerá en su propio panel a la derecha del lienzo del informe

Desde este panel, puedes iniciar y detener la grabación para analizar el rendimiento de los elementos de tu informe.

Métricas

Optimización

  1. Evita columnas calculadas: Siempre que sea posible, utiliza medidas en lugar de columnas calculadas para reducir el uso de memoria
  2. Utiliza variables en DAX: Las variables pueden mejorar el rendimiento de tus fórmulas DAX al evitar cálculos redundantes
  3. Aplica filtros restrictivos: Filtra los datos en la fuente para reducir la cantidad de datos importados
  4. Elimina columnas innecesarias: Solo importa las columnas que realmente necesitas para tus análisis. Utiliza select y vistas en SQL que traigan sólo lo que necesitas.
  5. Optimiza el modelo de datos: Asegúrate de que tu modelo de datos esté bien estructurado y normalizado. Tipo de datos siempre que se pueda numérico y es recomendable crear ids de todas las tablas.
  6. Minimiza el uso de visualizaciones complejas: Demasiadas visualizaciones o visualizaciones complejas pueden ralentizar el rendimiento
  7. Reduce las interacciones entre visualizaciones: Desactiva las interacciones que no sean necesarias para mejorar la velocidad
  8. Siempre el mínimo nivel de detalle. Ejemplo: las fechas sin la hora si no es necesario

Permisos y usuarios

Compartir un informe concreto

Crear nueva área de trabajo

Compartir un espacio de trabajo

Power Bi en PowerPoint

Siguientes pasos para dar

Creación de clusters (grupos) mediante K-means con la ayuda de Python

https://en.wikipedia.org/wiki/K-means_clustering

Documentación de Power BI oficial

https://learn.microsoft.com/es-es/power-bi/create-reports/sample-datasets

Descargas

Video complementario al webinar para el control de accesos

Scroll al inicio
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Privacidad