You are on page 1of 51

Excel

Una de las peculiaridades de Excel que lo hacen muy interesante como Sistema
Informacional es su enorme xito.
Es quizs la aplicacin de productividad (en el sentido ms general) ms
famosa y extendida de Office.
No slo se manejan millones de tablas Excel por innumerables empresas en el
mundo sino que muchos Sistemas de Informacin exportan sus datos a tablas
Excel o Excel puede importar tablas de los mismos.
Excel 2013 ha supuesto en este sentido una autntica revolucin a esta cmoda
situacin con la incorporacin de varios complementos muy potentes: Power
Pivot para tablas dinmicas y consultas elaboradas (lenguaje DAX) y Power
View junto a caractersticas muy novedosas como el anlisis rpido, las escalas
de tiempo y el relleno automtico.
Descargar Componente redistribuible del motor de base de datos
de Microsoft Access 2010 (http://www.microsoft.com/es-
es/download/details.aspx?id=13255)
-2-
Tablas Dinmicas en Excel
Es una de las peculiaridades de Excel que no tienen otras aplicaciones de hojas
de clculo (algunas como Zoho Reports la han incorporado ya).
Las tablas dinmicas nos permiten ver la misma informacin de muchas
formas diferentes, transformando tablas muy extensas en una representacin
de datos con sentido.
Se corresponden con las operaciones con totales de las bases de datos.
Si, por ejemplo, partimos de un libro con calificaciones de alumnos, cabra
preguntarnos: de entre los alumnos presentados, cul es el porcentaje de
suspensos, aprobados, notables, sobresalientes y matrculas de honor?.
Esta tcnica consiste en agrupar por el campo nota (literal) y contar el nmero
de registros con el mismo valor representando el resultado con % del total de
presentados.
-3-
Tablas Dinmicas en Excel
Las tablas dinmicas se encuentran en dos sitios: entre los botones del grupo
Tablas de la ficha Insertar y en la ficha Inicio de la ventana de Power Pivot (clic
sobre Administrar en el grupo Modelo de datos de la ficha Power Pivot).
Los grficos dinmicos no son ms que tablas dinmicas representadas en
forma de grfico:
-4-
Tablas Dinmicas en Power Pivot
Las tablas dinmicas de Power Pivot presentan una serie de caractersticas
avanzadas con respecto a las que generaramos con la ficha Insertar. Por lo tanto a
partir de ahora nos vamos a referir slo a tablas dinmicas con Power Pivot.
Power Pivot, entre otras cosas, permite realizar de forma muy rpida clculos sobre
extensas hojas con muchos datos.
Tambin podemos afirmar que Power Pivot permite administrar y modificar el
modelo de datos.
Power Pivot presenta tres caractersticas diferenciadoras en el tratamiento de tablas
dinmicas:
La posibilidad de que una tabla dinmica se base en un conjunto de tablas
mltiples (a diferencia de una sola tabla). Dichas tablas hay que
interrelacionarlas (como las de las bases de datos).
La mayor capacidad para contener grandes volmenes de datos (filas) dentro de
una misma hoja de clculo de Excel.
La utilizacin de un lenguaje muy potente de frmulas llamado DAX.
-5-
Power Pivot para Excel
Descargamos de la web TRABAJAN_EN_ALUMNOS.XLSX y hacemos Power
Pivot -> Administrar:
Con Power Pivot tendremos un libro Excel para ver las consultas y una ventana
donde importamos y realizamos diferentes anlisis de datos. Esto significa que
contaremos con todos los elementos propios de Excel, ms otros nuevos que
aade el complemento.
-6-
Relaciones entre tablas
Una novedad muy importante es que existe la posibilidad de interrelacionar las
tablas procedentes de muy diversas fuentes (donde el formato no tiene por qu
ser de tabla). El resultado se conoce como MODELO DE DATOS.
Aqu importaremos las tablas EMPLEADOS de EMPLEADOS.XLSX y
CLIENTES de CLIENTES.XLSX (desde la ventana de Power Pivot).
No hay nada mejor para consumir poca memoria que las columnas
inexistentes
Si queremos crear un modelo eficiente, miraremos antes de importar cada
columna y nos preguntaremos si contribuye positivamente al anlisis que
deseamos realizar. Posteriormente, podremos agregar columnas nuevas si las
necesitramos.
-7-
Relaciones entre tablas
As, sera conveniente en la segunda tabla prescindir de la columna OTRA
INFORMACIN (no vamos a utilizarla y los valores estn duplicados).
-8-
Relaciones entre tablas
La tabla EMPLEADOS contiene datos referentes a unos empleados de una
organizacin y CLIENTES las compras realizadas por clientes de unos grandes
almacenes.
La cuestin es que desde la ventana de Power Pivot podemos establecer una
interrelacin entre las dos tablas (en principio totalmente independientes)
utilizando el campo (comn aunque se llamen de distinta manera) dni (en
EMPLEADOS) y cliente (en CLIENTES).
Despus de establecer la interrelacin nos podremos plantear las consultas:
Cmo se llama el cliente (empleado) que ha comprado un artculo? cul es
su fecha de nacimiento? Cul es su sueldo por hora?
Estas preguntas suponen implcitamente que existe al menos una relacin entre
las dos tablas (ya que de otro modo sera inviable realizarlas).
-9-
Relaciones entre tablas
Si, desde la ficha Disear (de la ventana de Power Pivot) hacemos clic sobre el
botn Administrar relaciones obtendremos la ventana de dilogo:
De donde concluimos que no existe ninguna relacin entre las dos tablas.
Para llevar a cabo las consultas debemos crear una relacin con el botn Crear
Lgicamente el campo comn que estable dicha relacin ser el dni de
EMPLEADOS relacionado al cliente de CLIENTES:
-10-
Relaciones entre tablas
Ahora podemos escribir en una celda cualquiera de las columnas con
encabezado Agregar columna de la tabla CLIENTES (no en la de EMPLEADOS
ya que habra varias respuesta por fila y problemas de representacin del dato)
las frmulas:
(Escriba en la caja fx. Observe que un asistente le ayuda a rellenar la frmula.
Cierre el parntesis final)
=related(EMPLEADOS[empleado])
Para la consulta Cmo se llama el cliente que ha comprado un artculo?
related es la funcin DAX que nos devuelve el valor del campo en la tabla
interrelacionada (para cada cliente o dni, su nombre).
-11-
Relaciones entre tablas
=related(EMPLEADOS[fecha_nac])
Para cundo naci? y
=related(EMPLEADOS[sueldo_hora])
Para la consulta Cunto gana a la hora el empleado?
Establecer interrelaciones resulta ms interesante an para el caso de consultas
con totales o tablas dinmicas.
Un ejemplo lo tenemos en la consulta: cunto gan el empleado?
-12-
Relaciones entre tablas
Para ello deberemos agrupar por
empleado y sumar las horas totales.
Posteriormente aadiremos la
medida que devuelve el producto del
total de horas por sueldo_hora.
Para ello nos falta una tabla que
precisamente tenemos en la hoja
TRABAJAN_EN del libro con el que
estamos trabajando.
De nuevo esto nos demuestra la
versatilidad y potencia de Power
Pivot. Nos bastar con colocarnos
cualquier celda de la tabla (la A1 por
ejemplo) y hacer clic en el botn
Agregar a modelo de datos de la ficha
Power Pivot (encenderemos Mi tabla
tiene encabezados):
-13-
Relaciones entre tablas
Ahora procedemos a calcular el
nmero total de horas que ha
trabajado cada empleado.
Esto se obtiene por una tabla
dinmica donde agrupamos por
empleado y sumamos horas.
Haremos clic en Tabla dinmica (en
la ficha Inicio de la ventana de Power
Pivot y escogemos la primera opcin.
Luego veremos las otras opciones).
En el panel derecho tomando Tabla1
(que es TRABAJAN_EN) empujamos
dni_e a FILAS y horas a sumatorio
VALORES:
-14-
Relaciones entre tablas
Si interrelacionamos TRABAJAN_EN y EMPLEADOS podemos empujar
nombre en vez de dni_e y nos encontraremos con los nombres de los
empleados frente al nmero total de horas trabajadas (despus de establecer la
interrelacin haga clic en Actualizar todo de la ficha Power Pivot):
-15-
Relaciones entre tablas
Para calcular el sueldo total del empleado deberemos multiplicar el total de
horas por el sueldo hora.
Lo primero ser aadir el campo sueldo_hora, para lo que arrastramos dicho
campo a sumatorio VALORES (como es nico el sumatorio es el valor mismo).
Ahora agregamos un campo calculado a la tabla dinmica:
-16-
Relaciones entre tablas
Y escribimos la frmula: Con lo que tendremos:
-17-
Relaciones entre tablas
Esto tambin podramos haberlo hecho con la funcin DAX: relatedTable. A
diferencia de la funcin related, devuelve una tabla (por la que debe ser utilizada
como argumento de otra funcin) con las filas relacionadas con la actual.
Ahora la frmula en la correspondiente columna calculada no tiene por qu estar en
el lado muchos (de una relacin uno a muchos), sino que puede estar en cualquier
lado ya que al devolver una tabla y ser el argumento de una funcin que devolver
un valor, no habr problemas de representacin del dato.
Con todo ello podramos calcular el sueldo del empleado en EMPLEADOS como:
=sumx(relatedtable(TRABAJAN_EN);TRABAJAN_EN[horas])
Con lo que obtendremos el nmero total de horas trabajadas por el empleado.
Y:
=[total de horas]*[sueldo_hora ]
Con lo que obtendremos el sueldo del empleado (se ha llamado total de horas a la
columna calculada de la primera frmula).Ejemplo de la potencia del lenguaje DAX.
-18-
Relaciones entre tablas
Ahora podramos llevar el sueldo del cliente (empleado) a la tabla CLIENTES y
contestar a la pregunta : cunto gan el cliente? (muy interesante por temas
de morosidad si se niega a pagar un artculo financiado):
-19-
Columnas en tablas dinmicas
Si arrastramos a COLUMNAS el campo proyectos podramos conocer cuntas
horas ha trabajado el empleado en cada proyecto:
-20-
Columnas en tablas dinmicas
As, el empleado Corvina Lpez,
Mara de 44 horas 12 las emple en la
automatizacin de descarga y 32 en el
Estudio del cambio climtico en la
Antrtida.
Un ejemplo ms interesante lo
tendramos en el caso de que hubiese
varios registros (filas en la tablas) en
los que se repitiese el campo columna
(proyecto) en este ejemplo.
De esta manera tendramos dos
agrupamientos. De hecho en este
ejemplo tambin podramos arrastrar
el proyecto despus de nombre en el
campo FILAS y obtener el mismo
resultado ms compacto:
-21-
Columnas en tablas dinmicas
Otro ejemplo es la tabla REPLANTES importada de la base Arbolado urbano de
Sevilla.accdb (descrguela de la Web). Los campos son la fecha, el rbol, el
lugar y el nmero de rboles replantados para cada rbol.
La siguiente imagen muestra datos de la tabla indicada:
-22-
Columnas en tablas dinmicas
Si ahora nos planteamos el nmero de replantes en cada sitio:
Observamos que el COCO PLUMOSO se ha replantado en el mismo sitio en dos
ocasiones. Esto significa que tenemos dos agrupaciones: por rbol y por sitio.
-23-
Filtros en tablas dinmicas
Si ahora nos planteamos el nmero de replantes en cada sitio y en determinada
fecha podremos utilizar el campo FILTRO y arrastrar hasta el mismo la fecha.
As para los replantes en cada sitio del 1-1-81 al 1-6-81:
-24-
Filtros en las Tablas Dinmicas
Esto mismo (de manera mucho ms precisa y cmoda ) se consigue con las
segmentaciones.
En efecto, quitamos la fecha del filtro y hacemos clic en crear segmentaciones
de la ficha Analizar. Despus bastar con que seleccionemos las fechas
apuntadas (dejando presionada la tecla CTRL):
-25-
Filtros en las Tablas Dinmicas
El filtro se puede aplicar utilizando diferentes campos.
Por ejemplo, supongamos que queremos filtrar adems por lugar: slo en
Parque Mara Luisa y Avda. Luis Montoto (observamos que los resultados se
adaptan inmediatamente a los filtros que escojamos):
-26-
Escalas de tiempo
Cuando se trata de fechas es ms adecuado utilizar escalas de tiempo.
En efecto si volvemos atrs y en vez de crear una segmentacin de datos
hacemos clic en crear escala de tiempo podremos con el ratn manipular qu
escala de tiempo nos interesa filtrar:
Escogeremos visualizar las fechas por das.
-27-
Las Tablas Dinmicas con Power Pivot
Con Power Pivot las tablas y grficos dinmicos pueden ser de muchos ms
tipos que en Excel. En concreto podremos crear:
Tabla dinmica nica: una tabla dinmica en blanco en la hoja
actual o en una nueva.
Grfico dinmico nico: un grfico dinmico en blanco.
Tabla y grfico dinmicos en horizontal uno al lado de otro.
Estarn en blanco y son independientes aunque las segmentaciones
(filtros) de datos sern las mismas para ambos.
Tabla y grfico dinmicos en vertical. Igual que el anterior pero
coloca el grfico por encima de la tabla.
Dos grficos horizontales: igual que la tabla y el grfico en
horizontal.
Dos grficos verticales: igual que la tabla y el grfico en vertical.
Cuatro grficos (puestos formando un cuadrado. De forma similar a
los Cuadros de mando que veremos en el Tema VII).
-28-
Grficos dinmicos con Power Pivot
En ejemplos y ejercicios vistos
anteriormente podemos plantearnos
mostrar varios grficos obtenidos a
partir de tablas dinmicas, con el fin
de comparar resultados.
Esta es una cuestin que se ha
resuelto en Power Pivot incorporando
al botn PivotTable de la ventana
principal otras opciones antes de
generar la tabla dinmica.
Por ejemplo en la consulta ltima de
la tabla replantes podemos escoger
entre las opciones de PivotTable la de
grfico dinmico:
-29-
Grficos dinmicos con Power Pivot
Por ltimo obtener cuatro grficos segn se muestra en la imagen:
La escala de tiempo se refiere al segundo grfico.
-30-
Informes en Excel a partir de datos importados de otras
fuentes
Por ltimo, en esta seccin veremos cmo resulta muy potente y fcil
importar datos de otras fuentes a la ventana de Power Pivot para generar
informes a partir de los mismos.
El origen de los datos en Excel
Los datos pueden tener su origen en transcripciones que realizamos de datos
conocidos por diversos medios (prensa, libros, etc.); o que sencillamente hemos
generado a partir de hechos o problemas conocidos por nosotros.
Ya hemos visto el ejemplo de las tablas EMPLEADOS y TRABAJAN_EN que
contienen datos referentes a las horas trabajadas por diferentes empleados de
una pequea organizacin, y varias hojas resmenes con resultados globales.
Sin embargo, vivimos en el siglo de la Informacin y Excel, como no podra ser
de otra forma, nos facilita la importacin/exportacin de datos, de manera que
podremos disponer de ellos como si de datos propios se tratase (de hecho todos
los datos utilizados hasta ahora se han importado de tablas en Access).
-32-
Importando datos con Power Pivot
Power Pivot es, sobre todo, un entorno para importar y relacionar datos de muy
diversas fuentes (y elaborar informes con los mismos):
-33-
Importando listas desde archivos de texto
Los listados en archivos de texto son una manera muy extendida de almacn de
datos.
En general son datos provenientes de consultas que se han almacenado en
archivos de texto, separados por delimitadores como tabuladores, espacios,
comas o puntos y comas (a este tipo de archivos se les llama CSV o Comma-
Separated Values y son un tipo muy importante de archivos en muchas
aplicaciones). El separador suele ser una coma, un ; (muchas veces es
preferible a la coma ya que sta se confunde con la coma decimal).
Excel asume que la primera fila es la cabecera (aunque hay que activar la
correspondiente casilla de verificacin), y que los distintos campos estn
separados por el mismo delimitador .
Lo primero que haremos con un listado es prepararlo en el sentido de aadirle
una cabecera (si no la tiene) y establecer el delimitador (en general ser la
coma).
-34-
Importando listas desde archivos de texto
La siguiente imagen muestra un lista obtenida al importar el archivo csv
(habremos de buscarlo en el disco, como con las bases de datos Access, y a la
hora de importarlo decir que el delimitador es un punto y coma): suba
clientes.csv
Procedemos de forma similar a la vista para Access y desde la ventana principal
de Power Pivot hacemos obtener datos externos -> de texto y escoger la opcin
de archivos CSV (dese cuenta que hemos tenido que cambiar la primera fila).
-35-
Importando listas desde archivos de texto
Usaremos la primera fila como cabecera:
Con estos datos podremos realizar diferentes operaciones de manipulacin
(suponga que aade datos de archivos de texto, bases de datos y de otros libros
Excel, podra intentar vincular las tablas mediante campos en comn y realizar
clculos sorprendentes entre tablas que, en principio, no estn relacionadas).
-36-
Tablas con millones de registros
Por ltimo, es interesante que estudiemos el comportamiento de Power Pivot
cuando tiene que manejar tablas con millones de registros.
Para ello nos bajaremos de la web Power PivotDAXSamples.exe el archivo Excel:
Contoso Sample DAX Formulas.xlsx
Si abrimos la ventana Power Pivot observaremos que la tabla que representa
transacciones de ventas (sales) contiene casi tres millones y medio de registros!
Por otro lado, la tabla FactInventory, que almacena todas las transacciones de
inventario, son ms de ocho millones de registros!
-37-
Tablas con millones de registros
Observe que la hoja SalesBycoubtry contiene una tabla dinmica que resume el
monto en ventas agrupando por pases y por ao con una fragmentacin
vertical del medio por el que se ha efectuado la venta.
-38-
Tablas con millones de registros
Suponga ahora que le solicitan que calcule la media del monto de ventas por
ao.
Tendremos que colocar en las filas el ao (quitando el pas) y aadir una nueva
medida (el formato de la celda es personalizado escogiendo el adecuado):
-39-
Informes en InfoPath
La aplicacin para generar formularios de Office es InfoPath. En esta
seccin veremos cmo podemos crear formularios a partir de plantillas
diseadas para cargar los datos de bases de datos. Dichos formularios
pueden importarse posteriormente a un modelo Power Pivot.
Informes en InfoPath
Podemos utilizar InfoPath para acceder a datos almacenados en una base de
datos Access. Esto permitir obtener diferentes vistas externas (formularios) de
los datos de una base de datos.
Desde InfoPath no es posible modificar o aadir datos a una base de datos
Access. Para ello tendremos que utilizar los formularios que vimos en su
momento en Access.
En concreto, Vamos a utilizar dos vistas HORAS TOTALES PARA CADA
EMPLEADO y NMERO DE PROYECTOS ASIGNADOS A CADA
EMPLEADO para visualizar algunos datos relacionados con los empleados de
una base para una pequea organizacin.accdb (descargada de la web de la
asignatura).
-41-
Informes en InfoPath
En InfoPath para poder disponer de formularios que lean de una base de datos
Access, es necesario realizar una conexin a la misma (pueden realizarse varias
conexiones a una misma base de datos o a varias bases de datos).
Un detalle importante (una vez importada la consulta de la base de datos) es que,
por razones de seguridad, la plantilla en InfoPath correspondiente al formulario que
lee de bases de datos debe ser de plena confianza:
No hace falta firmarlo (aunque puede hacerse y crear una firma con crear
certificado).
-42-
Informes en InfoPath
A la hora de crear la plantilla no escogeremos el modelo formulario en blanco
sino Plantilla de formulario avanzado -> Bases de datos:
-43-
Informes en InfoPath
Al hacer doble clic en Base de datos, lo primero que se nos solicitar es una
base de datos para realizar la conexin:
-44-
Informes en InfoPath
Antes de importar la consulta (vista externa) de la base de datos hemos de
realizarla.
La consulta es horas totales para cada empleado (hay que hacerla antes como
parte del trabajo, si no la tiene ya hecha).
-45-
La plantilla pequea organizacin
De tal manera que al finalizar nuestra plantilla tendr el aspecto:
Borramos el botn de accin Nuevo registro ya que, segn hemos dicho, con
Access no se permite modificar los datos a partir de un formulario de InfoPath.
-46-
La plantilla pequea organizacin
Haga los cambios pertinentes para obtener:
-47-
La plantilla pequea organizacin
Por defecto, los campos para consultas (queryFields) se aaden en una seccin
opcional, mientras que el resultado de las consultas (dataFields) se incorporan
en una tabla extensible.
Ya podremos realizar consultas haciendo clic en Vista previa al final de la ficha
Inicio.
Hagamos la consulta horas trabajadas por el empleado Nez Murcia,
Leonardo (si no introduce ningn dato se mostrarn todos los registros).
Despus de escribir correctamente el nombre completo, haga clic en Ejecutar
consulta.
-48-
Vistas
Si ahora quisiramos ver los proyectos en que participa un empleado no
tenemos que hacer una plantilla nueva. Tan slo crearemos una nueva vista:
-49-
Vistas
A la nueva vista la llamamos nmero de proyectos asignados a cada empleado (se
puede renombrar la vista anterior como datos personales empleados).
Aqu importaremos la consulta nmero de proyectos asignados a cada empleado.
El aspecto puede ser algo parecido a (despliegue la pestaa campos y escoja la
conexin nueva):
No olvide desplegar la pestaa para que aparezcan los Datafields de esta segunda
consulta y poderlos arrastrar al panel central.
Observe que campos queryfields slo tiene la conexin principal (por lo que aqu no
hay botn de Ejecutar consulta. Esta se ejecuta directamente al activar la vista).
-50-
Vistas
Si publicamos el formulario (Publicar en la ficha Inicio) podremos establecer
previamente en las Propiedades de la Vista cul es la predeterminada.
Una vez publicado el formulario al hacer clic sobre l se abrir Infopath Filler
con el que slo podremos rellenar los datos en los controles correspondientes.
A diferencia de InfoPath Designer la aplicacin Filler no disea plantillas sino
que slo abre formularios.
Establecer como predeterminada esta segunda vista. De esta manera al abrirse
el formulario ser la vista por defecto.
-51-

You might also like