SlideShare una empresa de Scribd logo
REL30012

Lenguaje TSQL como aproximación a
escenarios BI
300
@enriquecatala

Enrique Catala Bañuls
ecatala@solidq.com

@
@SQSummit13

MCT – Microsoft Active Professional – Technical Ranger
COMUNICADO
EN CUMPLIMIENTO CON LA LEY 15/1999 DE PROTECCION DE DATOS DE
CARÁCTER PERSONAL, PONEMOS EN TU CONOCIMIENTO QUE

ESTA SESIÓN VA A SER GRABADA
POR SOLIDQ Y QUE ESTA GRABACIÓN PODRÍA SER UTILIZADA COMO MATERIAL
DE MARKETING Y HACERSE PUBLICA A TRAVÉS DE DIVERSOS MEDIOS, COMO
POR EJEMPLO NUESTRA PAGINA WEB.
TENIENDO EN CUENTA QUE TU IMAGEN PUEDE APARECER EN ESA GRABACIÓN,
SI NO DESEAS APARECER, ROGAMOS NOS LO COMUNIQUES POR LOS MEDIOS
QUE YA CONOCES.

2
Objetivos de la sesión
1.
2.
3.
4.

Agrupación de conjuntos
Funciones CUBE y ROLLUP
Pivotado de datos
Funciones analíticas en SQL Server 2012

3
DEMO
GROUPING SETS

7
Objetivos de la sesión
1.
2.
3.
4.

Agrupación de conjuntos
Funciones CUBE y ROLLUP
Pivotado de datos
Funciones analíticas en SQL Server 2012

8
DEMO
CUBE y ROLLUP

11
Objetivos de la sesión
1.
2.
3.
4.

Agrupación de conjuntos
Funciones CUBE y ROLLUP
Pivotado de datos
Funciones analíticas en SQL Server 2012

12
Pivotado de datos
PIVOT

Rotar datos desde filas a columnas
Permite agregar múltiples valores a un único
valor
k1

k2

c1

1

A

v1

1

B

v2

1

C

v3

2

A

v4

2

B

v5

2

C

k1

v6

PIVOT

A

B

C

1

v1

v2

v3

2

v4

v5

v6

13
Pivotado de datos
Caso práctico para Open Schema

Cada atributo almacenado en una fila aparte
PIVOT perfecto para representar datos y
manipular este escenario
-- OpenSchema
objectid
attribute
----------- --------1
attr1
1
attr2
1
attr3
2
attr2
2
attr3
2
attr4
2
attr5
3
attr1
3
attr2
3
attr3

val
----------ABC
10
2008-01-01
12.300
X
Y
14.700
XYZ
20
2009-01-01

PIVOT

-- Desired Result:
objectid
attr1 attr2
----------- ----- -----1
ABC
10
2
NULL 12.300
3
XYZ
20

attr3
---------2008-01-01
X
2009-01-01

attr4
----NULL
Y
NULL

14

attr5
-----NULL
13.700
NULL
Pivotar con GROUP BY
-- OpenSchema
objectid
attribute
----------- --------1
attr1
1
attr2
1
attr3
2
attr2
2
attr3
2
attr4
2
attr5
3
attr1
3
attr2
3
attr3

val
----------ABC
10
2008-01-01
12.300
X
Y
14.700
XYZ
20
2009-01-01

PIVOT

-- Desired Result:
objectid
attr1 attr2
----------- ----- -----1
ABC
10
2
NULL 12.300
3
XYZ
20

attr3
---------2008-01-01
X
2009-01-01

attr4
----NULL
Y
NULL

attr5
-----NULL
13.700
NULL

Agregación
SELECT objectid,
MAX(CASE WHEN attribute
MAX(CASE WHEN attribute
MAX(CASE WHEN attribute
MAX(CASE WHEN attribute
MAX(CASE WHEN attribute
FROM dbo.OpenSchema
GROUP BY objectid;

=
=
=
=
=

'attr1'
'attr2'
'attr3'
'attr4'
'attr5'

THEN
THEN
THEN
THEN
THEN

val
val
val
val
val

END)
END)
END)
END)
END)

AS
AS
AS
AS
AS

attr1,
attr2,
attr3,
attr4,
attr5

