Un fan out ocurre cuando unes con una tabla que tiene varias filas coincidentes por clave, así que cada fila de la izquierda se duplica y cualquier SUM sobre ella queda inflado. Es la causa más común de ingresos exagerados en un informe. Detéctalo contando filas antes y después del join, o comprobando si la clave de unión es realmente única en el lado derecho antes de agregar.
Por qué lo preguntan los entrevistadores
Produce números incorrectos que parecen creíbles, que es la peor clase de bug analítico, y normalmente solo lo pilla alguien de finanzas que conoce el total real. Los entrevistadores quieren un hábito proactivo de detección más que una definición, y a ser posible el patrón de preagregar el lado múltiple antes de unir.
Cómo estructurar tu respuesta
- Explica el mecanismo: un join uno a muchos duplicando filas de la izquierda.
- Muestra por qué los agregados se inflan en vez de dar error.
- Da el hábito de detección: conteos de filas antes y después.
- Verifica de forma explícita la unicidad de la clave en el lado de la unión.
- Ofrece el arreglo: agregar primero el lado múltiple y luego unir.
Ejemplo de respuesta
Si uno pedidos con líneas de pedido por order_id, y un pedido tiene cuatro líneas, esa fila de pedido aparece ahora cuatro veces. No falla nada, pero si luego sumo el total del pedido he cuadruplicado los ingresos de ese pedido. Es insidioso porque el número es plausible, solo que incorrecto, y quien lo encuentra suele ser finanzas tres semanas después. Mi costumbre es contar filas en la tabla base, ejecutar el join, volver a contar, y si el número cambió tengo que poder explicar por qué. También compruebo antes la unicidad de la clave de unión con un group by rápido y un having count mayor que uno, que cuesta diez segundos. El arreglo suele ser agregar el lado múltiple al grano que quiero antes de unir, así que sumo los ingresos por línea de cada pedido en una CTE y uno esa única fila por pedido con la cabecera. Eso mantiene el grano intacto y hace la consulta más fácil de razonar.
¿Tienes esta entrevista a la vuelta de la esquina? GhostPilot escucha tu llamada en vivo, detecta la pregunta en cuanto la hacen y pone una respuesta estructurada en tu pantalla en tiempo real. Pruébalo en tu próxima entrevista de práctica, o coge un Session Pass de $29, sin suscripción, para la de verdad.
Mira cómo funcionaPreguntas de seguimiento que puedes esperar
- ¿Cómo reescribirías una consulta con fan out para preservar el grano?
- ¿Por qué SELECT DISTINCT es un mal arreglo para esto?
- ¿Cómo detectarías esto en un panel que ha construido otra persona?
Más preguntas para Analista de datos
Tu entrevistador hará su propia versión de esta. Pega la descripción real del puesto en el Question Predictor gratuito y obtén las 20 preguntas que ese puesto tiene más probabilidades de hacerte, con lo que cada una busca en realidad.
Predecir mis preguntas