SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
Data Analysis for
Startups
¿Quién es este impostor?
jbarreneche
@jbarreneche
Datos, datos y más datos…
Registro de operaciones
Sistemas para análisis de
datos
Sistemas para análisis de
datos
Sistemas para análisis de
datos
2014
2013
2012
2011
2010
2009
Componentes principales
Aplicaciones
de BI
Datawarehouse
Sistema de
ETL
Sistema de ETLs
ETL
ETL
ETL
ETL
ETL
ETL
ETL
Framework de ETL
Planificación de la ejecución
• Latencia de información
• Agenda de ejecución
• Grafo de dependencias
• Ejecución en paralelo/serie
Framework de ETL
Tolerancia a fallas
• Idempotencia
• Reinicio desde un checkpoint
Framework de ETL
Abstracciones de fuentes y destinos de
información
ETL
ETL
ETL
ETL
Framework de ETL
Testeo
• Completitud
• Correcta transformación
• Integridad del procesamiento
Data Warehouse
• Base de datos relacional
• MySQL
• Postgresql
• MPP (Massive Parallel Processing)
• Redshift, BigQuery, Vertica
• Hadoop: Hive, Presto, Impala, Drill
• Spark: SparkSQL
Diseño del schema
“Atomic data that has not been aggregated is the
most expressive data”
Ralph Kimball (2013) The Data Warehouse Toolkit
Diseño del schema
Modelado dimensional!
• Tablas de hechos
• Tablas de dimensiones
Tablas de hechos
• Relación 1 a 1 de eventos real con entrada en la
tabla
• Columnas numéricas
• Relaciones con las tablas de dimensiones
• No registrar las no ocurrencias
Tablas de dimensiones
• Contienen el contexto asociado al evento medido
• Describen el “Qué, Quién, Cómo, Cuándo…”
• Normalmente poseen una clave única
• Fuente principal de los filtros, grupos y etiquetas
en las consultas
¿Qué nos queda?
Aplicaciones
de BI
Datawarehouse
Sistema de
ETL
Aplicaciones de BI
Open source
• re:dash
• Oculus
Aplicaciones de BI
• Chart.io (SaaS)
Análisis con SQL
id Name
1 Montevideo
2 Buenos Aires
date units amount region_id
2014-10-01 2 30 1
2014-10-02 1 20 2
2014-10-02 3 15 1
Sales Regions
Análisis con SQL
Consultas básicas
SELECT !
SUM(sales.units) AS `Total Units`!
FROM !
sales
Total Units!
-------------!
189593!
SELECT !
sales.units, COUNT(sales.units) AS `Sales Count`!
FROM !
sales!
GROUP BY!
sales.units
Units | Sales Count!
-------+-------------!
1 | 53323!
2 | 2343!
3 | 23
Análisis con SQL
Consultas básicas
SELECT !
regions.name AS `Region Name`, SUM(sales.units) AS
`Sales Total`!
FROM sales!
JOIN regions ON sales.region_id = regions.id!
GROUP BY!
regions.name
Region Name | Sales Total!
---------------+-------------!
Buenos Aires | 323!
Montevideo | 53323!
Análisis con SQL
Consultas de series de tiempo
select date(created_at) as day, count(1)!
from sales!
where created_at > now() - interval '30 day'!
group by day order by day;
day | count!
------------+-------!
2014-03-12 | 5!
2014-03-13 | 1!
2014-03-19 | 6!
2014-03-20 | 4!
2014-03-21 | 1!
2014-03-24 | 1!
2014-04-08 | 2!
2014-04-09 | 3!
(8 rows)!
Análisis con SQL
Consultas de series de tiempo
select date(d) as day,
count(sales.id) !
from generate_series(!
current_date - interval '30 day', !
current_date, '1 day'!
) d !
left join sales on
date(sales.created_at) = d !
group by day order by day;
day | count!
------------+-------!
2014-03-12 | 5!
2014-03-13 | 1!
2014-03-14 | 0!
2014-03-15 | 0!
2014-03-16 | 0!
2014-03-17 | 0!
2014-03-18 | 0!
2014-03-19 | 6!
2014-03-20 | 4!
2014-03-21 | 1!
2014-03-22 | 0!
2014-03-23 | 0!
2014-03-24 | 1!
...!
(31 rows)!
select dates.date as day,
count(sales.id) !
from dates!
left join sales on
date(sales.created_at) = date!
group by day order by day;
Análisis con SQL
Window functions
!
SELECT function() OVER ( !
[ PARTITION BY ... ]!
[ ROWS|RANGE BETWEEN ... ] !
)!
Análisis con SQL
SELECT !
regions.name, !
SUM(sales.units),!
SUM(sales.units) / (SUM(sales.units) over ())::float AS "% of sales"!
FROM sales!
INNER JOIN regions ON sales.region_id = regions.id!
GROUP BY 1!
Region Name | Sales Total | % of sales!
---------------+-------------+-----------!
Buenos Aires | 323 | 0.006!
Montevideo | 53323 | 99.994
Window functions
Análisis con SQL
CTE - Common Table Expresions
• CTEs son optimizadas por separado de la consulta
• Simplifican el armado de consultas en “etapas”
Más a hacer con SQL…
• Promedios acumulados
• Análisis de funnels
• Análisis de cohort
• Consultas sobre JSON data con HStore
¡¡Gracias!!

