TUTORIAL · POWER BI · FIN

Distribución P&L por centro

Automatice el envío de versiones filtradas del mismo informe P&L a cada responsable. Reduce tiempo manual y garantiza confidencialidad por centro de coste.

Power BI AVANZADO FIN Power BI Pro + Power Automate
Objetivo

Al finalizar tendrá un flujo automático que exporta y envía en PDF un informe P&L filtrado por centro de coste a cada director correspondiente.

Al completar este tutorial habrás implementado un sistema de análisis activo en Power BI. Los tres resultados concretos que obtendrás:

  • Exportar reportes P&L filtrados automáticamente
  • Enviar PDFs con asunto y cuerpo personalizados por director
  • Registro básico de envíos y manejo de errores

Tiempo estimado: 45-75 minutos. Requisitos previos:

Licencias Cuenta con Microsoft 365 que incluya Power BI Pro y Power Automate (Copilot incluido).
Accesos El usuario que crea el flujo tiene permisos de lectura y exportación sobre el informe Power BI y acceso al dataset.
Fuente de cost centers Mantener un archivo Excel en OneDrive/SharePoint con la tabla CostCenters (CostCenter, DirectorEmail).
Cuenta de servicio Usar un servicio o cuenta técnica con permisos dedicados para ejecutar exportaciones en producción.

Caso Real

El problema que resuelve este tutorial

Cárnicas Iberia S.A. (alimentación, mediana empresa)

El departamento financiero debe enviar mensualmente el P&L filtrado por centro de coste a 12 directores. El proceso manual consume tiempo y genera filtraciones de información.

Solución: Un flujo en Power Automate hace las exportaciones filtradas del informe en Power BI y envía un PDF personalizado a cada director, reduciendo tiempo y riesgo.

Power BI permite aplicar filtros de informe a nivel de exportación y Power Automate orquesta el bucle por centros de coste. Juntos automatizan exportación, formato y distribución sin intervención manual.

Clave directiva

Power BI Copilot no requiere conocimientos de DAX ni de modelado de datos para obtener respuestas analíticas de alto valor. El directivo puede interrogar el modelo semántico en lenguaje natural y obtener visualizaciones y narrativas automáticas en segundos.


Contexto

Cuándo usar este análisis

Úsalo cuando... No lo uses cuando...
  • Necesita distribuir el mismo informe con filtros por unidad o centro de coste a múltiples responsables
  • Busca auditar y registrar envíos programados periódicos
  • Desea mantener un control centralizado de permisos y versión del informe
  • Si los destinatarios requieren datos distintos o análisis ad hoc en lugar de un informe estándar
  • Si solo debe compartir un informe puntual a uno o dos usuarios sin repetición
  • Si los destinatarios necesitan acceso interactivo al informe en lugar de una copia estática

Comparativa: Copilot vs Q&A vs Smart Narratives

Función Mejor para Requiere Output
Copilot Análisis exploratorio y resúmenes ejecutivos Licencia M365 Copilot Texto narrativo + visualizaciones sugeridas
Q&A Preguntas puntuales sobre métricas específicas Modelo semántico bien etiquetado Visualización automática
Smart Narratives Comentarios automáticos en informes estáticos Power BI Pro o superior Párrafo de texto dinámico
Key Influencers Análisis causal de factores de negocio Power BI Pro o superior Árbol de factores con peso estadístico

Paso 01

Preparar origen de datos de destinatarios

Cree y publique un listado de centros de coste y correos de responsables. Este origen alimentará el bucle del flujo y debe ser accesible desde Power Automate.

  • 1
    Crear archivo Excel en OneDrive o SharePoint Nombre el archivo [EXCEL_COSTCENTROS_PATH] y dentro una tabla llamada CostCenters con columnas: CostCenter (texto), DirectorEmail (correo), DisplayName (opcional).
  • 2
    Validar permisos de archivo Asegúrese de que la cuenta que construye el flujo tiene permiso de lectura sobre el archivo o que el archivo está compartido con el grupo o cuenta técnica.
  • 3
    Verificar coincidencia de campo en Power BI Confirme que el campo usado como filtro en el informe P&L se llama CostCenter en el dataset o ajuste el nombre de la columna de Excel para coincidir.
Checkpoint: Archivo Excel con tabla CostCenters accesible desde Power Automate y campos validados.

Paso 02

Configurar y publicar el informe P&L en Power BI Service

