Cómo crear un Data Issue Detector en el Copilot de Fabric
Este tutorial muestra cómo crear un Data Issue Detector en el Copilot de Fabric para identificar automáticamente problemas comunes (valores nulos, formatos incorrectos, outliers) y generar informes o alertas. Es útil para monitorizar la calidad de los datos sin escribir mucho código y para acelerar la detección de fallos antes de análisis o modelos.
Requisitos previos
- Cuenta con acceso a Microsoft Fabric y permisos para usar el Copilot en el workspace.
- Una tabla o dataset en Fabric (por ejemplo en una Lakehouse o Warehouse) con datos de ejemplo.
- Noiones básicas de Power Query / SQL y de qué son nulos, outliers y formatos.
Paso 1: Preparar la fuente de datos
Identifica la tabla que quieres analizar y confirma columnas clave (fechas, IDs, numéricas, texto). Si la tabla está en la Lakehouse, ábrela en el Data Explorer; si está en el Warehouse, usa una consulta simple para muestreo. El objetivo es tener una muestra representativa para que el Copilot analice.
-- Exemplo SQL para amostra no Warehouse
SELECT TOP 1000 *
FROM my_database.my_schema.my_table
ORDER BY some_date DESC;
Paso 2: Abrir el Copilot y crear un nuevo Prompt
Abre el Copilot en Fabric y crea un nuevo Prompt. Explica al Copilot el objetivo: detectar nulos, formatos inválidos (por ejemplo emails), outliers y frecuencias inesperadas. Proporciona la muestra de datos o conéctalo directamente a la tabla usando la referencia disponible en el entorno.
Prompt ejemplo:
"Analiza la tabla my_table e identifica:
- Columnas con >5% de valores nulos
- Valores con formato inválido (email, date)
- Outliers en columnas numéricas (usar IQR)
- Distribuciones inesperadas (picos/valores únicos)
Proporciona: resumen por columna y queries SQL para aislar problemas."
Paso 3: Ajustar el Prompt para reglas específicas
Refina el Prompt para reglas de tu negocio — por ejemplo, un campo phone debe tener 9 dígitos, códigos postales un patrón específico, o valores negativos son inválidos. Especifica umbrales (p. ej. outliers fuera de 1.5*IQR) para que el Copilot genere resultados reproducibles.
Adición al Prompt:
"Regla: phone debe ser regex '^\d{9}$'.
Outlier: valor < Q1 - 1.5*IQR o > Q3 + 1.5*IQR.
Reporta porcentaje y ejemplos de filas."
Paso 4: Ejecutar las queries / acciones sugeridas
El Copilot propondrá queries SQL o pasos en Power Query. Cópialas y ejecútalas en el Warehouse o en el Dataflow según se indique. Si el Copilot sugiere transformaciones, revísalas antes de aplicar en producción.
Exemplo SQL gerado para nulos:
SELECT column_name, COUNT(*) AS total, SUM(CASE WHEN column_name IS NULL THEN 1 ELSE 0 END) AS null_count,
100.0 * SUM(CASE WHEN column_name IS NULL THEN 1 ELSE 0 END) / COUNT(*) AS null_pct
FROM my_database.my_schema.my_table
GROUP BY column_name;
Exemplo SQL para emails inválidos:
SELECT * FROM my_table WHERE NOT REGEXP_MATCH(email, '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$') LIMIT 50;
Paso 5: Automatizar con un Prompt Chain simple
Crea un Prompt Chain en el Copilot que primero ejecute checks de nulos, luego checks de formato y por último outliers, y que genere un informe consolidado. Esto permite ejecutar el detector regularmente sin reescribir el Prompt cada vez.
Prompt Chain (ejemplo lógico):
1) CheckNulls -> retorna columnas problemáticas
2) CheckFormats (usa output de 1) -> retorna ejemplos por columna
3) CheckOutliers -> retorna queries para investigación
4) Summarize -> crea informe con recomendaciones
Verificar el resultado
Confirma que tienes un resumen por columna con porcentajes de nulos, ejemplos de formatos inválidos, y listas de outliers. Ejecuta las queries generadas y valida manualmente algunas filas. Si automatizaste el Prompt Chain, ejecútalo de nuevo con otra muestra para garantizar consistencia.
Conclusión
Con el Data Issue Detector en el Copilot de Fabric puedes identificar rápidamente problemas de datos y obtener queries listas para investigación. Próximos pasos: integrar este flujo en una rutina (programada) o en un Power Automate para alertas. Consejo: empieza con muestras pequeñas y prueba las regex/umbrales antes de aplicarlas a toda la tabla — ¿qué columna quieres monitorizar primero?