Distribución

Agrupación
(implícita)
15
Pivotar con operador PIVOT
-- OpenSchema
objectid
attribute
----------- --------1
attr1
1
attr2
1
attr3
2
attr2
2
attr3
2
attr4
2
attr5
3
attr1
3
attr2
3
attr3

val
----------ABC
10
2008-01-01
12.300
X
Y
14.700
XYZ
20
2009-01-01

PIVOT

-- Desired Result:
objectid
attr1 attr2
----------- ----- -----1
ABC
10
2
NULL 12.300
3
XYZ
20

Agrupación
(implícita)
SELECT objectid, attr1, attr2, attr3, attr4, attr5
FROM dbo.OpenSchema
PIVOT(MAX(val)
FOR attribute
IN([attr1],[attr2],[attr3],[attr4],[attr5])
) AS P;

attr3
---------2008-01-01
X
2009-01-01

attr4
----NULL
Y
NULL

attr5
-----NULL
13.700
NULL

Agregación

Distribución

16
Despivotado de datos
UNPIVOT

Rotar datos de columnas a filas
k1

A

B

1

v1

v2

v3

2

v4

v5

v6

k1

C

UNPIVOT

k2

c1

1

A

v1

1

B

v2

1

C

v3

2

A

v4

2

B

v5

2

C

v6

17
DEMO
PIVOT y UNPIVOT

19
Objetivos de la sesión
1.
2.
3.
4.

Agrupación de conjuntos
Funciones CUBE y ROLLUP
Pivotado de datos
Funciones analíticas en SQL Server 2012

20
Window functions
¿Por qué las necesitamos?

¿Qué pasa si queremos obtener la suma y
el valor de la columna? (group y detalle)
id_table
id_table

Select id_table, value,[sum(value)]
select sum(value) as
from table1 as [sum(value)]
sum(value)
from table1

value
value
1 1
1
2 2
1
2 2
2
3 3
1
3 3
2
3 3
3

sum(value)
1
1
2
1
2
3

1
SUM(value)
3
1
3
3
6
6
6
6

Msg 8120, Level 16, State 1, Line 1
Column 'table1.id_table' is invalid in the select list because it is not
contained in either an aggregate function or the GROUP BY clause.

En un motor relacional es correcta esta
aproximación?
21
Window functions
¿Por qué necesitamos window functions?

La solución pasa por usar la cláusula OVER
select id_table,
value,
sum(value) over(partition by id_table)
from table1
id_table

value
1
2
2
3
3
3

sum(value)
1
1
2
1
2
3

1
3
3
6
6
6

22
Window functions
Evolución

Cláusula OVER

23
Window functions
Desglose

Partitioning
Ordering

Slicing/framing

24
Window functions
Conceptos clave

Partition

UNBOUNDED
PRECEDING

CURRENT
ROW

UNBOUNDED
FOLLOWING
25
Window functions
Conceptos clave: Particion

Grupo de filas con
“características”
similares dentro de
un conjunto

actid

tranid
1
2
2
3
3
3

1
1
2
1
2
3

26
Window functions
Conceptos clave: Slicing/Framing

RANGE/ROWS
– ROWS | RANGE BETWEEN <B1> AND <B2>
– ROWS | RANGE <B1>

27
Window functions
Conceptos clave: Slicing/Framing

B1 and B2 can be
–
–
–
–

UNBOUNDED PRECEDING
UNBOUNDED FOLLOWING
CURRENT ROW
FOR ROWS ONLY

• <scalar expression> PRECEDING
• <sclara expression> FOLLOWING

Note

– B1 <= B2 or NULL will be returned

• Except in COUNT() that 0 will be returned

28
Window functions
Conceptos clave

Partition

UNBOUNDED
PRECEDING

CURRENT
ROW

UNBOUNDED
FOLLOWING
29
DEMO
Funciones analíticas

30
Conclusiones
Objetivos de la sesión

•
•
•
•

Agrupación de conjuntos múltiple
Conceptos CUBE y ROLLUP
Pivotado de datos
Funciones analíticas decentes en SQL
Server 2012

31
¿Preguntas?

32
¡Gracias!
@enriquecatala

Enrique Catalá
Mentor