Más contenido relacionado

Similar a Data analysis for startups

Polybase y su uso en la integración de almacenes de datos
Polybase y su uso en la integración de almacenes de datosPolybase y su uso en la integración de almacenes de datos
Polybase y su uso en la integración de almacenes de datosSpanishPASSVC
 
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...SpanishPASSVC
 
Column stored index
Column stored index Column stored index
Column stored index SolidQ
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosJoseph Lopez
 
Sql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datosSql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datosSpanishPASSVC
 
Introducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseIntroducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseJoseph Lopez
 
BI real time analytics
BI real time analyticsBI real time analytics
BI real time analyticsSolidQ
 
Proyecto Semestral Base de Datos
Proyecto Semestral Base de DatosProyecto Semestral Base de Datos
Proyecto Semestral Base de DatosKristopher Marrero
 
Dimensionado y gestión del entorno virtual
Dimensionado y gestión del entorno virtualDimensionado y gestión del entorno virtual
Dimensionado y gestión del entorno virtualOmega Peripherals
 
Nuevos escenarios BI con SQL Server 2014
Nuevos escenarios BI con SQL Server 2014Nuevos escenarios BI con SQL Server 2014
Nuevos escenarios BI con SQL Server 2014Ruben Pertusa Lopez
 
Big Data Mining with Mahout
Big Data Mining with MahoutBig Data Mining with Mahout
Big Data Mining with MahoutSolidQ
 
Introducción a JOINS, CTE, APPLY y SUBCONSULTAS
Introducción a JOINS, CTE, APPLY y SUBCONSULTASIntroducción a JOINS, CTE, APPLY y SUBCONSULTAS
Introducción a JOINS, CTE, APPLY y SUBCONSULTASJulián Castiblanco
 
Indices Columnares en SQL Server 2014
Indices Columnares en SQL Server 2014Indices Columnares en SQL Server 2014
Indices Columnares en SQL Server 2014SpanishPASSVC
 
Microsoft Azure Data Environment
Microsoft Azure Data EnvironmentMicrosoft Azure Data Environment
Microsoft Azure Data EnvironmentJoseph Lopez
 
Mejores Prácticas de SQL Server para implementar SharePoint Server
Mejores Prácticas de SQL Server para implementar SharePoint ServerMejores Prácticas de SQL Server para implementar SharePoint Server
Mejores Prácticas de SQL Server para implementar SharePoint ServerSpanishPASSVC
 
Como empezar tu Carrera como Azure Data Engineer
Como empezar tu Carrera como Azure Data EngineerComo empezar tu Carrera como Azure Data Engineer
Como empezar tu Carrera como Azure Data Engineernnakasone
 
Dts y analysis services 2000
Dts y analysis services 2000Dts y analysis services 2000
Dts y analysis services 2000Salvador Ramos
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developersEnrique Catala Bañuls
 

Similar a Data analysis for startups (20)

Polybase y su uso en la integración de almacenes de datos
Polybase y su uso en la integración de almacenes de datosPolybase y su uso en la integración de almacenes de datos
Polybase y su uso en la integración de almacenes de datos
 
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
24 HOP edición Español - Patrones de escalalidad en microsoft azure sql datab...
 
Column stored index
Column stored index Column stored index
Column stored index
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de Datos
 
Sql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datosSql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datos
 
Introducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data WarehouseIntroducción a Microsoft Azure SQL Data Warehouse
Introducción a Microsoft Azure SQL Data Warehouse
 
BI real time analytics
BI real time analyticsBI real time analytics
BI real time analytics
 
Proyecto Semestral Base de Datos
Proyecto Semestral Base de DatosProyecto Semestral Base de Datos
Proyecto Semestral Base de Datos
 
Estimacion agil proyectos Software Scrum
Estimacion agil proyectos Software ScrumEstimacion agil proyectos Software Scrum
Estimacion agil proyectos Software Scrum
 
Estimacion agil proyectos Software Scrum
Estimacion agil proyectos Software ScrumEstimacion agil proyectos Software Scrum
Estimacion agil proyectos Software Scrum
 
Dimensionado y gestión del entorno virtual
Dimensionado y gestión del entorno virtualDimensionado y gestión del entorno virtual
Dimensionado y gestión del entorno virtual
 
Nuevos escenarios BI con SQL Server 2014
Nuevos escenarios BI con SQL Server 2014Nuevos escenarios BI con SQL Server 2014
Nuevos escenarios BI con SQL Server 2014
 
Big Data Mining with Mahout
Big Data Mining with MahoutBig Data Mining with Mahout
Big Data Mining with Mahout
 
Introducción a JOINS, CTE, APPLY y SUBCONSULTAS
Introducción a JOINS, CTE, APPLY y SUBCONSULTASIntroducción a JOINS, CTE, APPLY y SUBCONSULTAS
Introducción a JOINS, CTE, APPLY y SUBCONSULTAS
 
Indices Columnares en SQL Server 2014
Indices Columnares en SQL Server 2014Indices Columnares en SQL Server 2014
Indices Columnares en SQL Server 2014
 
Microsoft Azure Data Environment
Microsoft Azure Data EnvironmentMicrosoft Azure Data Environment
Microsoft Azure Data Environment
 
Mejores Prácticas de SQL Server para implementar SharePoint Server
Mejores Prácticas de SQL Server para implementar SharePoint ServerMejores Prácticas de SQL Server para implementar SharePoint Server
Mejores Prácticas de SQL Server para implementar SharePoint Server
 
Como empezar tu Carrera como Azure Data Engineer
Como empezar tu Carrera como Azure Data EngineerComo empezar tu Carrera como Azure Data Engineer
Como empezar tu Carrera como Azure Data Engineer
 
Dts y analysis services 2000
Dts y analysis services 2000Dts y analysis services 2000
Dts y analysis services 2000
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
 

Último

17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docxmarthaarroyo16
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfGEINER22
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfIrapuatoCmovamos
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfluisccollana
 
que son los planes de ordenamiento predial POP.pptx
que son los planes de ordenamiento predial  POP.pptxque son los planes de ordenamiento predial  POP.pptx
que son los planes de ordenamiento predial POP.pptxSergiothaine2
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 
2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptxccordovato
 
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfCUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfEDUARDO MAMANI MAMANI
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitariachayananazcosimeon
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria deCalet Cáceres Vergara
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)estebancitoherrera
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfIrapuatoCmovamos
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechojuliosabino1
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicaciónJonathanAntonioMaldo
 
CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...jhoecabanillas12
 

Último (17)

17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdf
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
 
que son los planes de ordenamiento predial POP.pptx
que son los planes de ordenamiento predial  POP.pptxque son los planes de ordenamiento predial  POP.pptx
que son los planes de ordenamiento predial POP.pptx
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 
2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx
 
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfCUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria de
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derecho
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicación
 
CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...
 

