From 47c1e17ddbecb7d6c2dc45da76c5a229554ddf7f Mon Sep 17 00:00:00 2001 From: Gabriel Duarte <65737170+djgabriel93@users.noreply.github.com> Date: Wed, 24 Jun 2026 11:48:13 -0300 Subject: [PATCH] resolucao dos desafios --- 01_gd_sql-LooqboxDataChallenge.sql | 22 + 02-gd-Case1-datachallenge.ipynb | 340 ++++++++++++++++ 03-gd-Case2-datachallenge.ipynb | 555 +++++++++++++++++++++++++ 04-gd-Case3-datachallenge.ipynb | 629 +++++++++++++++++++++++++++++ datachallenge.pdf | Bin 0 -> 691000 bytes 5 files changed, 1546 insertions(+) create mode 100644 01_gd_sql-LooqboxDataChallenge.sql create mode 100644 02-gd-Case1-datachallenge.ipynb create mode 100644 03-gd-Case2-datachallenge.ipynb create mode 100644 04-gd-Case3-datachallenge.ipynb create mode 100644 datachallenge.pdf diff --git a/01_gd_sql-LooqboxDataChallenge.sql b/01_gd_sql-LooqboxDataChallenge.sql new file mode 100644 index 0000000..e25a281 --- /dev/null +++ b/01_gd_sql-LooqboxDataChallenge.sql @@ -0,0 +1,22 @@ +#1. What are the 10 most expensive products in the company? +SELECT PRODUCT_NAME, PRODUCT_VAL +FROM `looqbox-challenge`.data_product +ORDER BY PRODUCT_VAL DESC +LIMIT 10; + +#2. What sections do the 'BEBIDAS' and 'PADARIA' departments have? +SELECT DISTINCT DEP_NAME , SECTION_NAME +FROM `looqbox-challenge`.data_product +WHERE DEP_NAME IN ('BEBIDAS','PADARIA') +ORDER BY DEP_NAME, SECTION_NAME; + +#3. What was the total sale of products (in $) of each Business Area in the first quarter of 2019? +SELECT CAD.BUSINESS_NAME , SUM(SALES.SALES_VALUE) AS SALES_VALUE +FROM `looqbox-challenge`.data_store_sales AS SALES +LEFT JOIN `looqbox-challenge`.data_store_cad as CAD +ON SALES.STORE_CODE = CAD.STORE_CODE +WHERE SALES.DATE BETWEEN '2019-01-01' AND '2019-03-31' +GROUP BY CAD.BUSINESS_NAME +ORDER BY SUM(SALES.SALES_VALUE) DESC; + + diff --git a/02-gd-Case1-datachallenge.ipynb b/02-gd-Case1-datachallenge.ipynb new file mode 100644 index 0000000..1753c19 --- /dev/null +++ b/02-gd-Case1-datachallenge.ipynb @@ -0,0 +1,340 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "5ade6e06", + "metadata": {}, + "source": [ + "### Case 1\n", + "#### 1) The Dev Team was tired of developing the same old queries just varying the filters accordingly to their boss demands.\n", + "As a new member of the crew, your mission now is to create a dynamic function in Python, on the most flexible of ways, to produce queries and retrieve a dataframe based on three parameters:\n", + "\n", + "- product_code: integer\n", + "\n", + "- store_code: integer\n", + "\n", + "- date: list of ISO-like strings\n", + "\n", + "- Date e.g.\n", + " - ['2019-01-01', '2019-01-31']\n", + "\n", + "It should look like this\n", + "my_data = retrieve_data(product_code, store_code, date)\n", + "\n", + "Make your team proud!\n", + "\n", + "Extra instructions:\n", + "- Retrieve all columns from table data_product_sales;\n", + "- Imagine people from other teams will also utilize this function!" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "3e772ed3", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "from sqlalchemy import create_engine" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6959a8b8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
| \n", + " | STORE_CODE | \n", + "PRODUCT_CODE | \n", + "DATE | \n", + "SALES_VALUE | \n", + "SALES_QTY | \n", + "
|---|---|---|---|---|---|
| 0 | \n", + "1 | \n", + "18 | \n", + "2019-01-01 | \n", + "708.5 | \n", + "65.0 | \n", + "
| 1 | \n", + "1 | \n", + "18 | \n", + "2019-01-02 | \n", + "1297.1 | \n", + "119.0 | \n", + "
| 2 | \n", + "1 | \n", + "18 | \n", + "2019-01-03 | \n", + "1144.5 | \n", + "105.0 | \n", + "
| 3 | \n", + "1 | \n", + "18 | \n", + "2019-01-04 | \n", + "1090.0 | \n", + "100.0 | \n", + "
| 4 | \n", + "1 | \n", + "18 | \n", + "2019-01-05 | \n", + "893.8 | \n", + "82.0 | \n", + "
| \n", + " | STORE_CODE | \n", + "PRODUCT_CODE | \n", + "DATE | \n", + "SALES_VALUE | \n", + "SALES_QTY | \n", + "
|---|---|---|---|---|---|
| 0 | \n", + "1 | \n", + "18 | \n", + "2019-01-01 | \n", + "708.5 | \n", + "65.0 | \n", + "
| 1 | \n", + "1 | \n", + "18 | \n", + "2019-01-02 | \n", + "1297.1 | \n", + "119.0 | \n", + "
| 2 | \n", + "1 | \n", + "18 | \n", + "2019-01-03 | \n", + "1144.5 | \n", + "105.0 | \n", + "
| 3 | \n", + "1 | \n", + "18 | \n", + "2019-01-04 | \n", + "1090.0 | \n", + "100.0 | \n", + "
| 4 | \n", + "1 | \n", + "18 | \n", + "2019-01-05 | \n", + "893.8 | \n", + "82.0 | \n", + "
| ... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
| 85 | \n", + "1 | \n", + "18 | \n", + "2019-03-27 | \n", + "1308.0 | \n", + "120.0 | \n", + "
| 86 | \n", + "1 | \n", + "18 | \n", + "2019-03-28 | \n", + "1079.1 | \n", + "99.0 | \n", + "
| 87 | \n", + "1 | \n", + "18 | \n", + "2019-03-29 | \n", + "1002.8 | \n", + "92.0 | \n", + "
| 88 | \n", + "1 | \n", + "18 | \n", + "2019-03-30 | \n", + "741.2 | \n", + "68.0 | \n", + "
| 89 | \n", + "1 | \n", + "18 | \n", + "2019-03-31 | \n", + "741.2 | \n", + "68.0 | \n", + "
90 rows × 5 columns
\n", + "| \n", + " | STORE_CODE | \n", + "STORE_NAME | \n", + "START_DATE | \n", + "END_DATE | \n", + "BUSINESS_NAME | \n", + "BUSINESS_CODE | \n", + "
|---|---|---|---|---|---|---|
| 0 | \n", + "1 | \n", + "Sao Paulo | \n", + "2006-10-01 | \n", + "\n", + " | Varejo | \n", + "1 | \n", + "
| 1 | \n", + "2 | \n", + "Chicago | \n", + "2007-10-01 | \n", + "\n", + " | Varejo | \n", + "1 | \n", + "
| 2 | \n", + "3 | \n", + "Roma | \n", + "2008-10-01 | \n", + "\n", + " | Varejo | \n", + "1 | \n", + "
| 3 | \n", + "4 | \n", + "Tokio | \n", + "2009-10-01 | \n", + "\n", + " | Varejo | \n", + "1 | \n", + "
| 4 | \n", + "5 | \n", + "Paris | \n", + "2019-01-01 | \n", + "\n", + " | Proximidade | \n", + "2 | \n", + "
| \n", + " | STORE_CODE | \n", + "DATE | \n", + "SALES_VALUE | \n", + "SALES_QTY | \n", + "
|---|---|---|---|---|
| 0 | \n", + "1 | \n", + "2019-01-01 | \n", + "196623.22 | \n", + "12838 | \n", + "
| 1 | \n", + "10 | \n", + "2019-01-01 | \n", + "126795.44 | \n", + "4933 | \n", + "
| 2 | \n", + "11 | \n", + "2019-01-01 | \n", + "223937.00 | \n", + "7724 | \n", + "
| 3 | \n", + "12 | \n", + "2019-01-01 | \n", + "200251.80 | \n", + "7043 | \n", + "
| 4 | \n", + "13 | \n", + "2019-01-01 | \n", + "196623.22 | \n", + "12838 | \n", + "
| \n", + " | Loja | \n", + "Categoria | \n", + "TM | \n", + "
|---|---|---|---|
| 0 | \n", + "Bahia | \n", + "Atacado | \n", + "15.39 | \n", + "
| 1 | \n", + "Bangkok | \n", + "Posto | \n", + "13.67 | \n", + "
| 2 | \n", + "Belem | \n", + "Proximidade | \n", + "15.37 | \n", + "
| 3 | \n", + "Berlin | \n", + "Proximidade | \n", + "15.39 | \n", + "
| 4 | \n", + "Buenos Aires | \n", + "Atacado | \n", + "15.39 | \n", + "
| 5 | \n", + "Chicago | \n", + "Varejo | \n", + "15.53 | \n", + "
| 6 | \n", + "Dubai | \n", + "Atacado | \n", + "15.39 | \n", + "
| 7 | \n", + "Hong Kong | \n", + "Farma | \n", + "26.33 | \n", + "
| 8 | \n", + "London | \n", + "Farma | \n", + "28.96 | \n", + "
| 9 | \n", + "Madri | \n", + "Farma | \n", + "29.00 | \n", + "
| 10 | \n", + "Miami | \n", + "Posto | \n", + "13.67 | \n", + "
| 11 | \n", + "New York | \n", + "Proximidade | \n", + "15.39 | \n", + "
| 12 | \n", + "Paris | \n", + "Proximidade | \n", + "15.39 | \n", + "
| 13 | \n", + "Rio de Janeiro | \n", + "Farma | \n", + "29.56 | \n", + "
| 14 | \n", + "Roma | \n", + "Varejo | \n", + "15.39 | \n", + "
| 15 | \n", + "Salvador | \n", + "Atacado | \n", + "15.39 | \n", + "
| 16 | \n", + "Sao Paulo | \n", + "Varejo | \n", + "15.39 | \n", + "
| 17 | \n", + "Sidney | \n", + "Posto | \n", + "13.67 | \n", + "
| 18 | \n", + "Tokio | \n", + "Varejo | \n", + "15.39 | \n", + "
| 19 | \n", + "Vancouver | \n", + "Posto | \n", + "13.67 | \n", + "
| \n", + " | Id | \n", + "Title | \n", + "Genre | \n", + "Director | \n", + "Actors | \n", + "Year | \n", + "Runtime | \n", + "Rating | \n", + "Votes | \n", + "RevenueMillions | \n", + "Metascore | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "1 | \n", + "Guardians of the Galaxy | \n", + "Action,Adventure,Sci-Fi | \n", + "James Gunn | \n", + "Chris Pratt, Vin Diesel, Bradley Cooper, Zoe S... | \n", + "2014 | \n", + "121 | \n", + "8.0 | \n", + "757074 | \n", + "333.0 | \n", + "76.0 | \n", + "
| 1 | \n", + "2 | \n", + "Prometheus | \n", + "Adventure,Mystery,Sci-Fi | \n", + "Ridley Scott | \n", + "Noomi Rapace, Logan Marshall-Green, Michael Fa... | \n", + "2012 | \n", + "124 | \n", + "7.0 | \n", + "485820 | \n", + "126.0 | \n", + "65.0 | \n", + "
| 2 | \n", + "3 | \n", + "Split | \n", + "Horror,Thriller | \n", + "M. Night Shyamalan | \n", + "James McAvoy, Anya Taylor-Joy, Haley Lu Richar... | \n", + "2016 | \n", + "117 | \n", + "7.0 | \n", + "157606 | \n", + "138.0 | \n", + "62.0 | \n", + "
| 3 | \n", + "4 | \n", + "Sing | \n", + "Animation,Comedy,Family | \n", + "Christophe Lourdelet | \n", + "Matthew McConaughey,Reese Witherspoon, Seth Ma... | \n", + "2016 | \n", + "108 | \n", + "7.0 | \n", + "60545 | \n", + "270.0 | \n", + "59.0 | \n", + "
| 4 | \n", + "5 | \n", + "Suicide Squad | \n", + "Action,Adventure,Fantasy | \n", + "David Ayer | \n", + "Will Smith, Jared Leto, Margot Robbie, Viola D... | \n", + "2016 | \n", + "123 | \n", + "6.0 | \n", + "393727 | \n", + "325.0 | \n", + "40.0 | \n", + "
| \n", + " | Id | \n", + "Title | \n", + "Genre | \n", + "Director | \n", + "Actors | \n", + "Year | \n", + "Runtime | \n", + "Rating | \n", + "Votes | \n", + "RevenueMillions | \n", + "Metascore | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|---|
| 995 | \n", + "996 | \n", + "Secret in Their Eyes | \n", + "Crime,Drama,Mystery | \n", + "Billy Ray | \n", + "Chiwetel Ejiofor, Nicole Kidman, Julia Roberts... | \n", + "2015 | \n", + "111 | \n", + "6.0 | \n", + "27585 | \n", + "NaN | \n", + "45.0 | \n", + "
| 996 | \n", + "997 | \n", + "Hostel: Part II | \n", + "Horror | \n", + "Eli Roth | \n", + "Lauren German, Heather Matarazzo, Bijou Philli... | \n", + "2007 | \n", + "94 | \n", + "6.0 | \n", + "73152 | \n", + "18.0 | \n", + "46.0 | \n", + "
| 997 | \n", + "998 | \n", + "Step Up 2: The Streets | \n", + "Drama,Music,Romance | \n", + "Jon M. Chu | \n", + "Robert Hoffman, Briana Evigan, Cassie Ventura,... | \n", + "2008 | \n", + "98 | \n", + "6.0 | \n", + "70699 | \n", + "58.0 | \n", + "50.0 | \n", + "
| 998 | \n", + "999 | \n", + "Search Party | \n", + "Adventure,Comedy | \n", + "Scot Armstrong | \n", + "Adam Pally, T.J. Miller, Thomas Middleditch,Sh... | \n", + "2014 | \n", + "93 | \n", + "6.0 | \n", + "4881 | \n", + "NaN | \n", + "22.0 | \n", + "
| 999 | \n", + "1000 | \n", + "Nine Lives | \n", + "Comedy,Family,Fantasy | \n", + "Barry Sonnenfeld | \n", + "Kevin Spacey, Jennifer Garner, Robbie Amell,Ch... | \n", + "2016 | \n", + "87 | \n", + "5.0 | \n", + "12435 | \n", + "20.0 | \n", + "11.0 | \n", + "
| \n", + " | Year | \n", + "Rating | \n", + "Id | \n", + "
|---|---|---|---|
| 0 | \n", + "2006 | \n", + "7.272727 | \n", + "44 | \n", + "
| 1 | \n", + "2007 | \n", + "7.207547 | \n", + "53 | \n", + "
| 2 | \n", + "2008 | \n", + "6.846154 | \n", + "52 | \n", + "
| 3 | \n", + "2009 | \n", + "7.058824 | \n", + "51 | \n", + "
| 4 | \n", + "2010 | \n", + "6.883333 | \n", + "60 | \n", + "
| 5 | \n", + "2011 | \n", + "6.888889 | \n", + "63 | \n", + "
| 6 | \n", + "2012 | \n", + "6.937500 | \n", + "64 | \n", + "
| 7 | \n", + "2013 | \n", + "6.857143 | \n", + "91 | \n", + "
| 8 | \n", + "2014 | \n", + "6.887755 | \n", + "98 | \n", + "
| 9 | \n", + "2015 | \n", + "6.629921 | \n", + "127 | \n", + "
| 10 | \n", + "2016 | \n", + "6.474747 | \n", + "297 | \n", + "
}ZkC|@gXJ*AM_y#g)
z$_T+&wI7yI3qeS>2G0I|op>oT4ArpI!fh!(T208ku1o
zN5FqDHB)!9+L h WP
z*lt(27n}SlsS7AktOv+#f4t|m&bQpTeEI16i(|r^;3i3^)}lr)`^@b(z>@(X;p~Bo
z#)K>xq3p1>hCiuJz>O**lP
zx%??-P1y}>LRs1_539r9Do9l0*;TwK8QJYN4iX^4Tnn!euW^CrZh!yz6WtrR+9=rX
zR_5s41_7L3@Z;OVn}F_;-!$`mO1eoR!q6Xt
z(4Gw;eJ&`XhK~U5jx|lLAI!do=d^YwT^wC-L~KI5?LFG79X>kVQC+RbV{%M#&|zC;
zaM_6F7E_n7d3jhzd-g5j2M|O
Vz7WeAT!v|Y2l}Lrd!%}p
zK{>|koZSa|mwz>;Dc$h62?`uB?76^cAr`gOk$))od1J;jwINp3YcoUJLO%TFQ2C)D
z_`zf)HWsT8UNTqtm2ZbqAkjeIPk+5Ny1*6qTdOgvwVm&)!m4%e&Jt7==&7}_vh_61
z>VG=%cVcy^o|y;g#Ng;KWDt4=s_NX7uYd2_>s~+?puff
&-WJs$r@7L53s*t}C^c&50)`$3I&MR*o|b
zBURg^SgNkMr$dtWpFaCAIHpEh&;cbN7HSLa*TO*9X{k%bQHRA2FY4ZVQV5BU$nwJS
z-lQMF$At?ZaWedU^uoa?(vVDqvL4l;=e=wyj`{fU1yFHS*_UP49QBu~&0
YokIb6@P
z(zYutpBX5R)Inef^>XVh*bT7@90u5bFnJTPRqanh|Mm5lKT)wQP~EU}ws=MARJk&z
zy1Dm9#-ea2o-SC;?GM8pNL21|Ezgq9nqG6;^%0c0*#+%Ib4+XX#ht#GY%qgfO~T7(
zz>UNu;}K`o%8|Kj%>Y;^3aiy8QBj!jx<_^-bJ51y$