Siéntate a comer con nosotros o tómate un café y aclara tus
dudas 

33
Si quieres disfrutar de las mejores sesiones de
nuestros mentores de España y Latino América,
ésta es tu oportunidad.
http://summit.solidq.com/madrid/
Síguenos:

34

Más contenido relacionado

Similar a Lenguaje tsql como aproximación a escenarios BI

Curso de Analista de Negocios con SAP Crystal Reports XI V Jul2015
Curso de Analista de Negocios con SAP Crystal Reports XI V Jul2015Curso de Analista de Negocios con SAP Crystal Reports XI V Jul2015
Curso de Analista de Negocios con SAP Crystal Reports XI V Jul2015
LPI ONG
 
Transact+Sql+2005
Transact+Sql+2005Transact+Sql+2005
Transact+Sql+2005
Fernando Chaves
 
Machine Learning en SQL Server
Machine Learning en SQL ServerMachine Learning en SQL Server
Machine Learning en SQL Server
Maximiliano Accotto
 
S ti ci_v1_201302
S ti ci_v1_201302S ti ci_v1_201302
S ti ci_v1_201302
Daniel Novoa
 
Base de Datos Grupo Los Informaticos
Base de Datos Grupo Los InformaticosBase de Datos Grupo Los Informaticos
Base de Datos Grupo Los Informaticos
PedroJunior178
 
BI para todos
BI para todosBI para todos
Sql server2008 Revision
Sql server2008 RevisionSql server2008 Revision
Sql server2008 Revision
ayudamejebuz
 
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...
Luis775803
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
JOSE AHIAS LOPEZ PORTILLO
 
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
Flat 101
 
Monitorización proactiva con performance data collectors
Monitorización proactiva con performance data collectorsMonitorización proactiva con performance data collectors
Monitorización proactiva con performance data collectors
Enrique Catala Bañuls
 
Caracteristicas de dbms_SQL SERVER 2008
Caracteristicas de dbms_SQL SERVER 2008Caracteristicas de dbms_SQL SERVER 2008
Caracteristicas de dbms_SQL SERVER 2008
Stalin Eduardo Tusa Vitar
 
Row level security en sql azure y en on premise
Row level security en sql azure y en on premiseRow level security en sql azure y en on premise
Row level security en sql azure y en on premise
SpanishPASSVC
 
Taller de Investigacion en Business Intelligence con MSSQL Server 2008R2
Taller de Investigacion en Business Intelligence con MSSQL Server 2008R2Taller de Investigacion en Business Intelligence con MSSQL Server 2008R2
Taller de Investigacion en Business Intelligence con MSSQL Server 2008R2
LPI ONG
 
Exposicion_Terabyte.pptx
Exposicion_Terabyte.pptxExposicion_Terabyte.pptx
Exposicion_Terabyte.pptx
DANIELSIMEONPEREZCRU
 
Manual-SQL1.pdf
Manual-SQL1.pdfManual-SQL1.pdf
Manual-SQL1.pdf
Jenny29068
 
Manual sql1
Manual sql1Manual sql1
Manual sql1
drianda
 
Manual sql1(1)
Manual sql1(1)Manual sql1(1)
Manual sql1(1)
SantiagoJoseBuitrago
 
F004 p006-gfpi guia de aprendizaje 1-fundamentosde sql
F004 p006-gfpi guia de aprendizaje 1-fundamentosde sqlF004 p006-gfpi guia de aprendizaje 1-fundamentosde sql
F004 p006-gfpi guia de aprendizaje 1-fundamentosde sql
Miguel Amgo
 
Curso de Analista de Negocios con SAP Crystal Report 2013 (Fundamentos)
Curso de Analista de Negocios con SAP Crystal Report 2013 (Fundamentos)Curso de Analista de Negocios con SAP Crystal Report 2013 (Fundamentos)
Curso de Analista de Negocios con SAP Crystal Report 2013 (Fundamentos)
Pedro Chavez
 

Similar a Lenguaje tsql como aproximación a escenarios BI (20)

Curso de Analista de Negocios con SAP Crystal Reports XI V Jul2015
Curso de Analista de Negocios con SAP Crystal Reports XI V Jul2015Curso de Analista de Negocios con SAP Crystal Reports XI V Jul2015
Curso de Analista de Negocios con SAP Crystal Reports XI V Jul2015
 
