{"id":19873923,"url":"https://github.com/jimenacambronero/learndata","last_synced_at":"2025-05-02T10:30:48.186Z","repository":{"id":224935025,"uuid":"763581630","full_name":"JimenaCambronero/LearnData","owner":"JimenaCambronero","description":"Proyecto 4 para Unicorn Project: 🧹 Limpieza de datos - LearnData.🎯El objetivo de este proyecto Creación de una base de datos. Identificar y Corregir Inconsistencias. Detección y Eliminación de Duplicados. Normalización de Datos.","archived":false,"fork":false,"pushed_at":"2024-05-09T19:23:57.000Z","size":132,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T00:51:24.897Z","etag":null,"topics":["etl","mysql","mysql-database","sql"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JimenaCambronero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-26T15:05:43.000Z","updated_at":"2024-05-09T19:24:00.000Z","dependencies_parsed_at":"2024-11-12T16:21:21.166Z","dependency_job_id":"98fa59ea-41e0-468b-97e0-1318c01628a9","html_url":"https://github.com/JimenaCambronero/LearnData","commit_stats":null,"previous_names":["jimenacambronero/learndata"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JimenaCambronero%2FLearnData","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JimenaCambronero%2FLearnData/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JimenaCambronero%2FLearnData/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JimenaCambronero%2FLearnData/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JimenaCambronero","download_url":"https://codeload.github.com/JimenaCambronero/LearnData/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252023191,"owners_count":21682138,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["etl","mysql","mysql-database","sql"],"created_at":"2024-11-12T16:20:21.991Z","updated_at":"2025-05-02T10:30:47.840Z","avatar_url":"https://github.com/JimenaCambronero.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# LearnData\nProyecto 4 para Unicorn Project: 🧹 Limpieza de datos - LearnData\n\n# 📋Descripción del Proyecto\nEl proyecto de limpieza de datos con SQL tiene como objetivo principal mejorar la calidad y confiabilidad de los conjuntos de datos utilizados en las organizaciones. Los datos desempeñan un papel fundamental en la toma de decisiones y la generación de informes, por lo que es esencial garantizar que estén libres de errores, inconsistencias y duplicados. Por lo cual vamos a necesitar de tus conocimientos en SQL para realizar algunas tareas de impieza de datos para nuestro cliente LearnData.\n\n\n# 🎯El objetivo de este proyecto\nCreación de una base de datos.\nIdentificar y Corregir Inconsistencias.\nDetección y Eliminación de Duplicados.\nNormalización de Datos.\n\n# 📝Contexto\nLearnData es una empresa de e-learning dedicada a la venta de cursos online de análisis de datos. Su principal objetivo es:\nComenzar a construir una infraestructura tecnológica para analizar sus datos.\nLimpiar los datos para que los puedan consumir las áreas de negocio.\n\nUtiliza las siguientes herramientas para gestionar su negocio:\n\nStripe: Es una plataforma de procesamiento de pagos por internet, al igual que paypal.\nWocommerce: Es un plugin de wordpress que te permite convertir tu web a un sitio de ecommerce y vender productos\nWordpress: Es un sistema de gestión de contenidos(CMS), un software utilizado para construir, modificar y mantener sitios web\n\n# 🆘 El problema\nLearnData ha ido creciendo en la venta de sus cursos online y no tiene información de cuales son sus indicadores de ventas, por lo cual requiere comenzar a analizar sus principales métricas financieras, para determinar que productos tienen mayor venta, que tipo de clientes compran sus productos o cuales son los pagos que reciben por producto.\nEn este momento LearnData no tiene ningun sistema creado para poder capturar, analizar y tomar mejores decisiones y necesita tener una base de datos donde puedan ver y analizar esta información y a futuro crear un dashboard con los KPI para ver el rendimiento de su negocio de cursos online.\n\n# 🕵️ Habilidades Adquiridas\nCreemos que tienes las habilidades necesarias para llevar a cabo este proyecto ya que consideramos que estas preparado para realizar las siguientes actividades:\n✅  Creación de base de datos en MYSQL\n✅  Creación de tablas en MYSQL\n✅  Creación de Primary Keys\n✅  Insertar datos en un tabla en MYSQL\n✅  Seleccionar datos de un tabla en MYSQL\n✅  Seleccionar datos de un tabla en MYSQL\n✅  Transformación de datos en MYSQL\n✅  Funciones varias: CAST, REPLACE, DATE,RIGHT,CASE\n✅  Parseo de JSON con MYSQL\n\n# 🛠️Herramientas a utilizar\nEn este proyecto utilizaremos lenguaje de SQL y el gestor de base de datos MYSQL\n\n📶Conjunto de datos del proyecto\n\nDescripción de los dataset con los cuales vas a trabajar en este proyecto para que tengas la infomación de sus tablas y campos, esto es conocido como un diccionario de datos.\n\n👩‍💻Tabla raw_cliente_wocommerce:\nContiene información sobre los clientes\n\n📦Tabla raw_pedidos_wocommerce\nContiene información de los pedidos\n\n📚Tabla raw_productos_wocommerce\nContiene información sobre los productos\n\n💰Tabla raw_pagos_stripe\nContiene información sobre los pagos\n\n# Los datos\n🗃️ Base de datos .sql\n\n\n# 💡Desarrollo | Ejecución\nAnálisis previo del problema\n¿Que fuentes de datos tiene la empresa?\n\nLa empresa utiliza wordpress con un plugin de wocommerce como plataforma de venta de sus cursos online y luego cuenta con stripe como pasarela de pagos a de más de los pagos de tarjeta de crédito.\n\n¿En que formato se descargan los datos?\n\nLos datos crudos los tendremos en csv directamente descargados de las fuentes.\n\n¿Que datos tenemos?\n\nTenemos datos de los productos osea cursos que se venden, los clientes, de los pedidos y de los pagos recibidos por stripe.\n\nModelo de datos\n\nTenemos la tabla de pedidos que se relaciona con la de clientes y productos mediante SKU_producto e id_cliente y por otro lado tenemos la tabla la de pagos de stripe que la relacionaremos con la de pedidos por el numero de pedido.\nAnálisis exploratorio de las tablas.\n# ✍️Ejecución\nParte I - Creación de una nueva base de datos para almacenar las tablas + tablas\n\nCrear una nueva base de datos en MYSQL llamada “learndata” + tablas\n\nCrear la tabla de productos llamada dim_producto a partir de los datos en crudo.\n\nChequear como vienen los datos\n\nCambiar los nombres de los campos\n\nInsertar los campos a la nueva tabla\n\nCrear la tabla de clientes llamada dim_clientes a partir de los datos en crudo\n\nChequear como vienen los datos\n\nCambiar los nombres de los campos\n\nConvertir el campo date_created que viene como timestamp a solo fecha\n\nExtraer del campo billing, todos los descriptivos del cliente que necesitamos aprendiendo a parsear un JSON.\n\nInsertar los campos a la nueva tabla\n\nCrear la tabla de pedidos llamada fac_pedidos a partir de los datos en crudo\n\nChequear como vienen los datos\n\nCambiar los nombres de los campos\n\nSustituir el nombre del producto por el id.\n\nNormalizar la columna método de pago.\n\nConvertir a date la columna fecha_pedido\n\nRedondear decimales de la columna coste_articulo a enteros\n\nInsertamos los pedidos a la tabla\n\nCrear la tabla de cobros de stripe llamada fac_pagos_stripe a partir de los datos en crudo\n\nChequear como vienen los datos\n\nCambiar los nombres de los campos\n\nObtener el número de pedido con la función RIGHT. Quitar el número de pedido de la descripción que es lo que nos va a permitir unir esta tabla con otras\n\nPasar a timestamp el campo “created”\n\nReemplazar las commas por puntos\n\nConvertir el número a decimal con dos lugares después de la comma.\n\nInsertar tabla en nueva\n\nParte || - Limpieza de datos en tablas\n\nVerificar que no existan campos nulos, de existir reemplazar por un valor comodín (según el tipo de dato).\n\nRealizar una consulta que devuelva las fechas en diferentes formatos.\n\nVerificar que los tipos de datos de los campos PK son de tipo entero (int) en las tablas.\n\nValidar que se puedan realizar joins entre las tablas y analizar los resultados.\n\nGenerar duplicados ficticios en las tablas en crudo e intentar una carga en las tablas nuevas. Crear tabla de rechazos para conseguir una carga satisfactoria.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimenacambronero%2Flearndata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjimenacambronero%2Flearndata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimenacambronero%2Flearndata/lists"}