Conexión: traé la base a Power BI. Arrancamos el proyecto del curso: un dashboard de cartera de créditos con datos reales y anonimizados de una financiera paraguaya. Hoy vamos de un CSV a un diagnóstico: conectás la base, hacés que el texto se lea bien, activás el perfil de columnas y listás los problemas de calidad, sin borrar nada todavía.
📁 Materiales del proyecto
La base cartera_anonimizada.csv, los PDF de cada sesión y los archivos de trabajo están en la carpeta del proyecto (es la misma para las 4 sesiones):
1. El caso de negocio
Cerró el mes y el gerente de riesgos quiere saber cuánto tenemos prestado, cuánto está atrasado y dónde está el problema. En 4 sesiones construimos ese tablero:
| Pregunta | Indicador | Sesión |
|---|---|---|
| ¿Cuánto nos deben? | Saldo total de cartera | 3 |
| ¿Cuánto está atrasado? | Saldo vencido · % de morosidad | 3 |
| ¿Qué tan grave? | Tramos de atraso | 2–3 |
| ¿Dónde se concentra? | Sucursal · oficial · producto | 4 |
| ¿A cuántos afecta? | Clientes en mora | 3 |
Idea clave
Sin depuración, ningún análisis es confiable. Hoy auditamos la base antes de calcular: es lo que más errores evita.
2. La base en números
3. Conectar el CSV (pasos 1 a 5)
- Abrí Power BI Desktop y cerrá la pantalla de inicio.
Archivo → Guardar como→ Cartera_Taller.pbix. Guardá primero y conectá después: si Power BI se cuelga con un archivo grande, no perdés nada.Inicio → Obtener datos → Texto/CSV→ elegí cartera_anonimizada.csv.- Delimitador = Coma y Detección del tipo de datos = No detectar.
- Clic en Transformar datos (no en “Cargar”) y renombrá la consulta a Cartera.
Codificación: que el texto se lea bien
Si ves ñ o é, el archivo es UTF-8 y lo estás leyendo como 1252: elegí 65001: Unicode (UTF-8). Si ves un rombo con signo de pregunta en vez de la ñ, es al revés: elegí 1252: Europa occidental. Para esta base usamos 1252, que es la del sistema de origen.
Comprobación
Columna producto → Filtros de texto → Contiene “Ô → tiene que dar 0 filas. Después quitá el filtro.
¿Por qué “No detectar”?
La detección automática mira solo las primeras 200 filas. Además, con la configuración regional de Paraguay, un decimal con punto cambia de valor: 33.966 → 33966. Los tipos los ponemos a mano en la Sesión 2.
4. Perfil de columnas sobre TODO el conjunto (pasos 6 y 7)
Vista→ tildá Calidad de columnas, Distribución de columnas y Perfil de columnas.- En la barra de estado (abajo a la izquierda), cambiá “primeras 1000 filas” por “todo el conjunto de datos”.
- Recorré las columnas con clic en cada encabezado: Recuento, Error, Vacío, Distintos y Únicos. Anotá lo raro.
| Lo que ves | Con 1.000 filas | Con todo el conjunto |
|---|---|---|
| edad vacía | 0 | 17 |
| fec_pri_prestamo “NA” | 0 | 14 |
| ips “NA” | 257 | 39.506 |
| filas repetidas | 4 | 381 |
Ojo: Power Query muestra “999+ filas” porque es solo una vista previa. El total real (124.781) lo ves en el Recuento del perfil, con = Table.RowCount(Cartera) en una referencia o en la vista de tabla después de “Cerrar y aplicar”.
¿Qué representa cada fila?
1 fila = 1 operación de crédito vigente al 30/04/2018. No es una cuota ni un cliente. La clave es cod_su + nro_operacion, porque el número de operación se repite entre sucursales (hay 122.454 nro_operacion distintos para 124.781 filas).
¿Foto o historia?
fecha_proceso tiene un solo valor, 30.04.2018: es una foto de la cartera, no un histórico. No hay evolución mes a mes, y la fecha de corte es fija: no usamos HOY().
Un ddm negativo no es un error
ddm son los días de mora. ddm ≤ 0 significa que la operación está al día (faltan días para el vencimiento), y ddm > 0 son días de atraso a la fecha de corte. Los tramos que vamos a usar: Al día · 1–30 · 31–60 · 61–90 · >90.
5. Diagnóstico de calidad
“NA” escrito como texto no es un vacío
El perfil muestra 0 % vacío en ips, pero tiene 39.506 “NA”, y Power BI lo trata como una categoría más. También hay “NA” en scorin (23.658), califi (6.108), cant_c (3.244), ocupacion (1.786), riesgo (1.260) y fec_pri_prestamo (14).
Otros valores raros: destino_oper “!NULO!” (33.061), comercio “-” (112.220; significa sin comercio, no es un error), edad vacía (17), ingreso_mensual en 0 (6.138) y negativo (10).
Duplicados: medir sin borrar
Hacé Referencia → Mantener duplicados. Por clave (cod_su + nro_operacion) salen 640 filas en 259 operaciones, así que sobran 381, que son 1.589 millones de Gs contados dos veces. Ojo con la trampa: si usás solo nro_operacion, te aparecen 4.522 filas que en realidad son operaciones legítimas de otras sucursales.
Hoy solo medimos
No borres nada. Los duplicados y los “NA” se tratan en la Sesión 2, con un criterio documentado.
6. Con IA: tu copiloto
Actuá como analista de datos senior en riesgo crediticio. Estoy limpiando en Power Query una base ANONIMIZADA de una cartera de créditos de Paraguay (124.781 filas, 37 columnas, sin datos personales; montos en guaraníes; foto al 30/04/2018). Te paso el encabezado y una fila de ejemplo:
[pegá acá el encabezado y una fila]
1. Inferí qué significa cada columna e indicá tu nivel de confianza.
2. Marcá cuáles son montos, fechas, códigos/categorías y texto.
3. Dame un plan de limpieza priorizado y qué columnas derivadas conviene crear para analizar mora y colocaciones.
Respondé en tabla y no inventes columnas.La IA propone, el perfil verifica
Con una sola fila, la IA no puede ver los “NA”, los duplicados ni la repetición de nro_operacion. Si te dice qué son area, riesgo o cant_c, está infiriendo: eso se confirma con sistemas. Nunca pegues datos de la base original.
Practicá · Tu turno (15 min)
Entregá 4 problemas de calidad que viste en el perfil, cada uno con su columna y su cifra, y compará tu lista con el plan de limpieza de la IA: ¿coinciden?
- ¿Qué representa cada fila y cuál es la clave?
- ¿La base es una foto o un histórico? ¿Cómo lo sabés?
- ¿Cuántos clientes hay y por qué no coinciden con las filas?
- ¿Qué columnas traen “NA” como texto? ¿Cuál es la peor?
- ¿Cuántas filas repetidas hay y por qué no alcanza con nro_operacion?
✅ Checklist de la sesión
☐ La base carga con origen 1252 y “Ô da 0 filas
☐ Perfil de columnas activado sobre todo el conjunto
☐ Entiendo qué es un ddm negativo y la fecha de corte
☐ Sé que cada fila es una operación (clave: sucursal + operación)
☐ Listé los problemas de calidad, con cifras
Tarea para la Sesión 2: ordená tu lista en 3 grupos (tipos, nulos/textos y duplicados) y traé 3 preguntas para sistemas (ddm muy negativo; qué son area, riesgo, califi y cant_c; si existe el importe vencido). Si vas más adelantado, escribí en M los duplicados en 2 pasos.
🤖 4 reglas de oro con la IA
1. Dale un rol: “Sos experto en DAX / Power Query…”. 2. Pegale datos reales: el encabezado, una fila o el mensaje de error; la IA no ve tu pantalla. 3. Pedile que explique: “…y explicá en 2 líneas por qué”. 4. Validá siempre: revisá que el número dé bien (Cartera Total ≈ 552.351 M).
🔒 La base es anónima
No tiene cédula, teléfono ni nombres: el cliente es un código como CLI000123 y el oficial, OF####. Los montos y la mora son reales, así que los resultados son de verdad, pero nadie queda identificado. Así se trabaja con datos sensibles.
Curso Power BI + DAX + IA · Proyecto 1: Cartera de Créditos · Quantux AI · MSc. Oscar González Frutos.