Transact+Sql+2005
Transact+Sql+2005Transact+Sql+2005
Transact+Sql+2005
 
Machine Learning en SQL Server
Machine Learning en SQL ServerMachine Learning en SQL Server
Machine Learning en SQL Server
 
S ti ci_v1_201302
S ti ci_v1_201302S ti ci_v1_201302
S ti ci_v1_201302
 
Base de Datos Grupo Los Informaticos
Base de Datos Grupo Los InformaticosBase de Datos Grupo Los Informaticos
Base de Datos Grupo Los Informaticos
 
BI para todos
BI para todosBI para todos
BI para todos
 
Sql server2008 Revision
Sql server2008 RevisionSql server2008 Revision
Sql server2008 Revision
 
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...
Microsoft Reactor - Creando un modelo de Regresión con Azure Machine Learnin...
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
 
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
Machine Learning Para Definir Clusters De Usuarios Y Acciones Concretas. Medi...
 
Monitorización proactiva con performance data collectors
Monitorización proactiva con performance data collectorsMonitorización proactiva con performance data collectors
Monitorización proactiva con performance data collectors
 
Caracteristicas de dbms_SQL SERVER 2008
Caracteristicas de dbms_SQL SERVER 2008Caracteristicas de dbms_SQL SERVER 2008
Caracteristicas de dbms_SQL SERVER 2008
 
Row level security en sql azure y en on premise
Row level security en sql azure y en on premiseRow level security en sql azure y en on premise
Row level security en sql azure y en on premise
 
Taller de Investigacion en Business Intelligence con MSSQL Server 2008R2
Taller de Investigacion en Business Intelligence con MSSQL Server 2008R2Taller de Investigacion en Business Intelligence con MSSQL Server 2008R2
Taller de Investigacion en Business Intelligence con MSSQL Server 2008R2
 
Exposicion_Terabyte.pptx
Exposicion_Terabyte.pptxExposicion_Terabyte.pptx
Exposicion_Terabyte.pptx
 
Manual-SQL1.pdf
Manual-SQL1.pdfManual-SQL1.pdf
Manual-SQL1.pdf
 
Manual sql1
Manual sql1Manual sql1
Manual sql1
 
Manual sql1(1)
Manual sql1(1)Manual sql1(1)
Manual sql1(1)
 
F004 p006-gfpi guia de aprendizaje 1-fundamentosde sql
F004 p006-gfpi guia de aprendizaje 1-fundamentosde sqlF004 p006-gfpi guia de aprendizaje 1-fundamentosde sql
F004 p006-gfpi guia de aprendizaje 1-fundamentosde sql
 
Curso de Analista de Negocios con SAP Crystal Report 2013 (Fundamentos)
Curso de Analista de Negocios con SAP Crystal Report 2013 (Fundamentos)Curso de Analista de Negocios con SAP Crystal Report 2013 (Fundamentos)
Curso de Analista de Negocios con SAP Crystal Report 2013 (Fundamentos)
 

Más de Enrique Catala Bañuls

Sql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverSql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql server
Enrique Catala Bañuls
 
Capas de acceso a datos .net escalables de verdad contra SQL Server
Capas de acceso a datos .net escalables de verdad contra SQL ServerCapas de acceso a datos .net escalables de verdad contra SQL Server
Capas de acceso a datos .net escalables de verdad contra SQL Server
Enrique Catala Bañuls
 
Paralelismo en SQL Server
Paralelismo en SQL ServerParalelismo en SQL Server
Paralelismo en SQL Server
Enrique Catala Bañuls
 
Aplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorAplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidor
Enrique Catala Bañuls
 
Técnicas avanzadas para resolver tus problemas de sql server
Técnicas avanzadas para resolver tus problemas de sql serverTécnicas avanzadas para resolver tus problemas de sql server
Técnicas avanzadas para resolver tus problemas de sql server
Enrique Catala Bañuls
 
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Enrique Catala Bañuls
 