Asegúrese de que el informe a exportar está publicado en un workspace con el dataset correcto y que permite exportación a archivo. Identifique GroupId y ReportId.

  • 1
    Publicar informe en workspace Use Power BI Desktop para publicar el informe P&L en el workspace destinado. Anote el nombre exacto del informe.
  • 2
    Obtener GroupId y ReportId En el servicio Power BI, abra el informe y copie la URL. Extraiga el GroupId (workspace) y ReportId para usar en el flujo.
  • 3
    Comprobar exportación manual Desde el servicio Power BI, pruebe exportar a PDF manualmente para confirmar formato y páginas necesarias.
Checkpoint: Informe publicado y GroupId/ReportId identificados; exportación a PDF comprobada.

Paso 03

Ejecutar el prompt o configuración principal

Este es el prompt/configuración central del tutorial. Cópialo completo, rellena las variables entre corchetes con los datos de tu empresa o situación, y ejecútalo.

  • 1
    Copia el prompt o configuración completa Selecciona todo el texto y cópialo. No modifiques la estructura — está diseñado para obtener el output más útil posible.
  • 2
    Rellena las variables entre corchetes Sustituye cada [VARIABLE] con información real de tu empresa. Cuanto más específico seas, mejor será el resultado.
  • 3
    Ejecuta y espera el resultado Pega el prompt en Copilot o configura el flujo en Power Automate. El resultado puede tardar entre 10 y 60 segundos.
Variables del prompt — sustituye cada [VARIABLE] con datos reales
[GRUPO_ID]ID del workspace (GroupId) donde está publicado el informe en Power BI
[REPORTE_ID]ID del informe P&L en Power BI (ReportId)
[EXCEL_COSTCENTROS_PATH]Ruta y nombre del archivo Excel en OneDrive/SharePoint que contiene la tabla CostCenters
Prompt principal — Distribución P&L por centro Configura un flujo en Power Automate que automatice la exportación y envío por correo de un informe P&L publicado en Power BI por cada centro de coste. Variables: [GRUPO_ID] = ID del workspace, [REPORTE_ID] = ID del informe P&L, [EXCEL_COSTCENTROS_PATH] = ruta/archivo en OneDrive o SharePoint que contiene la tabla CostCenters. Requisitos previos: el archivo Excel contiene una tabla llamada CostCenters con columnas CostCenter y DirectorEmail; la cuenta que ejecuta el flujo tiene permisos de exportación en el informe. Instrucciones detalladas de configuración del flujo en Power Automate: 1) Desencadenador: 'Recurrence' o 'When a dataset refresh completes' según preferencia. Configure la recurrencia mensual con zona horaria correcta. 2) Acción: 'List rows present in a table' (OneDrive/SharePoint). Seleccione [EXCEL_COSTCENTROS_PATH] y la tabla CostCenters. Esto devuelve las filas con CostCenter y DirectorEmail. 3) Acción: 'Apply to each' sobre el valor de la tabla. Dentro del bucle: a) Acción: 'Export to file for Power BI reports' (Power BI). Configure GroupId = [GRUPO_ID], ReportId = [REPORTE_ID], Export Format = PDF. En 'Report level filters' copie exactamente el siguiente JSON y cámbielo si su campo difiere: [{"$schema":"http://powerbi.com/product/schema#filter","target":{"table":"FactPnl","column":"CostCenter"},"operator":"In","values":[items('Apply_to_each')?['CostCenter']]}]. Reemplace 'FactPnl' por el nombre de la tabla en su dataset si corresponde. b) Acción: 'Delay' opcional de 5-10 segundos si la exportación requiere tiempo para generarse en entornos con carga. c) Acción: tomar el output 'File Content' de la exportación. Si la acción devuelve un link, use 'Get file content' con dicho link. d) Acción: 'Send an email (V2)' (Office 365 Outlook). To = items('Apply_to_each')?['DirectorEmail']; Subject = concat('P&L Mensual - Centro ', items('Apply_to_each')?['CostCenter']); Body = 'Adjunto el informe P&L filtrado para su centro de coste. Contacte finanzas para consultas.'; Adjuntos: Nombre = concat('P&L_', items('Apply_to_each')?['CostCenter'], '.pdf'); Contenido = File Content. 4) Acción: 'Add a row into a table' o 'Update item' para registrar en un log (SharePoint/Excel) con columnas: Centro, Email, FechaHora, Estado, MensajeError. En caso de error en el bucle capture using 'Configure run after' y registre el detalle del error. 5) Permisos y límites: confirme límites de tamaño de exportación y tasa de peticiones. Si los PDFs superan 30 MB, considere paginar o usar report builder/paginated reports. Para seguridad, ejecute el flujo con cuenta técnica que tenga acceso al workspace. Entrega: el flujo debe producir por cada fila de CostCenters un email con PDF filtrado, y una entrada en el log con estado. Proporcione también un mecanismo de reintento en caso de fallo temporal.
Checkpoint: El sistema ha respondido con un output estructurado que incluye las secciones solicitadas.

