Esta semana estamos trabajando con un pequeño conjunto de datos sobre las ventas de casas que deben categorizarse de acuerdo con ciertos contenedores deslizantes. Sin embargo, el problema es que los tamaños y la cantidad de contenedores pueden cambiar rápidamente.
El desafío es crear una función con un solo nombre que haga lo siguiente:
- Puede manejar tamaños de contenedores irregulares
- El primer parámetro debe ser la columna que informará sus contenedores (en este ejemplo, categorizamos según [precio])
- El segundo parámetro debe especificar los rangos de sus contenedores (recuerde, estos son contenedores desiguales, el contenedor 1 podría ser 1 – 400 y el contenedor 2 401 – 708, mientras que el contenedor 3 es 709 – 3000) cómo lo hace depende de usted: puede especificar límites inferiores, límites superiores, ambos, contar dentro de cada contenedor…
- Si usa SQL, como mínimo, debería poder manejar de 2 a 6 contenedores, si usa otros idiomas, los encontrará lo suficientemente flexibles como para permitirle hacer cualquier cantidad de contenedores
La consulta debe tener el siguiente aspecto:
SELECT sale_date,
price,
your_function(price,<bin_ranges>) AS BUCKET_SET1,
your_function(price,<bin_ranges>) AS BUCKET_SET2,
your_function(price,<bin_ranges>) AS BUCKET_SET3,
FROM home_sales;
A continuación, deberá pasar los siguientes rangos de contenedores/depósitos para fines de prueba:
- Cubo_Set1 :
- 1: 0 – 1
- 2: 2 – 310,000
- 3: 310001 – 400000
- 4: 400001 – 500000
- Cubo_Set2 :
- 1: 0 – 210000
- 2: 210001 – 350000
- Cubo_Set3 :
- 1: 0 – 250000
- 2: 250001 – 290001
- 3: 290002 – 320000
- 4: 320001 – 360000
- 5: 360001 – 410000
- 6: 410001 – 470001
Encontrará su código de configuración aquí
crear tabla home_sales (
sale_date date,
price number(11, 2)
);
insertar en home_sales (fecha_venta, precio) valores
('2013-08-01'::fecha, 290000.00),
('2014-02-01'::fecha, 320000.00),
('2015-04-01'::fecha , 399999.99),
('2016-04-01'::fecha, 400000.00),
('2017-04-01'::fecha, 470000.00),
('2018-04-01'::fecha, 510000.00);
Dados los depósitos anteriores, se deberían generar los siguientes resultados:
Recuerda que si deseas participar:
- Regístrate como miembro de Frosty Friday. Puedes hacerlo haciendo clic en la barra lateral y luego yendo a «REGISTRARSE» (ten en cuenta que unirte a nuestra lista de correo no te proporcionará una cuenta de Frosty Friday).
- Publica tu código en GitHub y asegúrate de que sea de acceso público (consulta nuestra guía si no sabes cómo hacerlo).
- Publica la URL en los comentarios del desafío.
Si tienes alguna pregunta técnica que te gustaría plantear a la comunidad, puedes hacerlo aquí, en nuestro hilo dedicado a estos retos.
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.