Planes de ejecución 3.0 sql 2016 y v next
Planes de ejecución 3.0 sql 2016 y v nextPlanes de ejecución 3.0 sql 2016 y v next
Planes de ejecución 3.0 sql 2016 y v next
Enrique Catala Bañuls
 
Paralelismo en sql server
Paralelismo en sql serverParalelismo en sql server
Paralelismo en sql server
Enrique Catala Bañuls
 
Aplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorAplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidor
Enrique Catala Bañuls
 
Query store
Query storeQuery store
Planes de ejecucion 2016
Planes de ejecucion 2016Planes de ejecucion 2016
Planes de ejecucion 2016
Enrique Catala Bañuls
 
Sql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladoresSql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladores
Enrique Catala Bañuls
 
Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)
Enrique Catala Bañuls
 
Query store
Query storeQuery store
Planes de ejecucion 2
Planes de ejecucion 2Planes de ejecucion 2
Planes de ejecucion 2
Enrique Catala Bañuls
 
Planes de ejecucion 1
Planes de ejecucion 1Planes de ejecucion 1
Planes de ejecucion 1
Enrique Catala Bañuls
 
Migración a sql server 2016
Migración a sql server 2016Migración a sql server 2016
Migración a sql server 2016
Enrique Catala Bañuls
 
Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)
Enrique Catala Bañuls
 
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)
Enrique Catala Bañuls
 
Como leer planes de ejecución - edición 2015
Como leer planes de ejecución - edición 2015Como leer planes de ejecución - edición 2015
Como leer planes de ejecución - edición 2015
Enrique Catala Bañuls
 

Más de Enrique Catala Bañuls (20)

Sql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql serverSql server ha muerto, larga vida a sql server
Sql server ha muerto, larga vida a sql server
 
Capas de acceso a datos .net escalables de verdad contra SQL Server
Capas de acceso a datos .net escalables de verdad contra SQL ServerCapas de acceso a datos .net escalables de verdad contra SQL Server
Capas de acceso a datos .net escalables de verdad contra SQL Server
 
Paralelismo en SQL Server
Paralelismo en SQL ServerParalelismo en SQL Server
Paralelismo en SQL Server
 
Aplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorAplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidor
 
Técnicas avanzadas para resolver tus problemas de sql server
Técnicas avanzadas para resolver tus problemas de sql serverTécnicas avanzadas para resolver tus problemas de sql server
Técnicas avanzadas para resolver tus problemas de sql server
 
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
Capas de acceso a datos .NET escalables de verdad: el batido perfecto para el...
 
Planes de ejecución 3.0 sql 2016 y v next
Planes de ejecución 3.0 sql 2016 y v nextPlanes de ejecución 3.0 sql 2016 y v next
Planes de ejecución 3.0 sql 2016 y v next
 
Paralelismo en sql server
Paralelismo en sql serverParalelismo en sql server
Paralelismo en sql server
 
Aplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidorAplicando R al análisis de rendimiento de un servidor
Aplicando R al análisis de rendimiento de un servidor
 
Query store
Query storeQuery store
Query store
 
Planes de ejecucion 2016
Planes de ejecucion 2016Planes de ejecucion 2016
Planes de ejecucion 2016
 
Sql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladoresSql server 2016 novedades para desarrolladores
Sql server 2016 novedades para desarrolladores
 
Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)Dawarehouse como servicio en azure (sqldw)
Dawarehouse como servicio en azure (sqldw)
 
Query store
Query storeQuery store
Query store
 
Planes de ejecucion 2
Planes de ejecucion 2Planes de ejecucion 2
Planes de ejecucion 2
 
Planes de ejecucion 1
Planes de ejecucion 1Planes de ejecucion 1
Planes de ejecucion 1
 
Migración a sql server 2016
Migración a sql server 2016Migración a sql server 2016
Migración a sql server 2016
 
Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)Datawarehouse como servicio en azure (sqldw)
Datawarehouse como servicio en azure (sqldw)
 
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)
Como hacer tuning a capas de acceso a datos en .NET (dotNetConference2016)
 
Como leer planes de ejecución - edición 2015
Como leer planes de ejecución - edición 2015Como leer planes de ejecución - edición 2015
Como leer planes de ejecución - edición 2015
 