Paso 04

Configurar el flujo en Power Automate

Construya el flujo que orquesta la lectura de cost centers, la exportación del informe con filtro y el envío del email con el PDF adjunto. Siga las acciones exactas descritas.

  • 1
    Crear flujo automatizado con desencadenador Crear un flujo nuevo: desencadenador 'Recurrence' (p. ej. mensual) o 'When a dataset refresh completes' si desea enviar tras actualización. Configure la programación según calendario financiero.
  • 2
    Agregar acción 'List rows present in a table' Conecte a OneDrive/SharePoint y seleccione [EXCEL_COSTCENTROS_PATH] y la tabla CostCenters para obtener la lista de centros y correos.
  • 3
    Agregar 'Apply to each' sobre los resultados y dentro: usar 'Export to file for Power BI reports' Dentro del bucle, configure la acción 'Export to file for Power BI reports' con GroupId = [GRUPO_ID], ReportId = [REPORTE_ID], Formato = PDF. En 'Report level filters' pase un JSON como: [{"$schema":"http://powerbi.com/product/schema#filter","target":{"table":"[TABLE_NAME]","column":"CostCenter"},"operator":"In","values":[items('Apply_to_each')?['CostCenter']]}].
  • 4
    Esperar la acción de exportación y enviar correo Después de la acción de exportación, use 'Get file content' o use el output 'File Content' de la acción Export. Añada 'Send an email (V2)' con To = items('Apply_to_each')?['DirectorEmail'], Subject = 'P&L Mensual - Centro [CostCenter]', y adjunte el contenido PDF.
  • 5
    Registrar estado y manejar errores Al final del flujo, actualice una fila de log en Excel o SharePoint con Centro, Email, Fecha, Estado (Enviado/Error) y el mensaje de error si corresponde.
Checkpoint: Flujo creado con bucle por centros, exportación filtrada y envío de PDF; logs de ejecución configurados.

Paso 05

Pruebas, validación y despliegue

Ejecute pruebas con un subconjunto de centros y valide el contenido de los PDFs, destinatarios y registros. Ajuste tiempos de espera y manejo de errores según resultados.

  • 1
    Prueba con 1-3 centros Modifique la tabla CostCenters para incluir solo unos pocos centros de prueba y ejecútelo manualmente para verificar filtros y diseño del PDF.
  • 2
    Revisar registros y archivos Compruebe la carpeta temporal o el log para confirmar que los PDFs generados están completos y que los emails se han enviado correctamente.
Checkpoint: Pruebas satisfactorias en entornos controlados y flujo listo para programación regular.

Output

Qué vas a obtener

El prompt genera: 1) Definición del flujo con acciones y parámetros exactos; 2) JSON de filtros listo para pegar; 3) Plantillas de asunto y cuerpo de email; 4) Especificación de logs y manejo de errores.

Señal de que el output es correcto: Adjuntos PDF por cada centro contienen únicamente las líneas del P&L correspondientes al CostCenter y los registros de log muestran estado 'Enviado'.

  • El flujo exporta PDFs con contenido válido para cada centro Los emails llegan a los destinatarios correctos y contienen el PDF adjunto El log registra una entrada por cada intento con estado 'Enviado' o 'Error' Las pruebas con 1-3 centros coinciden exactamente con los datos filtrados

Prompts de iteración

Si el primer output no es exactamente lo que necesitas, usa estos prompts de refinamiento:

Hacer el output más específico
  • cuando el output es demasiado genérico. "Reescribe la configuración del flujo incluyendo ejemplos concretos de JSON para 'Report level filters', nombres de tablas del dataset (p. ej. 'FactPnl') y un ejemplo de contenido de la tabla CostCenters con 3 filas. Mantén formato listo para copiar en Power Automate."
Cambiar el nivel de detalle
  • cuando necesitas más o menos profundidad. "Genera dos versiones del flujo: 1) Resumida con solo acciones clave y parámetros mínimos; 2) Completa con 'Configure run after', manejo de errores, retrasos y logs. Incluye pasos numerados y valores por defecto."
