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

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
 
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
 
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
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaJoellyAlejandraRodrg
 
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
 
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
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfJC Díaz Herrera
 
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
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaSilvia García
 
obras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffobras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffJefersonBazalloCarri1
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfJC Díaz Herrera
 
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdfAnaBelindaArmellonHi
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...israel garcia
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciaferg6120
 
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
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticJamithGarcia1
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalIngrid459352
 
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
 
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
 
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
 

Último (20)

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
 
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
 
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
 
Qué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problemaQué es un Histograma estadístico teoria y problema
Qué es un Histograma estadístico teoria y problema
 
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
 
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,
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).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
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y química
 
obras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffffobras-hidraulicas.docxfffffffffffffffffff
obras-hidraulicas.docxfffffffffffffffffff
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
 
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
2 PROCESO ESTADISTICO PARA LA INVESTIGACION.pdf
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescencia
 
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
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dental
 
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
 
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
 
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...)
 

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.