Advent of Code is now back for a limited time only! Complete as many challenges as you can to earn those badges you may have missed in December. Learn more about how to participate here!

Repositorio de Retos

¡Resuelve el reto, comparte tu solución y asciende en las jerarquías de nuestra Comunidad Alteryx!

Reto Semanal #185: ¡LEGO® mis Datos! (Parte II)

olacey
Alteryx Alumni (Retired)

Puedes encontrar la solución al reto de la semana pasada aquí.

 

Este reto nos llega de la mano de @Sebastian_Chaieb2. ¡Gracias por tu aporte Sebastián!

 

lego-Image.pngEste reto es una versión avanzada de nuestro reto anterior ¡LEGO® mis Datos! (#163). En esta iteración, usaremos los mismos conjuntos de datos para generar un informe; sin embargo, esta vez incorporaremos imágenes de modelos LEGO en nuestro informe.

 

A diferencia del anterior, en la aplicación que desarrollarás para este reto, incorporarás un menú desplegable que permitirá a los usuarios seleccionar una colección de LEGO. Además, un menú con una lista de años facilitará la elección de uno o varios años de lanzamiento.

 

A continuación, se detallan las tareas que debes completar para solucionar este reto:

 

Unión de los conjuntos de datos y creación de tablas:

Combina los conjuntos de datos para construir una tabla completa con las siguientes columnas:

  • Número de modelo (este es el ID del conjunto).
  • Nombre del modelo
  • Año de lanzamiento
  • Número de piezas
  • Nombre de la colección

 

Desarrollo de aplicaciones:

 

  1. Crea un menú desplegable donde el usuario pueda seleccionar un nombre de colección único:
    • Usa la columna Nombre de la colección de la tabla creada en el paso anterior.
    • Usa únicamente colecciones con 50 o más entradas de nombres de modelos.
    • Filtra nombres de colecciones que contengan puntos (.), comas (,) y barras diagonales (/).
  2. Diseña una función de cuadro de lista para que el usuario seleccione uno o varios años de lanzamiento:
    • Usa la columna Año de publicación de la tabla creada en el paso anterior.

Filtrado y Selección de Modelo:

 

Usa los datos de entrada que proporcionara el usuario de la aplicación para filtrar tu tabla y seleccionar los números de modelo correspondientes al nombre de la colección seleccionada por el usuario y los años de lanzamiento.

 

Recuperación automatizada de imágenes:

 

  1. Crea una macro por lotes para obtener imágenes de cada modelo del siguiente sitio web: https://brickset.com/search?query=31100&scope=All
  2. Modifica la dirección web utilizando esta estructura: 'https://brickset.com/search?query=' + tostring([Número de modelo]) + '&scope=All'olacey_0-1694014732564.png
  3.  Extrae el contenido de la página e implemente un filtro para identificar filas que contengan https://images.brickset.com/sets/images/ junto con el campo [Número de modelo].
  4. Extrae la ruta a la imagen (JPG) y el número de modelo (ya que a veces la página tendrá imágenes adicionales adjuntas).
  5. Usa un filtro para tomar solo el enlace de la imagen cuando [Número de modelo] = [Número de modelo extraído].
  6. Usa una segunda herramienta de descarga y descargue la imagen como un blob. (Si una imagen JPG muestra el error de que tiene un formato de blob incorrecto, utilice los parámetros de carga útil Content-Typ: application/png y Content-Disposition: adjunto).

olacey_1-1694014732566.pngolacey_2-1694014732567.png

 

Salida final y visualización del PDF:

El resultado final debe mostrarse al final de la aplicación como un archivo PDF.

 

 

Fuente de Datos: 

https://www.kaggle.com/datasets/rtatman/lego-database?resource=download

https://brickset.com/search/

 

 

Omaira Lacey
Instructional Designer