Adaptar el tono
  • cuando el tono no es el adecuado para tu audiencia. "Reformula las instrucciones en tono más ejecutivo, breve y orientado a la toma de decisión del CFO. Incluye riesgos clave y requerimientos de permisos en tres bullets claros."
Versión ejecutiva resumida
  • para compartir con el Comité de Dirección. "Resume en 5 bullets ejecutivos qué hace el flujo, beneficios cuantificables (tiempo ahorrado estimado), riesgos principales y decisión requerida para desplegarlo en producción."
Señal de calidad

Un output de calidad en Power BI Copilot incluye siempre una explicación causal (por qué ocurre la variación), no solo descriptiva (qué ha ocurrido). Si el output solo describe, refina el prompt pidiendo explícitamente el análisis de causas.


ROI

Coste y retorno de inversión

incluido en M365 con Copilot Microsoft 365 Copilot / mes
1-3 minutos por ejecución (dependiendo del número de centros y tamaño del informe) Por ejecución
Alto ROI estimado

Automatizar la distribución reduce horas de trabajo manual por periodo y minimiza errores de envío. Para una empresa con 12 directores, la automatización puede ahorrar 8-16 horas mensuales y reducir riesgo de filtración de datos.


Errores

Errores frecuentes y cómo resolverlos

Síntoma Causa probable Solución
La acción 'Export to file for Power BI reports' devuelve error o tiempo de espera El informe es demasiado grande o la exportación excede límites de servicio Divida el informe por páginas o use informes paginados; añada 'Delay' y configure reintentos en la acción. Verifique límites de capacidad del tenant.
Los PDFs llegan vacíos o sin filtrar El JSON de filtros utilizado no coincide con nombres de tabla/columna del dataset Verifique el nombre exacto de la tabla y columna en el dataset y actualice el JSON de 'Report level filters' para usar esos nombres.
El flujo falla con permisos 403 al exportar La cuenta que ejecuta el flujo no tiene permisos en el workspace o informe Conceda permisos de 'Member' o 'Contributor' en el workspace o utilice una cuenta de servicio con permisos adecuados.
Adjunto no se añade al correo o aparece corrupto No se está usando correctamente el output 'File Content' o el contenido se está convirtiendo antes de adjuntar Use directamente el campo 'File Content' de la acción Export; si devuelve link, use 'Get file content' y adjunte ese contenido.
El flujo tarda excesivamente y agota ejecuciones Sin control de concurrencia en 'Apply to each' y demasiadas filas en la tabla CostCenters Habilite control de concurrencia con paralelismo limitado o procese en lotes (batch) y programe ventanas de ejecución fuera de horas pico.
Precaución

Copilot en Power BI requiere que el modelo semántico esté bien etiquetado (nombres de columna descriptivos, jerarquías de fechas correctas, medidas con nombres de negocio). Un modelo mal documentado produce respuestas incorrectas o incompletas, independientemente de la calidad del prompt.


Avanzado

Modo avanzado: llevar este tutorial más lejos

En modo avanzado utilice autenticación por cuenta de servicio (service principal) y la API REST de Power BI para exportaciones masivas o para integración con paginated reports. Esto permite mayor control de rendimiento, nombres de archivo dinámicos y auditoría centralizada.

Cuándo es especialmente valioso: Es valioso cuando necesita mayor control, ejecutar exportaciones masivas periódicas, superar limitaciones del conector estándar o mantener trazabilidad y cumplimiento mediante auditoría con identidades no personales.

  1. 1
    Registrar una app en Azure AD y conceder permisos a Power BI Service
  2. 2
    Configurar el flujo para usar la conexión con la app (service principal)
  3. 3
    Utilizar llamadas REST (Export to File API) para controlar paginación y parámetros avanzados
  4. 4
    Registrar respuestas y hashes de archivo en almacenamiento seguro para auditoría
Configuración avanzada Configura el uso de una cuenta de servicio para exportaciones masivas: 1) Proporciona pasos para registrar una app en Azure AD con permisos Delegated/Application para 'Power BI Service'. 2) Describe cómo crear una conexión personalizada en Power Automate usando OAuth2 Client Credentials con ClientId, ClientSecret y TenantId. 3) Incluye ejemplo de llamada REST 'Export To File' con body JSON que aplica filtro por CostCenter, maneja paginación y devuelve Base64 del PDF para adjuntar. 4) Añade políticas de reintento y log de auditoría en SharePoint.

Siguiente paso: Automatice una verificación mensual que compruebe la integridad de los PDFs (p. ej. número de líneas o total P&L) y envíe un resumen al CFO con métricas de envío y excepciones.