Data analysis for startups

  • 2. ¿Quién es este impostor? jbarreneche @jbarreneche
  • 3. Datos, datos y más datos…
  • 7. Sistemas para análisis de datos 2014 2013 2012 2011 2010 2009
  • 8.
  • 11. Framework de ETL Planificación de la ejecución • Latencia de información • Agenda de ejecución • Grafo de dependencias • Ejecución en paralelo/serie
  • 12. Framework de ETL Tolerancia a fallas • Idempotencia • Reinicio desde un checkpoint
  • 13. Framework de ETL Abstracciones de fuentes y destinos de información ETL ETL ETL ETL
  • 14. Framework de ETL Testeo • Completitud • Correcta transformación • Integridad del procesamiento
  • 15. Data Warehouse • Base de datos relacional • MySQL • Postgresql • MPP (Massive Parallel Processing) • Redshift, BigQuery, Vertica • Hadoop: Hive, Presto, Impala, Drill • Spark: SparkSQL
  • 16. Diseño del schema “Atomic data that has not been aggregated is the most expressive data” Ralph Kimball (2013) The Data Warehouse Toolkit
  • 17. Diseño del schema Modelado dimensional! • Tablas de hechos • Tablas de dimensiones
  • 18. Tablas de hechos • Relación 1 a 1 de eventos real con entrada en la tabla • Columnas numéricas • Relaciones con las tablas de dimensiones • No registrar las no ocurrencias
  • 19. Tablas de dimensiones • Contienen el contexto asociado al evento medido • Describen el “Qué, Quién, Cómo, Cuándo…” • Normalmente poseen una clave única • Fuente principal de los filtros, grupos y etiquetas en las consultas
  • 20.
  • 21. ¿Qué nos queda? Aplicaciones de BI Datawarehouse Sistema de ETL
  • 22. Aplicaciones de BI Open source • re:dash • Oculus
  • 23. Aplicaciones de BI • Chart.io (SaaS)
  • 24. Análisis con SQL id Name 1 Montevideo 2 Buenos Aires date units amount region_id 2014-10-01 2 30 1 2014-10-02 1 20 2 2014-10-02 3 15 1 Sales Regions
  • 25. Análisis con SQL Consultas básicas SELECT ! SUM(sales.units) AS `Total Units`! FROM ! sales Total Units! -------------! 189593! SELECT ! sales.units, COUNT(sales.units) AS `Sales Count`! FROM ! sales! GROUP BY! sales.units Units | Sales Count! -------+-------------! 1 | 53323! 2 | 2343! 3 | 23
  • 26. Análisis con SQL Consultas básicas SELECT ! regions.name AS `Region Name`, SUM(sales.units) AS `Sales Total`! FROM sales! JOIN regions ON sales.region_id = regions.id! GROUP BY! regions.name Region Name | Sales Total! ---------------+-------------! Buenos Aires | 323! Montevideo | 53323!
  • 27. Análisis con SQL Consultas de series de tiempo select date(created_at) as day, count(1)! from sales! where created_at > now() - interval '30 day'! group by day order by day; day | count! ------------+-------! 2014-03-12 | 5! 2014-03-13 | 1! 2014-03-19 | 6! 2014-03-20 | 4! 2014-03-21 | 1! 2014-03-24 | 1! 2014-04-08 | 2! 2014-04-09 | 3! (8 rows)!
  • 28. Análisis con SQL Consultas de series de tiempo select date(d) as day, count(sales.id) ! from generate_series(! current_date - interval '30 day', ! current_date, '1 day'! ) d ! left join sales on date(sales.created_at) = d ! group by day order by day; day | count! ------------+-------! 2014-03-12 | 5! 2014-03-13 | 1! 2014-03-14 | 0! 2014-03-15 | 0! 2014-03-16 | 0! 2014-03-17 | 0! 2014-03-18 | 0! 2014-03-19 | 6! 2014-03-20 | 4! 2014-03-21 | 1! 2014-03-22 | 0! 2014-03-23 | 0! 2014-03-24 | 1! ...! (31 rows)! select dates.date as day, count(sales.id) ! from dates! left join sales on date(sales.created_at) = date! group by day order by day;
  • 29. Análisis con SQL Window functions ! SELECT function() OVER ( ! [ PARTITION BY ... ]! [ ROWS|RANGE BETWEEN ... ] ! )!
  • 30. Análisis con SQL SELECT ! regions.name, ! SUM(sales.units),! SUM(sales.units) / (SUM(sales.units) over ())::float AS "% of sales"! FROM sales! INNER JOIN regions ON sales.region_id = regions.id! GROUP BY 1! Region Name | Sales Total | % of sales! ---------------+-------------+-----------! Buenos Aires | 323 | 0.006! Montevideo | 53323 | 99.994 Window functions
  • 31. Análisis con SQL CTE - Common Table Expresions • CTEs son optimizadas por separado de la consulta • Simplifican el armado de consultas en “etapas”
  • 32.
  • 33. Más a hacer con SQL… • Promedios acumulados • Análisis de funnels • Análisis de cohort • Consultas sobre JSON data con HStore
  • 34.