Data Analyst
Cuéntame sobre tu equipo: ¿cuántas personas hay y qué especialistas forman parte de él?
¿Qué tareas serían de su interés en un nuevo lugar de trabajo?
¿Cuál es la principal diferencia entre las funciones de ventana y las funciones de agregación con GROUP BY?
¿Cómo agregar un campo con un indicador calculado basado en un campo existente en DataFrame?
¿Cómo dejar solo las categorías cuya facturación total sea superior a 100 rublos?
¿Cuál es la diferencia entre HAVING y WHERE?
Es necesario escribir una consulta que devuelva los ingresos totales por cada categoría: |prod_cat |total_amt | |Categoría 1|80 | |Categoría 2|84 | |Categoría 3|270 | Hay una tabla de abonados con registros que llegaron en diferentes momentos. La fecha de carga del registro se define en el campo raw_dt: select * from abnt |id |msisdn |tarif_plan_id|account_id|raw_dt | |1 |[phone]|4375 |4979 |[phone]| |1 |[phone]|5842 |4979 |[phone]| |2 |[phone]|5842 |589783|[phone]| |2 |[phone]|4563 |5326 |[phone]| |2 |[phone]|4563 |0832 |[phone]| |3 |[phone]|4563 |0832 |[phone]| |3 |[phone]|5495 |7485 |[phone]| |3 |[phone]|4563 |0832 |[phone]| |3 |[phone]|4563 |0832 |[phone]| Se necesita escribir una consulta que devuelva la penúltima entrada cargada por clave id: |id |msisdn |tarif_plan_id|account_id|raw_dt | |1 |[phone]|5842 |4979 |[phone]| |2 |[phone]|4563 |0832 |[phone]| |3 |[phone]|4563 |0832 |[phone]| Hay una tabla de abonados con historial de cambios. Cada registro para un abonado es válido en el período desde valid_from_dt hasta valid_to_dt. Si un registro se cierra, el siguiente comienza en la misma fecha. Debe haber solo un registro activo por abonado en el intervalo [valid_from_dt, valid_to_dt]. select * from abnt |id |valid_from_dt|valid_to_dt|msisdn |tarif_plan_id|account_id| |1 |[phone] |[phone] |[phone]|4375 |4979 | |2 |[phone] |[phone] |[phone]|5842 |589783| |2 |[phone] |[phone] |[phone]|4563 |5326 | |3 |[phone] |[phone] |[phone]|4563 |0832 | Se necesita escribir una consulta que devuelva los registros con fechas de cierre incorrectas. |id |valid_from_dt|valid_to_dt|msisdn |tarif_plan_id|account_id| |2 |[phone] |[phone] |[phone]|5842 |4979 | |2 |[phone] |[phone] |[phone]|4563 |5326 | with ranked as ( select msisdn, tarif_plan_id, account_id, raw_dt, row_number() over (partition by id order by raw_dt desc) as rn ) select id, msisdn, tarif_plan_id, account_id, raw_dt from ranked where rn = 2 order by id
Es necesario escribir una consulta que devuelva la penúltima entrada cargada por la clave id: |id |msisdn |tarif_plan_id|account_id|raw_dt | |------------|-----------|-------------|----------|-----------| |[phone]|5842 |4979 |[phone]| |[phone]|4563 |0832 |[phone]| |[phone]|4563 |0832 |[phone]| Hay una tabla de abonados con historial de cambios. Cada registro por abonado es válido en el período desde valid_from_dt hasta valid_to_dt. Si un registro se cierra, el siguiente comienza en la misma fecha. Debe haber solo un registro activo para cada abonado en el intervalo [valid_from_dt, valid_to_dt]. select * from abnt |id|valid_from_dt|valid_to_dt|msisdn |tarif_plan_id|account_id| |--|-------------|-----------|-------------|-------------|----------| |1 |[phone] |[phone] |[phone] |4375 |4979 | |1 |[phone] |[phone] |[phone] |5842 |4979 | |2 |[phone] |[phone] |[phone] |4563 |5326 | |2 |[phone] |[phone] |[phone] |4563 |0832 | Es necesario escribir una consulta que devuelva los registros con fechas de cierre incorrectas. |id|valid_from_dt|valid_to_dt|msisdn |tarif_plan_id|account_id| |--|-------------|-----------|-------------|-------------|----------| |1 |[phone] |[phone] |[phone] |5842 |4979 | |2 |[phone] |[phone] |[phone] |4563 |5326 |
¿Tienes alguna pregunta para nosotros?
¿Cómo clasificar las ventas de productos que no encajan en ninguna categoría, en la categoría "Otros"?
¿Cómo agrupar valores por un campo y un indicador en Pandas?
¿Cómo filtrar un DataFrame por una condición?
Proponga un algoritmo para determinar el cumpleaños del suscriptor, teniendo solo el registro de llamadas y SMS: números entrantes y salientes, fecha y hora, duración y tipo de evento.
¿Cómo explica a los empleados con puntos de vista bastante tradicionales la necesidad de innovaciones y automatización?
¿Tiene un plazo para mudarse a Moscú, o está relacionado con la búsqueda de trabajo?
Cuéntenos más sobre su interés en los agentes de IA y la automatización, en particular sobre su experiencia participando en un proyecto de chatbot de IA: cómo se construyó la comunicación con el cliente y los desarrolladores.
Se presentan las tablas product (información sobre a qué categoría pertenece el producto en un intervalo de fechas especificado) y sale (datos de ventas del producto con la fecha de venta, precio por unidad y cantidad comprada): select * from product |prod_nm |prod_cat |eff_dt |exp_dt | |--------|---------|-----------|-----------| |Producto 1|Categoría 1|[phone]|[phone]| |Producto 1|Categoría 2|[phone]|[phone]| |Producto 2|Categoría 3|[phone]|[phone]| select * from sale |sale_dt |prod_nm |price|cnt| |----------|---------|-----|---| |[phone]|Producto 1|10 |5 | |[phone]|Producto 1|15 |2 | |[phone]|Producto 4|15 |2 | |[phone]|Producto 3|15 |2 | |[phone]|Producto 2|10.9 |300| |[phone]|Producto 1|12.7 |7 | Se necesita escribir una consulta que devuelva el ingreso total por cada categoría: |prod_cat |total_amt| |----------|---------| |Categoría 1|80 | |Categoría 2|84 | |Categoría 3|270 |
[nombre] cuéntanos sobre ti y en qué trabajas.
¿Cuál es la diferencia entre las funciones de ventana ROW_NUMBER, RANK y DENSE_RANK?
Cuéntame sobre un día típico de trabajo y el volumen de comunicación con el equipo (considerando que el equipo de soporte tiene alrededor de 10-12 personas).