Último

Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
70244530
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
codesiret
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
Manuel Diaz
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
Modo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdfModo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdf
ranierglez
 
Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
Paola De la Torre
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDADEXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
AngelCristhianMB
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
cecypozos703
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
MiguelAtencio10
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
giampierdiaz5
 
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
MiguelAtencio10
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 

Último (20)

Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
Modo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdfModo test refrigeradores y codigos de errores 2018 V2.pdf
Modo test refrigeradores y codigos de errores 2018 V2.pdf
 
Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDADEXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
EXAMEN DE TOPOGRAFIA RESUELTO-2017 CURSO DE UNIVERSIDAD
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
 
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
Mantenimiento de sistemas eléctricos y electrónicosarticles-241712_recurso_6....
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 

Lenguaje tsql como aproximación a escenarios BI

  • 1. REL30012 Lenguaje TSQL como aproximación a escenarios BI 300 @enriquecatala Enrique Catala Bañuls ecatala@solidq.com @ @SQSummit13 MCT – Microsoft Active Professional – Technical Ranger
  • 2. COMUNICADO EN CUMPLIMIENTO CON LA LEY 15/1999 DE PROTECCION DE DATOS DE CARÁCTER PERSONAL, PONEMOS EN TU CONOCIMIENTO QUE ESTA SESIÓN VA A SER GRABADA POR SOLIDQ Y QUE ESTA GRABACIÓN PODRÍA SER UTILIZADA COMO MATERIAL DE MARKETING Y HACERSE PUBLICA A TRAVÉS DE DIVERSOS MEDIOS, COMO POR EJEMPLO NUESTRA PAGINA WEB. TENIENDO EN CUENTA QUE TU IMAGEN PUEDE APARECER EN ESA GRABACIÓN, SI NO DESEAS APARECER, ROGAMOS NOS LO COMUNIQUES POR LOS MEDIOS QUE YA CONOCES. 2
  • 3. Objetivos de la sesión 1. 2. 3. 4. Agrupación de conjuntos Funciones CUBE y ROLLUP Pivotado de datos Funciones analíticas en SQL Server 2012 3
  • 5. Objetivos de la sesión 1. 2. 3. 4. Agrupación de conjuntos Funciones CUBE y ROLLUP Pivotado de datos Funciones analíticas en SQL Server 2012 8
  • 7. Objetivos de la sesión 1. 2. 3. 4. Agrupación de conjuntos Funciones CUBE y ROLLUP Pivotado de datos Funciones analíticas en SQL Server 2012 12
  • 8. Pivotado de datos PIVOT Rotar datos desde filas a columnas Permite agregar múltiples valores a un único valor k1 k2 c1 1 A v1 1 B v2 1 C v3 2 A v4 2 B v5 2 C k1 v6 PIVOT A B C 1 v1 v2 v3 2 v4 v5 v6 13
  • 9. Pivotado de datos Caso práctico para Open Schema Cada atributo almacenado en una fila aparte PIVOT perfecto para representar datos y manipular este escenario -- OpenSchema objectid attribute ----------- --------1 attr1 1 attr2 1 attr3 2 attr2 2 attr3 2 attr4 2 attr5 3 attr1 3 attr2 3 attr3 val ----------ABC 10 2008-01-01 12.300 X Y 14.700 XYZ 20 2009-01-01 PIVOT -- Desired Result: objectid attr1 attr2 ----------- ----- -----1 ABC 10 2 NULL 12.300 3 XYZ 20 attr3 ---------2008-01-01 X 2009-01-01 attr4 ----NULL Y NULL 14 attr5 -----NULL 13.700 NULL
  • 10. Pivotar con GROUP BY -- OpenSchema objectid attribute ----------- --------1 attr1 1 attr2 1 attr3 2 attr2 2 attr3 2 attr4 2 attr5 3 attr1 3 attr2 3 attr3 val ----------ABC 10 2008-01-01 12.300 X Y 14.700 XYZ 20 2009-01-01 PIVOT -- Desired Result: objectid attr1 attr2 ----------- ----- -----1 ABC 10 2 NULL 12.300 3 XYZ 20 attr3 ---------2008-01-01 X 2009-01-01 attr4 ----NULL Y NULL attr5 -----NULL 13.700 NULL Agregación SELECT objectid, MAX(CASE WHEN attribute MAX(CASE WHEN attribute MAX(CASE WHEN attribute MAX(CASE WHEN attribute MAX(CASE WHEN attribute FROM dbo.OpenSchema GROUP BY objectid; = = = = = 'attr1' 'attr2' 'attr3' 'attr4' 'attr5' THEN THEN THEN THEN THEN val val val val val END) END) END) END) END) AS AS AS AS AS attr1, attr2, attr3, attr4, attr5 Distribución Agrupación (implícita) 15
  • 11. Pivotar con operador PIVOT -- OpenSchema objectid attribute ----------- --------1 attr1 1 attr2 1 attr3 2 attr2 2 attr3 2 attr4 2 attr5 3 attr1 3 attr2 3 attr3 val ----------ABC 10 2008-01-01 12.300 X Y 14.700 XYZ 20 2009-01-01 PIVOT -- Desired Result: objectid attr1 attr2 ----------- ----- -----1 ABC 10 2 NULL 12.300 3 XYZ 20 Agrupación (implícita) SELECT objectid, attr1, attr2, attr3, attr4, attr5 FROM dbo.OpenSchema PIVOT(MAX(val) FOR attribute IN([attr1],[attr2],[attr3],[attr4],[attr5]) ) AS P; attr3 ---------2008-01-01 X 2009-01-01 attr4 ----NULL Y NULL attr5 -----NULL 13.700 NULL Agregación Distribución 16
  • 12. Despivotado de datos UNPIVOT Rotar datos de columnas a filas k1 A B 1 v1 v2 v3 2 v4 v5 v6 k1 C UNPIVOT k2 c1 1 A v1 1 B v2 1 C v3 2 A v4 2 B v5 2 C v6 17
  • 14. Objetivos de la sesión 1. 2. 3. 4. Agrupación de conjuntos Funciones CUBE y ROLLUP Pivotado de datos Funciones analíticas en SQL Server 2012 20
  • 15. Window functions ¿Por qué las necesitamos? ¿Qué pasa si queremos obtener la suma y el valor de la columna? (group y detalle) id_table id_table Select id_table, value,[sum(value)] select sum(value) as from table1 as [sum(value)] sum(value) from table1 value value 1 1 1 2 2 1 2 2 2 3 3 1 3 3 2 3 3 3 sum(value) 1 1 2 1 2 3 1 SUM(value) 3 1 3 3 6 6 6 6 Msg 8120, Level 16, State 1, Line 1 Column 'table1.id_table' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. En un motor relacional es correcta esta aproximación? 21
  • 16. Window functions ¿Por qué necesitamos window functions? La solución pasa por usar la cláusula OVER select id_table, value, sum(value) over(partition by id_table) from table1 id_table value 1 2 2 3 3 3 sum(value) 1 1 2 1 2 3 1 3 3 6 6 6 22
  • 20. Window functions Conceptos clave: Particion Grupo de filas con “características” similares dentro de un conjunto actid tranid 1 2 2 3 3 3 1 1 2 1 2 3 26
  • 21. Window functions Conceptos clave: Slicing/Framing RANGE/ROWS – ROWS | RANGE BETWEEN <B1> AND <B2> – ROWS | RANGE <B1> 27
  • 22. Window functions Conceptos clave: Slicing/Framing B1 and B2 can be – – – – UNBOUNDED PRECEDING UNBOUNDED FOLLOWING CURRENT ROW FOR ROWS ONLY • <scalar expression> PRECEDING • <sclara expression> FOLLOWING Note – B1 <= B2 or NULL will be returned • Except in COUNT() that 0 will be returned 28
  • 25. Conclusiones Objetivos de la sesión • • • • Agrupación de conjuntos múltiple Conceptos CUBE y ROLLUP Pivotado de datos Funciones analíticas decentes en SQL Server 2012 31
  • 27. ¡Gracias! @enriquecatala Enrique Catalá Mentor Siéntate a comer con nosotros o tómate un café y aclara tus dudas  33
  • 28. Si quieres disfrutar de las mejores sesiones de nuestros mentores de España y Latino América, ésta es tu oportunidad. http://summit.solidq.com/madrid/ Síguenos: 34