You are on page 1of 178

Notas mas

Cargando una tabla en el power query

Para archivos excel

Buscando la tabla a cargar


En el navigator del power query especificar va a ser la conexin del archivo, se va a cargar la tabla
en el programa o solo va a crearse una conexin,
Otra ruta
Con el botn edit del mismo panel
Ventana resultante
Especificar si se carga la tabla o solo se convierte en conexin.

El resultado es la misma ventana similar a la otra ruta.

Combinar Mltiples archivos con Power Query


May 6, 2016 | Publicado por Fabian Torres | Anlisis de Datos, Power Query | 4 comentarios
Saludos a todos
El da de hoy vamos a seguir descubriendo la versatilidad que tiene Power Query para Importar,
Transformar y Cargar datos, y a partir de ello construir soluciones que sean fciles de actualizar, pero
con mucho potencial para analizar escenarios, todo a travs del comando Anexar en Power Query, as
que empecemos con el ejemplo.
Ejemplo: Ingresos Mltiples Tiendas
Nuestro objetivo, es crear un reporte con diferentes perspectivas sobre los ingresos obtenidos en
diferentes tiendas de una misma cadena de supermercados, a continuacin puedes ver la informacin que
nos ha suministrado cada una de las tiendas con los ingresos obtenidos da a da hasta el mes de marzo.
Como podrs intuir, debemos unificar todas las tablas, en una tabla maestra por as decirlo, la
manera tradicional consiste en copiar y pegar las tablas una debajo de la otra directamente en una hoja de
Excel y de esta manera preparar los datos de origen para el reporte, sin embargo, este mtodo puede resultar
muy tedioso y adicionalmente estaremos ms propensos a cometer errores y arruinar la integridad de los
datos, aunque por fortuna, contamos con Power Query.
Solucin
1. Importar (Extract) a Power Query
En la pestaa Power Query (Grupo Obtener y transformar en Excel 2016), nos dirigimos al grupo Obtener
Datos Externos, damos clic en Desde un Archivo, y luego seleccionamos la opcin Desde Texto.

Posterior a ello, identificamos la ubicacin del archivo en el computador y presionamos Aceptar.


Automticamente aparece el Editor de Consultas, el lugar donde la magia ocurre, con nuestra tabla
cargada y con algunas modificaciones aplicadas directamente por Power Query.

Nota: En el panel configuracin de consulta podemos ver las modificaciones aplicadas a la tabla,
en Pasos Aplicados, si seleccionamos algn paso, nos muestra como estaba la tabla sin hacer dicha
modificacin.
2. Transformacin en el Editor de Power Query
(Transform)
Puesto que la columna fecha tiene el formato apropiado, solo basta con modificar el tipo de dato de la
columna Ingresos cambiandolo a Moneda: Clic derecho sobre la etiqueta de la columna Ingreso ->
Cambiar Tipo -> Moneda.

Por ultimo eliminamos la columna adicional, que NO est cumpliendo con ninguna funcin dentro del
anlisis: Clic derecho sobre la columna -> Quitar.
Nota: Recordemos que el nombre de la consulta, por defecto, ser el mismo que el del archivo de los
datos de origen, en este caso el archivo de texto.
3. Cargar (Load)
Para finalizar, damos clic en Cerrar y Cargar , e instantneamente aparecer en una nueva hoja del libro,
la tabla limpia, junto con el panel de consultas del libro.

Adicionalmente, tenemos que repetir el proceso ETL (Extraccin, Transformacin y Carga) para los
dos archivos restantes (Tienda B y Tienda C).
Anexar
Con las consultas y las tablas ya creadas, vamos a agregar una nueva consulta pero esta vez con un
procedimiento diferente: Pestaa Power Query > Grupo Combinar -> elegimos el Comando Anexar.

En el cuadro de dialogo Anexar elegimos como tabla principal (Tabla a la que vamos a anexar las dems
tablas) laTienda A, y la tabla que vamos a Anexar, es la de la Tienda B.
Para este ejemplo, vamos a dejar habilitada la Opcin Dos Tablas, y presionamos el botn Aceptar.
Consideraciones
Este mtodo solo permite anexar o combinar Consultas, NO Tablas Estructuradas.
La primera tabla que elegimos es a la que se le anexaran las dems tablas o datos.
Automticamente se abrir el editor de consultas con una nueva consulta que tiene por defecto el nombre
deAppend1, el cual vamos a sustituir por Tabla Maestra.

Damos clic en Cerrar y Cargar


En este momento, hemos creado una nueva consulta con los datos de la Tienda A y Tienda B, no obstante,
aun falta anexar la informacin de la Tienda C
En lugar de utilizar el comando Anexar en la pestaa Power Query, para crear una nueva consulta y as,
terminar de aadir los datos de la Tienda C, vamos a editar la consulta que recin hemos creado dando
doble clic izquierdo sobre su nombre en el panel de consultas.
En el editor de consultas, vamos a modificar la consulta Tabla Maestra anexando los datos de la Tienda
C : En el editor de consultas -> Pestaa Inicio -> Comando Combinar -> Elegimos la opcin Anexar
Consultas.
En el cuadro de dialogo Anexar, seleccionamos la consulta que hace falta por aadir, Tienda C, y
presionamos el botn Aceptar.

Damos clic en Cerrar y Cargar en el editor de consultas.


Ahora, en el panel de consultas del libro, podemos ver como el nmero de filas de la consulta Tabla
Maestra ha sido incrementado despus de anexar los datos de la tienda c.
Creacin de Reporte
A partir de la Tabla Estructurada que crea Power Query con la informacin unificada, vamos crear
una Tabla Dinmica: Celda Activa sobre la Tabla Maestra -> Pestaa Insertar -> Grupo Tablas ->
Comando Tabla Dinmica -> Nueva Hoja de Clculo -> Aceptar.
Posterior a ello, vamos a arrastrar el campo Sede al rea de Filas, el campo Fecha al rea de columnas, y
en el rea de valores el campo Ingresos.

Agrupamos por Mes el Campo Fecha Y obtenemos la siguiente tabla dinmica:


Ahora bien, vamos a agregar un Slicer utilizando el campo Categoria de Producto: Con la celda activa
sobre la tabla dinmica -> Pestaa Analizar -> grupo Filtrar -> comando Insertar Segmentacin de
Datos -> habilitamos el campo Categoria de Producto -> Aceptar.

Para finalizar, agregamos un grfico Dinmico: Con la celda activa sobre la tabla dinmica -> Pestaa
Analizar -> grupo Herramientas -> Grfico Dinmico.
Reajustamos las dimensiones del slicer y del grfico:
Y eso es todo lo que debemos hacer para crear nuestro reporte.
Actualizacin
Imagina que has terminado de construir tu reporte e inesperadamente debes agregar informacin adicional

de una cuarta tienda, la Tienda D.

Para ello, debemos repetir el Proceso de Extraccin, Transformacin y Carga de la consulta para la
Tienda D, posteriormente, debemos editar nuevamente la consulta maestra para Anexar los datos de la
Tienda D.
Al cerrar y cargar la consulta Tabla Maestra, con los datos de la Tienda D ya agregados, vamos a dirigirnos
a la hoja donde se encuentra nuestro reporte de tabla dinmica y en la pestaa Datos, vamos a dar clic en
el botn Actualizar Todo.
Y Bang todo el reporte se ha actualizado con un solo clic, una solucin muy sofisticada para
un problema muy comn como es la actualizacin de soluciones creadas en Excel.
Con este procedimiento podrs crear reportes que sean fciles de actualizar a travs del tiempo aumentando
tu productividad enormemente, lo cual te brinda la posibilidad de crear reportes bastante robustos e
igualmente flexibles.
Bueno por el da de hoy es todo, hasta la prxima.
Un Abrazo !!!
Entretejer o Relacionar Tablas Con Power Query
May 20, 2016 | Publicado por Fabian Torres | Anlisis de Datos, Power Query | 8 comentarios

Saludos Listo para algo de diversin con Power Query?


Apuesto a que si, Power Query es genial, aqui vamos:
Uno de los problemas ms comunes con los que tenemos que lidiar para crear poderosos reportes en
Excel, es el derelacionar mltiples tablas o bases de datos que provienen de orgenes diferentes.

Afortunadamente para nosotros, existe Power Query


En el pasado, debamos recurrir a funciones, procesos manuales largos o cdigo VBA para completar
la tarea efectivamente.
Te quiero recomendar dos caminos para Entretejer tablas en Excel, que te ahorrarn mucho tiempo
y harn tu trabajo ms productivo:
El primero de ellos, es a travs de Power Pivot y podrs ver el video en el siguiente enlace:
Relacionar tablas con Power Pivot
Y el segundo camino, es a travs de Power Query, una alternativa bien til y que resulta muy
productiva, as que empecemos con el ejemplo
Ejemplo : Tienda de Postres
Imagina que tienes el mejor trabajo del mundo en una Tienda de Postres y a partir de ahora te han
solicitado crear un reporte con las ventas de las diferentes sucursales del da anterior, todo enfocado en
la creacin de estrategias que ayuden a aumentar los ingresos de la tienda en general.
Para llevar a cabo esta misin, te han proporcionado el primer archivo de texto con toda la informacin
de las ventas consolidada, sin detallar la sucursal en la cual se realiz la venta.

Como puedes observar, el archivo no cuenta con el formato tabular apropiado:


Observa las dos primeras lneas, datos que no necesitamos, y si son mltiples archivo?, la limpieza sera
manual?, qu pasa si la tare es de todos los meses?:
Noooooooooooooooooooo!!!

Dont Panic! Power Query Esta Aqu para Ayudarnos


Debemos tener en cuenta que en el consolidado de ventas no se detalla ninguna informacin sobre los
productos vendidos en cada transaccin, y en consecuencia , tambin, se nos ha suministrado la siguiente
tabla estructurada en un archivo de Excel.

Para analizar no solo las unidades vendidas desde diferentes perspectivas, sino otras variables de negocio,
debemos relacionar las dos tablas a travs de Power Query por lo que vamos a empezar con nuestros
famoso proceso Extract Transform Load en Power Query.
Solucin
Archivo Consolidado de Ventas
1. Importar Tabla a Power Query (Extract)

Primero, debemos importar los datos consolidados de las ventas y crear una nueva consulta
En un nuevo libro de Excel -> Pestaa Power Query -> Grupo Obtener Datos Externos -> Desde un
Archivo -> Desde Texto -> En el cuadro de dialogo examinar elegimos la ubicacin del archivo de texto
-> damos clic en Aceptar.
Automticamente, aparece el editor de consultas con los datos del archivo conectados.

Como podrs observar, debemos transformar y limpiar la tabla Power Query Esta Aqu para

Ayudarnos, recuerdas!
2. Transformacin en Power Query (Transform)
Primero: Quitar columnas Innecesarias.
Clic derecho sobre la columna que contiene todos los datos -> en la lista desplegable que aparece Quitar
otras columnas.

Segundo: Eliminar primera columna


Clic izquierdo sobre la etiqueta de la columna -> Pestaa Inicio -> comando Reducir Filas -> opcin
Quitar Filas -> Quitar Filas Superiores -> y en el cuadro de dialogo Quitar Filas Superiores, indicamos
el npumero de filas de la parte superior que deseamos quitar, para este caso una solamente -> clic en
Aceptar.

Tercero: Dividir la Columna en varias columnas segn los datos del archivo de texto
Con la columna de los datos seleccionada -> Pestaa Inicio -> grupo Transformar -> clic en el comando
Dividir Columna -> y elegimos la opcin Por Delimitador.
Automticamente aparece el cuadro de dialogo Dividir columna por delimitador -> seleccionamos el tipo
de delimitador Personalizado, para este ejemplo, el delimitador es el signo menos ( ) -> habilitamos la
opcin En cada aparicin del delimitador -> Aceptar.

Cuarto: Usar la primera fila como encabezado


Pestaa Transformar -> grupo Tabla -> Comando Usar la primera fila como encabezado -> y damos
clic en la opcin del mismo nombre.
Quinto: reordenar las columnas, mover la columna fecha a la izquierda
Manteniendo presionada la etiqueta de la columna fecha con cliz izquierdo -> arrastramos la columna
hasta la primera posicin de la tabla ( de izquierda a derecha)

Sexto: Poner el tipo de dato apropiado a cada columna.


Clic derecho sobre la columna fecha -> Cambiar Tipo -> Fecha
Manteniendo CTRL presionado Clic izquierdo sobre la columna No de Transaccin y # de Unidades
Vendidas -> Cambiar Tipo -> Nmero Entero.

Sptimo: Quitar columna No. de Pedido


Clic derecho sobre la columna No de pedido -> Quitar
Nota: Los pasos como se ve en el panel, quedan registrados, por lo que podemos sistematizar este proceso
y, para futuras transformaciones slo tenemos quedar un nico clic. En un artculo posterior hablaremos
ms a fondo sobre esto. Dont Panic!
Manteniendo presionada la etiqueta de la columna fecha con cliz izquierdo -> arrastramos la columna
hasta la primera posicin de la tabla ( de izquierda a derecha)
3. Cargar (Load)
Para finalizar, vamos a dar clic en Cerrar y Cargar. Y automticamente se crea en una nueva hoja, una
tabla estructurada con los datos listos para ser utilizados.
Archivo Consolidado de Ventas
1. Importar Tabla Estructurada a Power Query (Extract)
Es necesario crear una consulta con la tabla estructurada Infoproductos:
Con la celda activa sobre la tabla -> Pestaa Power Query -> grupo Datos de Excel -> elegimos la
opcin Desde tabla.

Verificamos que la tabla tenga el tipo de dato apropiado en cada columna y que tenga una estructura
tabular y en ese caso, podemos saltar al tercer paso Cargar.
3. Cargar (Load)
En este paso haremos una pequea variacin con respecto a los dems artculos, en lugar de cargar los
datos en una tabla estructurada de Excel lo haremos como Conexin Solo Consulta.
Con la consulta lista para ser cargada nos dirigimos al comando cerrar y cargar -> en esta ocasin
elegimos la opcin Cerrar y Cargar en -> y en el cuadro de dialogo que aparece elegimos la opcin Solo
conexin.
Y como podemos observar en el panel de consultas del libro se crea la conexin sin tener que crear la tabla
nuevamente y duplicar informacin.
Nota: Existen tres tipos de carga en Power Query, las tablas estructuradas, Conexin Solo Consulta
y la carga directa en el modelo de datos, cada una tiene sus beneficios y complicaciones, sin embargo,
hoy no profundizaremos en este tema que sin duda es de gran importancia.
Para tener en cuenta:
Conexin Solo Consulta
Este mtodo de carga, evita la construccin de una tabla estructurada en una nueva hoja del libro, y
es ideal para evitar duplicar los datos, al cargar la consulta de esta manera, nos aseguramos de crear una
conexin a los datos, para poder trabajar con ellos en una solucin directamente en Excel o con otras
consultas.
Este procedimiento resulta ser muy til, sin embargo, solo podemos visualizarlas fcilmente en el panel
de consultas del libro y son muy poderosas para hacer nuestras soluciones ms eficientes al evitar duplicar
informacin, innecesariamente.

Y ahora algo de magia


Combinar en Power Query
Este comando es muy til para relacionar tablas, procedimiento que es completamente diferente
de Anexar, ya que en pocas palabras, el comando anexar une debajo de la consulta actual, otras consultas.
Por otro lado, el comando combinar relaciona o entreteje las tablas dada dos columnas, y por este mtodo
podemos crear relaciones entre tablas de tipo: muchos a muchos, en el vdeo 5 de la mini-sere:
Nociones en Power Pivot, se muestra este mtodo como opcin alterna a relacin muchos a muchos
en Power Pivot.
Para entretejer las consultas, vamos a ir a la pestaa Power Query y en el grupo combinar damos clic en
el comando del mismo nombre.
Elementos a definir en el cuadro de dialogo Combinar:
Definir Primer Tabla
En el cuadro de dialogo combinar -> elegimos en la primer tabla Consolidado de Ventas. Recordemos
que en la primera tabla, vamos a agregar las dems columnas dada la relacin.
Definir Segunda Tabla
En la segunda tabla, seleccionamos la tabla de Infoproductos que es la que contiene las columnas faltantes
y que son de nuestro inters, para el posterior anlisis.
Definir Columnas para Crear relacin.
En ambas tablas dentro del cuadro de dialogo, damos clic izquierdo sobre las columnas con los cdigos o
Id de producto. Debemos estar seguros que en una tabla se encuentren los Id de producto una sola vez y
en la otra tabla no importa si se encuentren repetidos o no, este tipo de relacin se denomina Uno a muchos.
Pero bueno para finalizar damos clic en Aceptar.
Automticamente, aparece el editor de consultas con una nueva consulta llamada Merge1.
En esta nueva consulta, se crea la tabla maestra o tabla relacionada.
Para mostrar las columnas faltantes, vamos dar clic en el botn de que aparece en la columna NewColumn,
con dos flechas en sentido contrario.

En la lista que aparece, debemos elegir que columnas de la tabla Infoproductos, queremos agregar a esta
tabla, para esta caso solo quitamos la columna Id de producto y adicionalmente, deshabilitamos la
opcin usar el nombre de la columna original como prefijo y damos clic en Aceptar.
Y mira lo que pasa a continuacin:

Se han agregado las otras columnas para crear una tabla maestra algo sencillamente espectacular y con tan
poco esfuerzo. Para finalizar, vamos a modificar el nombre de las columnas Id de producto y Nombre de
producto, as como el nombre de la consulta y damos clic en cerrar y cargar.
Y Bangggg
Se crea en una nueva hoja nuestra tabla maestra.
Para finalizar, vamos a crear una tabla dinmica y un grfico dinmico en una nueva hoja, ubicando en el
rea de filas, los campos producto y categora, en el rea de valores el campo # de Unidades Vendidas y
en el rea de filas el campo Fecha y este es el resultado que obtenemos.

Un reporte con toda la informacin de las unidades vendidas en el primer da de febrero, listo para ser
utilizado.
Nota: Hay un aspecto que quiero sear aqu, aunque el artculo enumero el proceso ETL dos veces, en
realidad es un nico proceso, pues se importan (Extract) las n-tablas a Power Query y se tranforman
para despus cargarlas. En el artculo lo enumeramos como si fueran dos veces, por la dinmica del
mismo.
Nota: Si quisieras agregar la informacin del segundo da al reporte, podras crear una nueva consulta
con dicha informacin, transformar y limpiar los datos, y luego ANEXAR la consulta del segundo da a
la del primero y posteriormente actualizar todo el reporte y de esta manera no tendras que repetir todo
el proceso para cada da, pero bueno, ms adelante veremos diferentes procedimientos para actualizar
informacin fcilmente con Power Query.
Bueno mi amig@
Por el da de hoy ha sido todo, espero que este articulo te resulte de mucha utilidad.
Hasta la prxima
Limpiar y Cargar datos en Power Pivot a travs de
Power Query
Abr 29, 2016 | Publicado por Fabian Torres | Anlisis de Datos, Power Pivot, Power Query, Tablas
Dinmicas | 8 comentarios

Hola Estimad@ Lector


Para darte una idea, Power Query tambin pertenece a la artillera pesada en nuestro arsenal de Excel; para
limpiar, integrar, estandarizar y transformar datos, que pueden ser utilizados en reportes u otro tipo de
soluciones creadas directamente en Excel o con ayuda de Power Pivot.
Todo el proceso de Importar, Transformar y Cargar datos (Proceso ETL -Extract Transform and Load-
) lo podemos realizar eficientemente con Power Query, sin tener que apoyarnos en VBA ni tampoco
funciones matriciales u otro tipo de habilidades que, para ser honesto requieren de mucha prctica y
nicamente pocos usuarios dominan a la perfeccin, pero veamos de qu se trata a travs del siguiente
ejemplo.
Ejemplo: Reporte de Ingresos 2007 2015
Nuestra misin, es crear un reporte sobre los ingresos obtenidos en los diferentes aos de la compaa,
para realizar esta labor, se nos ha proporcionado el siguiente archivo de texto:

Como podemos ver, el archivo de texto no sigue ciertos estndares (Formato tabular para que te des una
idea) ya que la primera fila contiene informacin que no es relevante para el anlisis, adicional a ello, lo
entorpece. En consecuencia es necesario hacer ciertas modificaciones
Solucin
1. Importar a Power Query (Extract) Datos desde el
archivo de Texto
Primero, abrimos un nuevo libro en Excel y nos dirigimos a la pestaa Power Query, all, en el
grupo Obtener Datos Externos damos clic en el comando Desde un Archivo y seleccionamos la
opcin Desde Texto.

Nota: Para la Versin de Excel 2013 Power Query es un complemento y no viene incorporado en Excel,
debe ser descargado, instalado y habilitado en complementos COM. Lo anterior difiere con la versin de
Excel 2016, debido a que Power Query pasa a ser una funcionalidad nativa de Excel y se encuentra en la
pestaa DATOS, grupo OBTENER Y TRANSFORMAR.
A continuacin, elegimos la ubicacin del archivo de texto en nuestro computador y presionamos Aceptar.
Automticamente, aparece el Editor de consultas o la interfaz propia de Power Query con la tabla
cargada y con ciertas modificaciones hechas.
Editor de Consultas: aqu limpiamos y transformamos la tabla de datos (Que en esencia es una copia de
los datos de origen, creada nicamente para facilitar el anlisis, por eso las modificaciones hechas solo se
ven reflejadas en la tabla de salida y no directamente en el origen de los datos).
Nota: El nombre de la consulta por defecto es el mismo del nombre del archivo de origen; es una muy
buena prctica darle un nombre descriptivo.
Power Query intuye que es un tipo de archivo de texto delimitado por caracteres, en especfico, las
columnas estn demarcadas por punto y coma (;), sin embargo, la primera fila y la ltima columna no son
necesarias as que debemos modificar nuestra Consulta.
Nota: en el panel Configuracin de la Consulta podemos modificar el nombre de la consulta o tabla de
salida que queremos obtener a travs de Power Query, as, como los pasos o modificaciones aplicados a
la tabla inicial o de origen.
2. Transformacin en el Editor de Power Query
(Tranform)
Primero, vamos a eliminar la ltima columna, dando clic izquierdo sobre su etiqueta para seleccionarla,
luego, clic derecho y en la lista de opciones que aparece elegimos Quitar.

Ahora, vamos a dirigirnos a la pestaa Inicio en el Editor de Consultas y damos clic en el


comando Reducir Filas y posteriormente Quitar Filas Superiores.
En el cuadro de dilogo que aparece, especificamos el nmero de filas superiores que deseamos quitar,
para este caso la primera fila y damos clic en Aceptar.
Adicionalmente, vamos a la pestaa Transformar y en el grupo Tabla damos clic en el comando Usar
la Primera Fila Como Encabezado y elegimos la opcin del mismo nombre.
Para finalizar la transformacin de los datos, vamos a modificar el Tipo de formato de la columna Ingresos
y la Columna Gastos (Manteniendo CTRL presionado, elegimos las etiquetas de la columna Ingreso y
Gastos con clic izquierdo -> clic derecho sobre alguna columna -> seleccionamos la opcin Cambiar
Tipo -> Nmero Entero).

Y eso es todo lo que debemos hacer para limpiar nuestros datos, observemos como la tabla ha sido
modificada y lista para ser cargada:
Pausemos un momento y veamos como en el rea de Pasos Aplicados quedan guardados los pasos de
modificacin que se han hecho en la tabla, para que al cargar nuevos datos en el origen, no se deba repetir
el proceso de transformacin sino que solo sea necesario actualizar la consulta algo increblemente
Productivo, solo piensa en esto Cunto tiempo gastamos al mes o a la semana limpiando y preparando
datos?
3. Cargar (Load)
Para cargar la tabla en el modelo de datos, nos dirigimos al comando Cerrar y Cargar y elegimos la
opcin Cerrar y Cargar En.
En el cuadro de dialogo Cargar En, elegimos donde queremos cargar la tabla limpia y lista para ser
utilizada, ya sea directamente al modelo de datos (Power Pivot) o como una Tabla Estructurada en
Excel, para este caso la primera opcin.

Por eso debemos habilitar las opciones Crear solo conexin y Agregar Estos al Modelo de Datos, para
finalizar damos clic en Aceptar y as de fcil cargamos la consulta en el Modelo de Datos.
4. Crear Reporte Tabla Dinmica
Para resumir la informacin y poder analizarla, vamos a crear un reporte de tabla dinmica utilizando la
Consulta que recin hemos creado: Pestaa Insertar > Grupo Tablas -> Tabla Dinmica -> en el cuadro
de dialogo Crear Tabla Dinmica habilitamos la opcin -> Utilice una fuente de datos Externa -> Damos
clic en el Botn Elegir Conexin.
Al presionar el botn Elegir Conexin aparece el cuadro de dialogo Conexiones Existentes donde
debemos elegir el nombre de la consulta y presionamos el botn Aceptar.
Nuevamente damos Aceptar en el cuadro de Dialogo Crear Tabla Dinmica y ahora aparece el rea para
construir una tabla dinmica junto con el panel de consultas y el panel de campos de una tabla dinmica.

Ahora vamos a mover al rea de filtros, el campo Ao, al rea de filas el campo Mes, y al rea de valores
los campos Ingresos y costos.
Para hacer el reporte ms robusto crearemos una Medida en Power Pivot que me determine el promedio
de ingresos.
Seleccionamos la pestaa Power Pivot de Excel, grupo Clculos y en la lista Campos Calculados
elegimos la opcinNuevo Campo Calculado.

En el cuadro de dialogo Campo Calculado vamos a crear la medida:


=AVERAGE(Ingresos[Ingresos])
Comprobamos la formula y damos clic en Aceptar
En el panel de campos de nuestra tabla dinmica aparece la nueva medida, adicionalmente, vamos a
agregarla al rea de valores.
Y de esta forma hemos finalizamos la creacin del reporte, evitando que se convierta en un dolor de cabeza
la transformacin y preparacin de los datos, adicionalmente, observa como Power Pivot trabaja en

armona con Power Query,una pareja explosiva! -y hay ms


Por el da de hoy eso es todo, hasta la prxima publicacin.
Un Abrazo, su amigo y servidor
Crear reporte en Power View con una Expresin DAX
Jul 14, 2016 | Publicado por Fabian Torres | Anlisis de Datos, Power Pivot, Visualizacin de Datos
| 0 comentarios
Saludos a tod@s
El da de hoy continuaremos con el ejemplo Desempeo de Vendedores del artculo anterior
denominado Rellenar y Reemplazar con Power Query. Es por eso, que seguiremos construyendo un
ejemplo de modelo de anlisis o solucin BI, para ser ms precisos un reporte de ingresos.
Recuerdas esta tabla, fue la que limpiamos y transformamos en el artculo anterior, y en este preciso
momento, vamos a editar el destino de carga de la consulta, cambiando la hoja por el modelo de datos.

Mostrar Panel de Consultas del Libro


Primero debemos mostrar el Panel de Consultas del Libro en Excel, para ello, nos dirigimos a la pestaa
datos, y en el grupo Obtener y Transformar, damos clic en el botn Mostrar Consultas.

Instantneamente, aparece el Panel de Consultas del Libro.


Editar el destino de Carga de una Consulta
Podemos situar el cursor sobre la consulta que ya ha sido creada y automticamente aparecer un cuadro
de dialogo instantneo con informacin importante relacionada con la consulta, como por ejemplo una
Vista Previa de los datos, Columnas o Campos que tiene la tabla, Cuando fue la ltima actualizacin y el
Destino de Carga, adems, podemos realizar varias acciones sobre la consulta

Nota: Si damos clic en el botn (), situado al lado derecho de Editar, podremos ver las acciones que
podemos hacer sobre la consulta, como por ejemplo Combinar o Anexar Consultas.
Para este caso, damos clic en Editar, y en consecuencia aparece el Editor de Consultas, con la tabla
cargada.
Tambin podemos abrir el editor de consultas de la siguiente manera:
En el panel de consultas -> damos clic derecho sobre la consulta que deseamos editar -> en la lista
desplegable que aparece, elegimos la opcin Cargar en.
En el cuadro de dialogo Cargar en, vamos a configurar el destino de carga de la consulta, habilitando las
opciones,Crear solo Conexin y Agregar estos datos al Modelo de Datos. Para finalizar damos clic en
Cargar.
No te alarmes si aparece una advertencia, lo que nos indica es que la tabla estructurada, conseguida a
traves de la consulta, ser retirada de la hoja y cargada directamente en el modelo de datos, evitando
duplicar los datos en el Libro, Damos clic en continuar.

Y en el panel de consultas del libro, observamos cmo se actualiza la consulta.


As mismo, en el panel podemos ver cuando ha finalizado la actualizacin de la consulta.

Automticamente se quita la tabla de la hoja de clculo y simplemente se ha agregado al modelo de


datos.

Ahora, es momento de crear el reporte de ingresos en Power View, para ello nos vamos al botn Power
View que se encuentra en la pestaa Insertar
Nota: Recuerda activar el complemento en las Opciones de Excel.
Retomando la creacin del Reporte
Lo primero que debemos hacer es dar clic sobre el botn Power View y as iniciara a cargar la Hoja de
Power View en el Libro de Excel.

Luego, aparece una nueva hoja en el Libro, con las caractersticas propias de Power View.
Nota: Por el momento ya no necesitaremos el panel de consultas por lo que podemos ocultarlo dando clic
en el smbolo X del extremo derecho.
Ahora bien, aqu vamos a construir nuestro reporte.
Para aclarar un poco,
En la hoja creada para almacenar el reporte de Power View, aparecen varias pestaas con opciones
adicionales, relacionadas con el diseo y la modelacin del reporte.

Adicional a ello Podemos ver el Panel de Campos de Power View con los campos de la tabla obtenida
a travs de la consulta, listos para ser utilizados en el modelo de datos y por Power View.
Como ya podrs intuir, es hora de empezar nuestra etapa de Modelacin y Anlisis patrocinada por
Power Pivot y el Lenguaje Dax, por lo que vamos a crear una Medida para as entender mejor nuestros
datos y lo que nos quieren decir.
Modelacin y Anlisis
Primero vamos a crear una medida para evite crear una Columna Calculada, y que aun as determine los
Ingresos obtenidos por cada uno de los Agentes Comerciales, utilizando una funcin de Iteracin, mas
exactamente SUMX
Crear una Medida desde una Hoja de Power View
En la hoja de Power View 1, vamos a la pestaa Power Pivot -> grupo Clculos -> Nueva Medida

En el cuadro de dialogo Medida, asignamos un Nombre a la medida y la tabla en la cual vamos a crearla.
Luego escribimos la expresin DAX:
[IngresosX]:=
SUMX (
Reporte_Vendedores_Julio;
Reporte_Vendedores_Julio[Valor / Unidad] * Reporte_Vendedores_Julio[Cantidad] )
Esta expresin DAX, multiplica las unidades vendidas por el precio de cada unidad, fila a fila, obteniendo
as, los ingresos en cada transaccin y luego sumando TODOS los ingresos de cada transaccin.
Nota: Recuerda configurar las Opciones de formato del nmero obtenido a travs de la Medida.
Mientras se actualiza el modelo aparece el siguiente mensaje. Para finalizar damos clic en Aceptar.

Y comprobamos que efectivamente se ha creado la medida. Ya que en el panel de campos de Power View
se ha agregado nuestra medida acompaada de un smbolo en forma de calculadora.
Nota: Para este ejemplo no calcularemos los Ingresos Netos, que tienen en cuenta los descuentos y el
IVA.
Visualizacin
Recuerda que la etapa de modelacin y anlisis puede ser tan compleja y profunda como se quiera, todo
depende de las habilidades en el manejo del lenguaje DAX y el tipo de anlisis o solucin BI que sea
requerida, habiendo dicho esto, empecemos por agregar al lienzo, el campo vendedor arrastrndolo del
panel de campos, hacia el lienzo o rea del reporte.
Nota: Recordemos que nuestro objetivo con este reporte, es poder Analizar los ingresos obtenidos por
cada Agente Comercial.

Al agregar el campo Vendedor al Lienzo obtenemos una tabla de un solo campo:


Ahora bien, agreguemos la MEDIDA IngresosX al lienzo en la misma rea de la tabla que recin hemos
creado.

Llevando a cabo esta accin, obtenemos el siguiente resultado:


Para empezar a crear las dems visualizaciones del reporte, vamos a duplicar la tabla creada
Al acercar el cursor a la tabla, aparece un borde alrededor de ella, al dar clic izquierdo sobre ese
borde,seleccionamos la visualizacin -> luego presionamos CTRL + C para copiar -> CTRl + V para
pegar.

hY efectivamente, se ha clonado la tabla


Cambiar Tipo de Visualizacin en Power View
Damos clic izquierdo sobre la visualizacin tipo tabla que hemos clonado -> vamos a la pestaa Disear
-> grupo Cambiar Visualizacin > Grfico de Barra Apilada -> elegimos la primera opcin, con el
mismo nombre de la lista.

Y as hemos cambiado exitosamente el tipo de visualizacin :


Reajustar tamao de Visualizacin en Power View
Con el cursor en una esquina del grfico de barras y manteniendo clic izquierdo presionado, podemos
aumentar su tamao (como una forma o cuadro de Texto).

Ahora bien, vamos a crear una nueva tabla, repitiendo el proceso anterior, pero esta vez, arrastrando el
campo Fecha y la medida IngresosX
Luego, seleccionamos la tabla y vamos a cambiar el tipo de visualizacin, por un grfico de lnea
Clic sobre la visualizacin -> grupo Cambiar Visualizacin -> Otro grfico -> Lnea
Reajustamos el tamao de la visualizacin y listo, fcilmente obtenemos un til grfico de lneas.

Nota: Si dejamos el cursor sobre algn punto (valor) de cualquier grfico del reporte, se muestra una la
informacin detallada de ese punto.
Cambiar nombre de Reporte en Power View
Damos Clic sobre el Cuadro de Texto, que tiene el mensaje, Haga Clic aqu para agregar un Titulo -> y
escribimos un nombre descriptivo para el reporte.
Para permitir al usuario final, tener varias perspectivas de anlisis a travs del reporte, vamos a agregar
dos campos al rea de filtros en el lienzo:
En la pestaa Power View -> grupo Ver -> damos clic en el botn rea de Filtros

Y ahora arrastramos el campo Producto, al rea de filtros del reporte

Y el campo Cliente al rea de filtros repitiendo el anterior procedimiento.


Pues Bien, de esta manera hemos agregado dos campos de la tabla, al rea de filtros de reporte en Power
View.

Importancia de Trabajar con Power View


Nota: Recuerda que uno de los principales beneficios de trabajar con Power View, es que todas las
visualizaciones agregadas al reporte (grficos, tablas, mapas, etc. que se encuentran en el lienzo), estn
conectadas por lo que, si aplicamos un filtro, todo cambiara en relacin al tem seleccionado.
Con esta herramienta creada por nosotros mismos, podemos analizar los datos desde diferentes
perspectivas, todo en un reporte que poco a poco podemos ir personalizando y optimizando segn nuestras
necesidades y las de nuestra organizacin o cargo.
Pero bueno, no nos desviemos de la construccin del reporte y filtremos un tem, en el campo Producto.
Automticamente, cambia todo el reporte mostrndonos solo la informacin correspondiente al producto
elegido.

Rpidamente podemos Concluir que:


Las carpas de Camping Doble tuvieron ms ingresos en las fechas del 18 al 20 de julio, y por alguna razn,
despus de ese da existieron bajas considerables en los ingresos.
La vendedora que ms ingresos obtuvo sobre este tem fue Julieta Arias.
Intuitivamente podemos ver en el reporte, que dos vendedores no figuran y por ende, NO realizaron
ninguna venta relacionada con este producto
Con estas conclusiones obtenidas a travs de nuestros datos, podemos tomar acciones correctivas
enfocadas en mejorar los ingresos relacionados con este producto en particular (Carpas Dobles).
Bueno amig@, por el da de hoy es todo, espero que este articulo sea de mucha utilidad y empieces a
crear tus propias soluciones con Excel para toma de decisiones, en la prxima publicacin continuaremos
desarrollando nuestro modelo de datos.
Formato Tabla Dinmica a Tabular
May 13, 2016 | Publicado por Fabian Torres | Anlisis de Datos, Power Query, Tablas Dinmicas
| 0 comentarios
Saludos a todos
Probablemente te ha sucedido que para crear una solucin o un reporte en Excel, no te proporcionen
una tabla de datos slida para analizar, sino que por el contrario, te envan una tabla
dinmica copiada con solo los valores, pues bien, esto puede dejar de ser un dolor de cabeza a travs de
un sencillo procedimiento en Power Query, as queempecemos!

Ejemplo Reporte Mltiples Perspectivas


Imagina que trabajas en una tienda de telfonos mviles, y debes analizar con diferentes grficos para
encontrar posibles patrones o tendencias en los ingresos obtenidos de los productos ms destacados de
la tienda en los ltimos meses. Para crear el reporte, el rea de Gestin de la Informacin te ha
suministrado los siguientes datos:

Como puedes ver, los datos resumidos en formato de tabla dinmica no son apropiados para crear varias
perspectivas sobre los ingresos, por lo cual, debemos transformar esta Pseudo-Tabla Dinmica -Ya no le
es, copiarn y pegarn- a un Formato Tabular, el apropiado para ser analizado, con la gran ventaja de
hacerlo sin mucho esfuerzo, a una gran velocidad y dejando automatizado el proceso, algo que resulta muy
conveniente. Pero empecemos a resolver nuestro problema a travs del proceso ETL en Power Query.
Solucin
1. Importar Tabla a Power Query (Extract)

Primero, vamos a cargar la tabla en el editor de Power Query: con la celda activa situada en algn lugar
de la tabla -> Pestaa Power Query -> Grupo Datos de Excel -> damos clic en el comando Desde
Tabla -> en el cuadro de dialogo Desde Tabla, verificamos el rango -> Aceptar.
Automticamente, aparece el Editor de Power Query el lugar donde la magia ocurre!
2. Transformacin en Powr Query (Transform)
Como los encabezados de la tabla no son vlidos, vamos a reemplazarlos por la primera fila de la tabla:
Pestaa Transformar -> Grupo Tabla -> Usar la Primera Fila como Encabezado > elegimos la
opcin Usar la Primera Fila Como Encabezados.

Ahora bien, es momento de quitar la fila y la columna de Totales Generales:


Para quitar la Fila de Totales Generales:
Pestaa Inicio -> comando Reducir Filas -> Quitar Filas -> Quitar Filas Inferiores -> en el cuadro de
dialogo Quitar Filas Inferiores definimos el nmero de filas a quitar, para este caso 1.
Para Quitar la Columna de Totales Generales:
Clic derecho sobre la columna Total General -> Quitar.
En este momento la tabla debe lucir de la siguiente manera:

3. Cargar (Load)
Para finalizar, vamos a seleccionar desde la columna del primer mes hasta la columna del ltimo mes
(enero a julio):Clic izquierdo sobre la columna del Primer mes (enero) -> Con shift presionado clic sobre
el ltimo mes (Julio) -> Clic Derecho sobre alguna etiqueta de las columnas seleccionadas -> elegimos
la opcin Anulacin de Dinamizacin de Columnas.
Y como por arte de magia, observa lo que pasa

La tabla adquiere un perfecto formato tabular, para que as podamos crear un reporte ms robusto y con
diferentes perspectivas.
Para finalizar, vamos a cambiar el nombre de la columna Atributo por Mes, as como el de la consulta
(IngresosxProducto ) y damos clic en Cerrar y Cargar.
Automticamente, se crea una tabla estructurada con los datos en formato tabular.
Ahora, construiremos un reporte basado en nuestra nueva tabla, para ello, insertamos una tabla dinmica
y vamos a situar el campo Mes en el rea de Filas y el campo Valor (equivalente a Ingresos) en el rea
de valores.
A partir de esta tabla dinmica, vamos a crear DOS grficos dinmicos en una nueva Hoja y
adicionalmente vamos a insertar un slicer:
Insertar Grfico de Columnas
Con la celda activa sobre la tabla dinmica -> Pestaa Analizar -> Herramientas -> Grfico Dinmico
-> en el cuadro de dialogo Insertar Grfico elegimos Columna Agrupada -> Aceptar.
Llevamos el grfico a la hoja del reporte: Ctrl + x para cortar y en una nueva hoja, pegar (Ctrl + v ).

Y ahora vamos a personalizar el grfico, quitando los botones de campo del grfico dinmico, as como el
eje de valores, las lneas de cuadricula, la leyenda y el titulo.
Por ultimo vamos a cambiar la fuente del grfico, el color de la serie y agregamos las etiquetas de cada
columna.
De esta manera obtenemos un grfico de columnas efectivo:
Te Podria Interesar el siguiente articulo: Diseo de Un grfico de Columnas Efectivo
Repetimos el mismo procedimiento de creacin y personalizacin de un grfico pero ahora, con un grfico
de Lneas y este es el resultado que obtenemos:

Para finalizar vamos a agregar un slicer, utilizando el campo Marca, a partir de la misma tabla dinmica.
Y cuando seleccionamos algn tipo de marca, cambia dinmicamente todo el reporte.
Bueno eso es todo de mi parte, recuerda combinar las diferentes funcionalidades de Excel para crear
potentes herramientas de anlisis.
Limpiar y Cargar datos en Power Pivot a travs de
Power Query

Para darte una idea, Power Query tambin pertenece a la artillera pesada en nuestro arsenal de Excel; para
limpiar, integrar, estandarizar y transformar datos, que pueden ser utilizados en reportes u otro tipo de
soluciones creadas directamente en Excel o con ayuda de Power Pivot.
Todo el proceso de Importar, Transformar y Cargar datos (Proceso ETL -Extract Transform and Load-
) lo podemos realizar eficientemente con Power Query, sin tener que apoyarnos en VBA ni tampoco
funciones matriciales u otro tipo de habilidades que, para ser honesto requieren de mucha prctica y
nicamente pocos usuarios dominan a la perfeccin, pero veamos de qu se trata a travs del siguiente
ejemplo.
Ejemplo: Reporte de Ingresos 2007 2015
Nuestra misin, es crear un reporte sobre los ingresos obtenidos en los diferentes aos de la compaa,
para realizar esta labor, se nos ha proporcionado el siguiente archivo de texto:

Como podemos ver, el archivo de texto no sigue ciertos estndares (Formato tabular para que te des una
idea) ya que la primera fila contiene informacin que no es relevante para el anlisis, adicional a ello, lo
entorpece. En consecuencia es necesario hacer ciertas modificaciones
Solucin
1. Importar a Power Query (Extract) Datos desde el
archivo de Texto
Primero, abrimos un nuevo libro en Excel y nos dirigimos a la pestaa Power Query, all, en el
grupo Obtener Datos Externos damos clic en el comando Desde un Archivo y seleccionamos la
opcin Desde Texto.

Nota: Para la Versin de Excel 2013 Power Query es un complemento y no viene incorporado en Excel,
debe ser descargado, instalado y habilitado en complementos COM. Lo anterior difiere con la versin de
Excel 2016, debido a que Power Query pasa a ser una funcionalidad nativa de Excel y se encuentra en la
pestaa DATOS, grupo OBTENER Y TRANSFORMAR.
A continuacin, elegimos la ubicacin del archivo de texto en nuestro computador y presionamos Aceptar.
Automticamente, aparece el Editor de consultas o la interfaz propia de Power Query con la tabla
cargada y con ciertas modificaciones hechas.
Editor de Consultas: aqu limpiamos y transformamos la tabla de datos (Que en esencia es una copia de
los datos de origen, creada nicamente para facilitar el anlisis, por eso las modificaciones hechas solo se
ven reflejadas en la tabla de salida y no directamente en el origen de los datos).
Nota: El nombre de la consulta por defecto es el mismo del nombre del archivo de origen; es una muy
buena prctica darle un nombre descriptivo.
Power Query intuye que es un tipo de archivo de texto delimitado por caracteres, en especfico, las
columnas estn demarcadas por punto y coma (;), sin embargo, la primera fila y la ltima columna no son
necesarias as que debemos modificar nuestra Consulta.
Nota: en el panel Configuracin de la Consulta podemos modificar el nombre de la consulta o tabla de
salida que queremos obtener a travs de Power Query, as, como los pasos o modificaciones aplicados a
la tabla inicial o de origen.
2. Transformacin en el Editor de Power Query
(Tranform)
Primero, vamos a eliminar la ltima columna, dando clic izquierdo sobre su etiqueta para seleccionarla,
luego, clic derecho y en la lista de opciones que aparece elegimos Quitar.

Ahora, vamos a dirigirnos a la pestaa Inicio en el Editor de Consultas y damos clic en el


comando Reducir Filas y posteriormente Quitar Filas Superiores.
En el cuadro de dilogo que aparece, especificamos el nmero de filas superiores que deseamos quitar,
para este caso la primera fila y damos clic en Aceptar.
Adicionalmente, vamos a la pestaa Transformar y en el grupo Tabla damos clic en el comando Usar
la Primera Fila Como Encabezado y elegimos la opcin del mismo nombre.
Para finalizar la transformacin de los datos, vamos a modificar el Tipo de formato de la columna Ingresos
y la Columna Gastos (Manteniendo CTRL presionado, elegimos las etiquetas de la columna Ingreso y
Gastos con clic izquierdo -> clic derecho sobre alguna columna -> seleccionamos la opcin Cambiar
Tipo -> Nmero Entero).

Y eso es todo lo que debemos hacer para limpiar nuestros datos, observemos como la tabla ha sido
modificada y lista para ser cargada:
Pausemos un momento y veamos como en el rea de Pasos Aplicados quedan guardados los pasos de
modificacin que se han hecho en la tabla, para que al cargar nuevos datos en el origen, no se deba repetir
el proceso de transformacin sino que solo sea necesario actualizar la consulta algo increblemente
Productivo, solo piensa en esto Cunto tiempo gastamos al mes o a la semana limpiando y preparando
datos?
3. Cargar (Load)
Para cargar la tabla en el modelo de datos, nos dirigimos al comando Cerrar y Cargar y elegimos la
opcin Cerrar y Cargar En.
En el cuadro de dialogo Cargar En, elegimos donde queremos cargar la tabla limpia y lista para ser
utilizada, ya sea directamente al modelo de datos (Power Pivot) o como una Tabla Estructurada en
Excel, para este caso la primera opcin.

Por eso debemos habilitar las opciones Crear solo conexin y Agregar Estos al Modelo de Datos, para
finalizar damos clic en Aceptar y as de fcil cargamos la consulta en el Modelo de Datos.
4. Crear Reporte Tabla Dinmica
Para resumir la informacin y poder analizarla, vamos a crear un reporte de tabla dinmica utilizando la
Consulta que recin hemos creado: Pestaa Insertar > Grupo Tablas -> Tabla Dinmica -> en el cuadro
de dialogo Crear Tabla Dinmica habilitamos la opcin -> Utilice una fuente de datos Externa -> Damos
clic en el Botn Elegir Conexin.
Al presionar el botn Elegir Conexin aparece el cuadro de dialogo Conexiones Existentes donde
debemos elegir el nombre de la consulta y presionamos el botn Aceptar.
Nuevamente damos Aceptar en el cuadro de Dialogo Crear Tabla Dinmica y ahora aparece el rea para
construir una tabla dinmica junto con el panel de consultas y el panel de campos de una tabla dinmica.

Ahora vamos a mover al rea de filtros, el campo Ao, al rea de filas el campo Mes, y al rea de valores
los campos Ingresos y costos.
Para hacer el reporte ms robusto crearemos una Medida en Power Pivot que me determine el promedio
de ingresos.
Seleccionamos la pestaa Power Pivot de Excel, grupo Clculos y en la lista Campos Calculados
elegimos la opcinNuevo Campo Calculado.

En el cuadro de dialogo Campo Calculado vamos a crear la medida:


=AVERAGE(Ingresos[Ingresos])
Comprobamos la formula y damos clic en Aceptar
En el panel de campos de nuestra tabla dinmica aparece la nueva medida, adicionalmente, vamos a
agregarla al rea de valores.
Y de esta forma hemos finalizamos la creacin del reporte, evitando que se convierta en un dolor de cabeza
la transformacin y preparacin de los datos, adicionalmente, observa como Power Pivot trabaja en

armona con Power Query,una pareja explosiva! -y hay ms


Por el da de hoy eso es todo, hasta la prxima publicacin.
Un Abrazo, su amigo y servidor
Fabian
Tutorial: Ampliar relaciones del modelo de datos usando Excel, Power Pivot y DAX

Se aplica a: Excel 2013

IMPORTANTE: Este artculo se ha traducido con traduccin automtica; vea


la declinacin de responsabilidades. Para su referencia, puede encontrar la versin
en ingls de este artculo aqu.

Abstractos: Este es el segundo tutorial de una serie. En el primer


tutorial, Importar datos y crear un modelo de datos, un libro de Excel que se cre
con los datos importados de varios orgenes.

NOTA: En este artculo se describe los modelos de datos en Excel 2013. Sin
embargo, las caractersticas de PowerPivot que se introdujo en Excel 2013 y
modelado de datos mismos tambin aplicarn a Excel 2016.

En este tutorial, usar Power Pivot para extender el modelo de datos, crear
jerarquas y generar campos calculados a partir de los datos existentes para crear
nuevas relaciones entre las tablas.

Las secciones de este tutorial son los siguientes:

Agregar una relacin mediante la vista de diagrama de Power Pivot

Extender el modelo de datos con columnas calculadas

Crear una jerarqua

Usar jerarquas en tablas dinmicas

Control y evaluacin

Al final de este tutorial hay una evaluacin que puede realizar para probar su
aprendizaje.

Esta serie utiliza datos que describen medallas olmpicas, pases anfitriones y los
diversos eventos olmpicos deportivos. Los tutoriales de esta serie son los
siguientes:

1. Importar datos en Excel y crear un modelo de datos


2. Ampliar relaciones del modelo de datos usando Excel, Power Pivoty DAX
3. Crear informes de Power View basados en mapas
4. Incorporar datos de Internet y establecer valores predeterminados para los
informes de Power View
5. Crear informes de Power View sorprendentes - Parte 1
6. Crear informes de Power View sorprendentes - Parte 2

Le recomendamos que siga por ellas en orden.

Estos tutoriales usar Excel 2013 con Power Pivot habilitado. Para obtener ms
informacin sobre Excel 2013, haga clic en aqu. Para obtener instrucciones sobre
cmo habilitar Power Pivot, haga clic en aqu.

Agregar una relacin mediante la vista de diagrama de Power Pivot

En esta seccin, usar el complemento Power Pivot en Excel 2013 de Microsoft


Office para extender el modelo. El uso de la Vista de diagrama de Microsoft SQL
Server Power Pivot para Excel facilita la creacin de relaciones. Primero, tiene que
asegurarse de que tiene el complemento Power Pivot habilitado.

Nota: El complemento PowerPivot en Microsoft Excel 2013 es parte de Office


Professional Plus. Consulte Iniciar el complemento Power Pivot in Microsoft Excel
2013 para obtener ms informacin.

Agregar Power Pivot en la cinta de opciones de Excel habilitando el Power


Pivot complemento

Cuando Power Pivot est habilitado, ver una pestaa de la cinta de opciones de
Excel 2013 llamada POWER PIVOT. Para habilitar Power Pivot, siga estos pasos.

1. Vaya a ARCHIVO > Opciones > Complementos.


2. En el cuadro Administrar cerca de la parte inferior, haga clic en Complementos
COM > Ir.
3. Active la casilla Microsoft Office PowerPivot en Microsoft Excel 2013 para Excel
2013 y haga clic en Aceptar.

La cinta de opciones ahora contiene la pestaa POWER PIVOT.


Agregar una relacin mediante la vista de diagrama de Power Pivot

El libro de Excel incluye una tabla denominada Anfitriones. Hemos


importado Anfitriones copindola y pegndola en Excel y dando formato de tabla
a los datos. Para agregar la tabla Anfitriones al modelo de datos, debemos
establecer una relacin. Vamos a utilizar Power Pivot para representar visualmente
las relaciones en el modelo de datos. Luego crearemos la relacin.

1. En Excel, haga clic en la pestaa Anfitriones para hacer que sea la hoja activa.
2. En la cinta de opciones, seleccione POWER PIVOT > Tablas > Agregar al modelo
de datos. Con este paso se agrega la tabla Anfitriones al modelo de datos.
Tambin se abre el complemento Power Pivot que usar para realizar los pasos
restantes de esta tarea.
3. Observe que la ventana de Power Pivot muestra todas las tablas del modelo,
incluida Anfitriones. Haga clic en un par de tablas. En Power Pivot puede ver todos
los datos que contiene el modelo, incluso si no se muestran en las hojas de clculo
de Excel, como los datos de Disciplinas, Eventos y Medallas debajo, as
como S_Equipos,W_Equipos y Deportes.
4. En la ventana de Power Pivot, en la seccin Ver, haga clic en Vista de diagrama.
5. Utilice la barra de desplazamiento para cambiar el tamao del diagrama a fin de
poder ver todos los objetos que este contiene. Reorganice las tablas arrastrando las
barras de ttulo de modo que queden visibles y ubicadas una al lado de la otra.
Observe que cuatro tablas no estn relacionadas con el
resto: Anfitriones, Eventos, W_Equipos y S_Equipos.
6. Observe que tanto la tabla Medallas como la tabla Eventos tienen un campo
llamado DisciplinaEvento. Despus de una inspeccin ms exhaustiva, determina
que el campo DisciplinaEvento de la tabla Eventos consta de valores nicos no
repetidos.

NOTA: El campo DisciplinaEvento representa una nica combinacin de cada


Disciplina y Evento. Sin embargo, en la tabla Medallas, el campo DisciplinaEvento
se repite muchas veces. Eso tiene sentido, ya que la combinacin de
Disciplina+Evento da como resultado tres medallas (oro, plata, bronce), que se
otorgan en todas las ediciones de los Juegos Olmpicos donde se desarrolla el
Evento. Por lo tanto, la relacin entre esas tablas es de una (una nica entrada
Disciplina+Evento en la tabla Disciplinas) a varias (varias entradas para cada valor
Disciplina+Evento).

1. Cree una relacin entre la tabla Medallas y la tabla Eventos. Mientras est en la
vista de diagrama, arrastre el campo DisciplinaEvento desde la tabla Eventos hasta
el campo DisciplinaEvento de Medallas. Aparecer una lnea entre ellos que indica
que se ha establecido una relacin.
2. Haga clic en la lnea que conecta Eventos y Medallas. Los campos resaltados
definen la relacin, tal como se muestra en la siguiente pantalla.

3. Para conectar Anfitriones al modelo de datos, es necesario un campo con valores


nicos que identifiquen cada fila de la tabla Anfitriones. Despus, podemos
realizar una bsqueda en nuestro modelo de datos para ver si existen los mismos
datos en otra tabla. La bsqueda en la vista de diagrama no nos permite hacer
esto. Con Anfitriones seleccionada, vuelva a la vista de datos.
4. Despus de examinar las columnas, nos damos cuenta de que Anfitriones no tiene
una columna de valores nicos. Tendremos que crearla usando una columna
calculada y Expresiones de anlisis de datos (DAX).

Es interesante cuando los datos del modelo de datos tienen todos los campos
necesarios para crear relaciones y mezclar datos para visualizar en Power View o en
tablas dinmicas. Sin embargo, las tablas no siempre cooperan tanto, por lo que en
la siguiente seccin se describe cmo crear una columna nueva usando DAX, que
sirve para crear una relacin entre las tablas.

Extender el modelo de datos con columnas calculadas

Para establecer una relacin entre la tabla Anfitriones y el modelo de datos, y as


extender nuestro modelo de datos para incluir la
tabla Anfitriones, Anfitriones debe tener un campo nico que identifique cada
fila. Adems, ese campo debe corresponder a un campo del modelo de datos. Esos
campos correspondientes, uno en cada tabla, son lo que permite asociar los datos
de las tablas.

Ya que la tabla Anfitriones no tiene este tipo de campo, deber crearlo. Si


queremos mantener la integridad del modelo de datos, no podemos usar Power
Pivot para editar o eliminar los datos existentes. Sin embargo, puede crear nuevas
columnas mediante campos calculados basados en los datos existentes.

Si busca en la tabla Anfitriones y despus en otras tablas del modelo de datos,


encontrar un buen candidato para campo nico que podr crear en Anfitriones y
asociar a una tabla en el modelo de datos. Ambas tablas requerirn una columna
calculada nueva para cumplir con los requisitos para establecer una relacin.

En Anfitriones, podemos crear una columna calculada nica combinando el campo


Edicin (el ao del evento olmpico) y el campo Temporada (verano o invierno). En
la tabla Medallas tambin hay un campo Edicin y un campo Temporada, por lo
que, si creamos una columna calculada en cada una de esas tablas que combine los
campos Edicin y Temporada, podremos establecer una relacin
entre Anfitriones y Medallas. La siguiente pantalla muestra la tabla Anfitriones,
con los campos Edicin y Temporada seleccionados.
Crear columnas calculadas con DAX

Empecemos con la tabla Anfitriones. El objetivo consiste en crear una columna


calculada en la tabla Anfitriones y, despus, en la tabla Medallas . Estas columnas
pueden utilizarse para establecer una relacin entre las tablas.

En Power Pivot, puede usar Expresiones de anlisis de datos (DAX) para agregar
clculos. DAX es un lenguaje de frmulas para Power Pivot y tablas dinmicas,
diseado para los datos relacionales y el anlisis contextual disponibles en Power
Pivot. Puede crear frmulas de DAX en una nueva columna de Power Pivot y en el
rea de clculo de Power Pivot.
1. En Power Pivot, seleccione INICIO > Ver > Vista de datos para asegurarse de que
est seleccionada la vista de datos, en lugar de la vista de diagrama.
2. Seleccione la tabla Anfitriones en Power Pivot. Junto a las columnas existentes hay
una columna vaca titulada Agregar columna. Power Pivot ofrece esa columna
como un marcador de posicin. Existen muchas formas de agregar una nueva
columna a una tabla en Power Pivot, una de las cuales es simplemente seleccionar
la columna vaca que contiene el ttulo Agregar columna.
3. En la barra de frmulas, escriba la siguiente frmula de DAX. La funcin
CONCATENAR combina dos o ms campos en uno solo. Cuando escriba,
AutoCompletar lo ayudar a escribir los nombres cualificados completos de las
columnas y las tablas, y enumera las funciones que estn disponibles. Use TAB para
seleccionar las sugerencias de AutoCompletar. Tambin puede hacer clic en la
columna mientras escribe la frmula, y Power Pivot insertar el nombre de columna
en la frmula.

=CONCATENATE([Edition],[Season])
4. Cuando termine de crear la frmula, presione Entrar para aceptarla.
5. Los valores se rellenan en todas las filas de la columna calculada. Si se desplaza
hacia abajo en la tabla, ver que cada fila es nica. Eso significa que hemos creado
de forma correcta un campo que identifica exclusivamente cada una de las filas de
la tabla Anfitriones. Esos campos se llaman clave principal.
6. Vamos a cambiar el nombre de la columna calculada a IDEdicin. Puede cambiar el
nombre de cualquier columna haciendo doble clic en ella o clic con el botn
secundario y eligiendo Cambiar nombre de columna. Cuando termine, la
tabla Anfitriones en PowerPoint se ver como en la pantalla siguiente.
La tabla Anfitriones est lista. Ahora vamos a crear una columna calculada
en Medallas que coincida con el formato de la columna IDEdicin que creamos
en Anfitriones, de modo que podamos crear una relacin entre las dos tablas.

1. Comience creando una columna nueva en la tabla Medallas, como lo hizo


en Anfitriones. En Power Pivot, seleccione la tabla Medallas y haga clic en Diseo
> Columnas > Agregar. Observe que Agregar columna est seleccionada. Esto
tiene el mismo efecto que cuando se selecciona Agregar columna.
2. La columna Edicin de Medallas tiene un formato distinto al de la columna Edicin
de Anfitriones. Antes de combinar o concatenar la columna Edicin con la
columna Temporada para crear la columna IDEdicin, debemos crear un campo
intermedio que haga que Edicin tenga el formato correcto. En la barra de
frmulas situada encima de la tabla, escriba la siguiente frmula de DAX.

= YEAR([Edition])

3. Cuando termine de crear la frmula, presione Entrar. Todas las filas de la columna
calculada se rellenan con valores, basndose en la frmula especificada. Si compara
esta columna con la columna Edicin de Anfitriones, ver que estas columnas
tienen el mismo formato.
4. Cambie el nombre de la columna. Para ello, haga clic con el botn secundario en
CalculatedColumn1 y seleccione Cambiar nombre de columna. Escriba Ao y
luego presione Entrar.
5. Al crear una columna nueva, Power Pivot agregar otra columna como marcador
de posicin con el nombre Agregar columna. A continuacin, queremos crear la
columna calculada IDEdicin, por lo que debe seleccionar Agregar columna. En la
barra de frmulas, escriba la siguiente frmula de DAX y presione Entrar.

=CONCATENATE([Year],[Season])
6. Cambie el nombre de la columna. Para ello, haga doble clic en ColumnaCalculada1
y escriba IDEdicin.
7. Ordene la columna en orden ascendente. La tabla Medallas de Power Pivot ahora
es similar a la de la pantalla siguiente.
Observe que muchos valores se repiten en el campo IDEdicin de la
tabla Medallas. Eso est bien y es lo esperado, ya que en todas las ediciones de los
Juegos Olmpicos (ahora representados con el valor IDEdicin) se otorgaron
muchas medallas. Lo que es nico en la tabla Medallas es cada medalla otorgada.
El campo ClaveMedalla es el identificador nico de cada registro de la
tabla Medallas y su clave principal designada.
El siguiente paso consiste en crear una relacin entre Anfitriones y Medallas.

Crear una relacin con columnas calculadas

Ahora vamos a usar las columnas calculadas que creamos para establecer una
relacin entre Anfitriones y Medallas.

1. En la ventana de Power Pivot, seleccione Inicio > Ver > Vista de diagrama en la
cinta de opciones. Tambin puede cambiar entre la vista de cuadrcula y la vista de
diagrama utilizando los botones de la parte inferior de la ventana de PowerView,
tal como se muestra en la siguiente pantalla.

2. Expanda Anfitriones para poder ver todos sus campos. Hemos creado la columna
IDEdicin para que acte como la clave principal de la tabla Anfitriones (campo
nico no repetido) y una columna IDEdicin en la tabla Medallas para habilitar una
relacin entre ambas tablas. Tenemos que encontrar ambas columnas y crear una
relacin. Power Pivot proporciona una funcin Buscar en la cinta de opciones para
que pueda buscar el modelo de datos para los campos correspondientes. La
siguiente pantalla muestra la ventana Buscar metadatos, con IDEdicin incluida en
el campo Buscar.

3. Coloque la tabla Anfitriones junto a Medallas.


4. Arrastre la columna IDEdicin de Medallas a la columna IDEdicin de Anfitriones.
Power Pivot crea una relacin entre las tablas en funcin de la columna IDEdicin y
dibuja una lnea entre las dos columnas para indicar la relacin.
En esta seccin, aprendi una nueva tcnica para agregar columnas nuevas, cre
una columna calculada con DAX y us dicha columna para establecer una relacin
nueva entre las tablas. Ahora, la tabla Anfitriones est integrada en el modelo de
datos y sus datos estn disponibles para la tabla dinmica de Hoja1. Tambin
puede utilizar los datos asociados para crear tablas dinmicas, grficos dinmicos,
informes de Power View adicionales, y mucho ms.

Crear una jerarqua

La mayora de los modelos de datos incluyen datos que son intrnsecamente


jerrquicos. Por ejemplo, es habitual en los datos de calendario, datos geogrficos
y categoras de productos. La creacin de jerarquas dentro de Power Pivot es til
porque se puede arrastrar un elemento a un informe (la jerarqua) en lugar de tener
que ensamblar y ordenar los mismos campos una y otra vez.
Los datos de los Juegos Olmpicos tambin son jerrquicos. Resulta til para
comprender la jerarqua de los Juegos Olmpicos, en trminos de deportes,
disciplinas y eventos. Para cada deporte, hay una o ms disciplinas asociadas (a
veces hay muchas). Adems, para cada disciplina, hay uno o ms eventos
(nuevamente, es posible que haya muchos eventos para cada disciplina). La
siguiente imagen ilustra la jerarqua.

En esta seccin, crear dos jerarquas en los datos de los Juegos Olmpicos que ha
usado en este tutorial. Despus, usar estas jerarquas para ver cmo facilitan la
organizacin de datos en tablas dinmicas y, en un prximo tutorial, en Power
View.

Crear una jerarqua Deporte

1. En Power Pivot, cambie a la vista de diagrama. Expanda la tabla Eventos para que
pueda ver con ms facilidad todos sus campos.
2. Mantenga presionado Ctrl y haga clic en los campos Deporte, Disciplina y Evento.
Con esos tres campos seleccionados, haga clic con el botn secundario y
seleccione Crear jerarqua. Se crear un nodo principal de la jerarqua, Jerarqua
1, en la parte inferior de la tabla, y las columnas seleccionadas se copiarn bajo la
jerarqua como nodos secundarios. Compruebe que Deporte aparezca primero en
la jerarqua, luego Disciplina y, por ltimo, Evento.
3. Haga doble clic en el ttulo, Jerarqua1, y escriba DDE para cambiar el nombre de
la jerarqua nueva. Ahora tiene una jerarqua que incluye Deporte, Disciplina y
Evento. Ahora, la tabla Eventos es similar a la de la pantalla siguiente.
Crear una jerarqua Ubicacin

1. Sin salir de la vista de diagrama de Power Pivot, seleccione la tabla Anfitriones y


haga clic en el botn Crear jerarqua del encabezado de tabla, como se muestra en
la pantalla siguiente.

Aparecer un nodo principal de jerarqua vaco en la parte inferior de la tabla.


2. Escriba Ubicaciones como nombre de la nueva jerarqua.
3. Existen muchas formas de agregar columnas a una jerarqua. Arrastre los campos
Temporada, Ciudad y NOC_PasRegin al nombre de la jerarqua (en este
caso, Ubicaciones), hasta que el nombre de la jerarqua quede resaltado, y despus
suelte los campos para agregarlos.
4. Haga clic con el botn secundario en IDEdicin y seleccione Agregar a la
jerarqua. Elija Ubicaciones.
5. Asegrese de que los nodos secundarios de la jerarqua estn en orden. De arriba a
abajo, el orden debe ser: Temporada, NOC, Ciudad, IDEdicin. Si los nodos
secundarios no estn en orden, solo tiene que arrastrarlos al lugar correspondiente
de la jerarqua. La tabla debe tener una apariencia similar a la de la siguiente
pantalla.

Ahora, el modelo de datos tiene jerarquas que pueden ser tiles en los informes.
En la seccin siguiente, aprender cmo estas jerarquas pueden acelerar y hacer
ms coherente el proceso de creacin de informes.

Usar jerarquas en tablas dinmicas

Ahora que tenemos una jerarqua Deportes y una jerarqua Ubicaciones, podemos
agregarlas a las tablas dinmicas o de Power View para obtener rpidamente
buenos resultados, como grupos de datos de gran utilidad. Antes de crear
jerarquas, tuvo que agregar campos individuales a la tabla dinmica y organizar los
campos de la forma en que quera que se muestren.
En esta seccin podr usar las jerarquas creadas en la seccin anterior para dar, de
forma rpida, mayor precisin a la tabla dinmica. Despus, crear la misma vista
de tabla dinmica con los campos individuales de la jerarqua para poder comparar
el uso de jerarquas con el uso de campos individuales.

1. Vuelva a Excel.
2. En Hoja1, quite los campos del rea FILAS de Campos de tabla dinmica y, a
continuacin, quite todos los campos del rea COLUMNAS. Asegrese de que la
tabla dinmica est seleccionada (ahora es bastante pequea, por lo que puede
elegir la celda A1 para asegurarse de que est seleccionada). Los nicos campos
que quedan en la tabla dinmica son Medalla, en el rea FILTROS, y Recuento de
medallas, en el rea VALORES. La tabla dinmica, casi vaca, debe verse como en la
pantalla siguiente.
3. En el rea Campos de tabla dinmica, arrastre DDE desde la tabla Eventos hasta el
rea FILAS. Despus, arrastre Ubicaciones desde la tabla Anfitriones hasta el
rea COLUMNAS. Con el simple hecho de arrastrar esas dos jerarquas, la tabla
dinmica se rellena con muchos datos, todos organizados segn la jerarqua que
defini en los pasos anteriores. La pantalla debe tener una apariencia similar a la de
la siguiente pantalla.

4. Vamos a filtrar los datos un poco y ver solo las primeras diez filas de eventos. En la
tabla dinmica, haga clic en la flecha de Etiquetas de fila, haga clic en (Seleccionar
todo) para eliminar todas las selecciones y haga clic en las casillas junto a los
primeros diez deportes. Ahora, la tabla dinmica es similar a la de la pantalla
siguiente.

5. Puede expandir cualquiera de los deportes en la tabla dinmica (nivel superior de


la jerarqua DDE) y ver informacin en el siguiente nivel inferior de la jerarqua
(disciplina). Si existe un nivel inferior en la jerarqua para esa disciplina, puede
expandir la disciplina para ver esos eventos. Puede hacer lo mismo para la jerarqua
Ubicacin, de la cual el nivel superior es Temporada, que se muestra como Verano
e Invierno en la tabla dinmica. Cuando se expande el deporte Acuticos, vemos
todos sus elementos de disciplina secundarios y sus datos. Al expandir la disciplina
Buceo de Deportes acuticos, vemos tambin sus eventos secundarios, como se
muestra en la pantalla siguiente. Podemos hacer lo mismo para Waterpolo, y ver
que tiene solo un evento.

Al arrastrar esas dos jerarquas, cre rpidamente una tabla dinmica con datos
interesantes y estructurados que puede analizar, filtrar y organizar.

Ahora vamos a crear la misma tabla dinmica, sin el beneficio de las jerarquas.

1. En el rea Campos de tabla dinmica, quite Ubicaciones del rea COLUMNAS. A


continuacin, quite DDE del rea FILAS. Vuelve a tener una tabla dinmica bsica.
2. En la tabla Anfitriones, arrastre Temporada, Ciudad, NOC_PasRegin e IDEdicin
al rea COLUMNAS y organcelos en ese orden, de arriba a abajo.
3. En la tabla Eventos, arrastre Deporte, Disciplina y Evento al rea FILAS, y
organcelos en ese orden, de arriba a abajo.
4. En la tabla dinmica, filtre Etiquetas de fila en los diez deportes superiores.
5. Contraiga todas las filas y columnas y despus expanda por este orden, Deportes
acuticos, Buceo y Waterpolo. El libro es similar al de la pantalla siguiente.

La pantalla es similar, con la excepcin de que se han arrastrado siete campos


individuales a las reas Campos de tabla dinmica, en lugar de solo dos
jerarquas. Si es la nica persona que crea informes de tablas dinmicas o de Power
View basados en estos datos, la creacin de jerarquas solo es algo cmodo. Sin
embargo, cuando muchas personas crean informes y deben determinar el orden
correcto de los campos para que las vistas sean adecuadas, las jerarquas se
convierten en una mejora de la productividad y permiten la coherencia de los
datos.

En otro tutorial, aprender cmo usar jerarquas y otros campos en informes


visualmente atractivos creados con Power View.
Control y evaluacin

Revise lo que ha aprendido

El libro de Excel tiene ahora un modelo de datos que incluye datos de varias
fuentes que se relacionan mediante campos y columnas calculadas que ya existen.
Tambin tiene jerarquas que reflejan la estructura de los datos dentro de las tablas
y permiten crear informes atractivos de forma rpida, coherente y sencilla.

Ha aprendido que crear jerarquas le permite especificar la estructura inherente de


los datos y usar rpidamente datos jerrquicos en los informes.

En el siguiente tutorial de esta serie, crear con Power View informes visualmente
atractivos sobre las medallas olmpicas. Tambin har ms clculos, optimizar los
datos para acelerar la creacin de informes e importar datos adicionales para
hacer que esos informes sean an ms interesantes. He aqu un vnculo:

Tutorial 3: Crear informes de Power View basados en mapas

Evaluacin

Desea saber qu tan bien recuerda lo que aprendi? Aqu tiene la oportunidad de
hacerlo. La siguiente evaluacin resalta las caractersticas, las capacidades o los
requisitos que ha aprendido en este tutorial. En la parte inferior de la pgina,
encontrar las respuestas. Buena suerte!

Pregunta 1: Cul de las siguientes opciones le permite crear relaciones entre dos
tablas?

A: Crear relaciones entre tablas de Power View.

B: Crear relaciones entre tablas utilizando la vista de diseo de Power Pivot.

C: Crear relaciones entre tablas utilizando la vista de cuadrcula en Power Pivot

D: Todas las respuestas anteriores

Pregunta 2: VERDADERO o FALSO: Puede establecer relaciones entre tablas


basadas en un identificador nico que se crea mediante las frmulas de DAX.

A: VERDADERO
B: FALSO

Pregunta 3: En cul de los siguientes lugares puede crear una frmula de DAX?

A: En el rea de clculo de Power Pivot.

B: En una nueva columna de Power Pivot.

C: En cualquier celda de Excel 2013.

D: A y B.

Pregunta 4: Cul de las siguientes afirmaciones es cierta acerca de las jerarquas?

A: Cuando se crea una jerarqua, los campos incluidos dejan de estar disponibles de
forma individual.

B: Al crear una jerarqua, los campos incluidos y su jerarqua pueden usarse en


herramientas cliente si se arrastra la jerarqua a un rea de Power View o de la tabla
dinmica.

C: Cuando se crea una jerarqua, los datos subyacentes del modelo de datos se
combinan en un solo campo.

D: No se pueden crear jerarquas en Power Pivot.

Respuestas de la evaluacin

1. Respuesta correcta: D
2. Respuesta correcta: A
3. Respuesta correcta: D
4. Respuesta correcta: B
En la entrada anterior, finalizamos con la importacin de los datos desde una base de
datos de SQL Server. Aunque los orgenes de datos pueden ser muy variados, una
vez finalizada la importacin, se nos mostrara un libro muy similar a Excel, pero con
sensibles diferencias. Cada una de las pginas es una de las tablas importadas, las
columnas son los campos de cada tabla y no existe el nmero de fila. Esto se parece
ms a una base de datos, en realidad lo es, que a una hoja de clculo.

En estos momentos los datos estn almacenados en Power Pivot y listos para ser
consumido en Excel.
El objetivo de la entrada de hoy, ser describir, ms bien dejar entre ver- ya que las
posibilidades son muchsimas -, las capacidades de Power Pivot, para la manipulacin
de la informacin y la obtencin de datos derivados de los importados, que nos
facilitarn la obtencin de las mejores decisiones para la gestin del negocio,
mediante DAX, Data Analysis eXpressions, un lenguaje de frmulas, similar a
Excel, empleado por Power Pivot para la obtencin de clculos personalizados. Para
profundizar en DAX, os podis descargar el siguiente fichero comprimido, que
contiene un tutorial y una hoja de clculo con los ejemplos.
La ltima entrada, finalizaba con la imagen anterior: el workbook de Power Point una
vez finalizada la importacin.
Las caractersticas de Power Pivot que vamos a describir en esta entrada son: la
creacin de una jerarqua y la creacin de una columna calculada.

1. Creacin de una jerarqua.


Antes de comenzar definiremos el concepto de jerarqua como una coleccin de
columnas perteneciente a una tabla de Power Pivot, que estn organizadas mediante
una relacin Padre Hijo, aunque esa relacin no est presente en el modelo de
datos, es decir estn como columnas independientes. Mediante la creacin de una
jerarqua, aadiremos esa relacin, que en los datos importados, no exista, a nuestro
modelo de datos en Power Pivot, con las ventajas que esta jerarqua nos aportar en
el anlisis de la informacin, ya que automticamente agrupar y desagrupar la
informacin por los niveles definidos en ella, tratando la jerarqua como si fuese una
nica columna.

Si en Power Pivot en la cinta de Inicio, en el apartado ver, hacemos clic en el botn


vista de diagrama, veremos la figura anterior, en la que se nos muestra cada una de
las tablas que importamos as como sus relaciones. Esta vista ser especialmente til
para comprender el modelo de datos con el que estamos trabajando.
Para crear la jerarqua pulsaremos el botn derecho del ratn, en la tabla que
contiene las columnas con las que queremos crear la jerarqua y hacemos clic en la
opcin crear jerarqua del men contextual, como se muestra en la siguiente figura.

Se nos abrir una nueva entrada en la tabla, como si fuese una nueva columna, con
un icono distinto y le daremos en primer lugar el nombre de la jerarqua, en nuestro
caso Ubicacin, y a continuacin arrastraremos por orden las columnas de la tabla
que conforman la jerarqua. En nuestro caso las columnas sern
RegionCountryName, StateProvinceName y CityName, quedando la tabla como se
muestra en las siguientes figuras.

Con estos sencillos pasos, se crea la jerarqua que nos facilitar el anlisis
enormemente cuando la elijamos como dimensin en las tablas Pivot en Excel.
2. Creacin de una columna calculada.
En los orgenes de datos relacionales, las columnas que se infieren de otras, por
ejemplo, el margen como las ventas menos el coste, a nivel de lnea de pedido,
normalmente no se almacenan en el modelo relacional, con el fin de evitar
inconsistencias y/o costes de almacenamiento y se calculan cuando se crean los
informes. Power Pivot tiene en cuenta esta contingencia y nos permite crear columnas
calculadas en base a otras y que sern directamente utilizables en nuestros anlisis,
simplificando estos, ya que el clculo queda en Power Pivot y oculto en el anlisis.
Si hojeamos la tabla FactOnlineSales, vemos que existen las columnas
SalesAmount, que contiene el importe total de venta de la lnea y la columna
TotalCost, pero se puede echar de menos una columna que represente el margen
de la lnea expresado como SalesAmount menos TotalCost.
Para crear una nueva columna iremos al final de la tabla y en la columna Agregar
columna pulsaremos el botn derecho del ratn elegiremos Cambiar el nombre de la
columna y daremos el nombre de la nueva columna, en nuestro caso Margin.

Una vez cambiado el nombre, desde la barra de frmulas, introduciremos la frmula


que dar valor a la columna.
Al cabo de unos instantes la columna mostrar los valores correspondientes y listos
para ser utilizados de la misma manera que si hubieran sido obtenidos desde el origen
de datos. Igualmente hubiramos podido insertar la columna en cualquier posicin de
la tabla, mediante la opcin Insertar columna.
Para seguir aprendiendo sobre todo lo que Power Pivot ofrece, en siguientes entradas
explicaremos el trabajo con tablas relacionadas, con inteligencia de tiempo y con KPI.
Cual es la mejor forma para Crear una tabla "Padre"
y relacionarla con una Tabla "Hijo"
Acceso a Datos
>
SQL Server

Pregunta

Inicie sesin para votar

Saludos comunidad SQL Server

Tengo la necesidad de crear una Tabla "Padres" para guardar los datos personales tanto del papa como los de
la mama de x hijo y de igual manera relacionar esta con la Tabla "Hijo", hasta el momento tengo lo
siguiente:

Imagen 1

Image 2:

Cual seria la mejor opcion o se podria hacer de una forma diferente?, saludos.

o Editado Jose Alrey domingo, 26 de junio de 2016 8:56


domingo, 26 de junio de 2016 8:51

Responder

|
Citar

Jose Alrey
65 Puntos

Respuestas

Inicie sesin para votar

Jose Alrey,
Depende, desde mi punto de vista ambos acercamientos dan solucin a dos casos distintos, te explico:

El primer acercamiento implementa una relacin N:M (muchos a muchos) donde la tabla intermedia
[Tabla_Padres_Hijos] permite el registro de hijos con la posibilidad de ms de una instancia de la tabla
[Tabla_Padre] y cuando menciono "ms de uno" no slo me refiero al padre y a la madre, sino se abre la
posibilidad de registrar -adems de los padres biolgicos- a un tutor o apoderado, si ese es el caso entonces
ste acercamiento es el adecuado.

El segundo acercamiento cierra la posibilidad a que el hijo slo referencie a un padre y/o una madre (ya
sea tutor, apoderado o padres biolgicos) pero como mximo 2 referencias (podra ser ninguna, una o dos).
Pero date cuenta que la tabla [Tabla_Padre] y [Tabla_Madre] replica columnas con el mismo significado,
basta slo una tabla, algo como:

CREATE TABLE dbo.Padre


(
idPadre int PRIMARY KEY,
DNI nvarchar(8) NOT NULL,
...
)
GO
CREATE TABLE dbo.Hijo
(
idHijo int PRIMARY KEY,
idPadre int NULL FOREIGN KEY FK_1 REFERENCES dbo.Padre (idPadre),
idMadre int NULL FOREIGN KEY FK_2 REFERENCES dbo.Padre (idPadre),
DNI nvarchar(8) NOT NULL,
...
)
GO

Nota dos cosas:

Primero, la columnas [idPadre] y [idMadre] hacen referencia a la tabla [dbo.Padre], no necesitas de dos
tablas.
Segundo, ambas columnas permiten NULL porque el hijo podra no tener referencia con ningn padre,
slo un padre o ambos.
o Marcado como respuesta Jose Alrey lunes, 27 de junio de 2016 3:05
domingo, 26 de junio de 2016 18:18

Responder

Citar

Willams Morales
(MCC, MVP)

96,195 Puntos

Todas las respuestas

Inicie sesin para votar

Hola

Formas existen muchas ...recuerda q la mayoria de los problemas poseen 1 o mas soluciones , todo
dependera de la logica del desarrollador ...yo por ejemplo no crearia tres tablas sino dos solamente..

FIJATE ...

TablaPadre con todos los campos que poseen relacion uno a uno
TablaHijp con todos los campos que poseen relacion uno a varios

y ambas tablas estarian relacionadas por el identificador de registro de la TablaPadre...pero eso es cuestion
de gusto tambien de diseo para pensar en las consultas que debes escribir etc etc etc

EFRAIN MEJIAS C VALENCIA - VENEZUELA

domingo, 26 de junio de 2016 10:58

Responder

Citar

Efrain Mejias Castillo


EMC Ingenieria de Software

3,110 Puntos

Inicie sesin para votar

Jose Alrey,
Depende, desde mi punto de vista ambos acercamientos dan solucin a dos casos distintos, te explico:

El primer acercamiento implementa una relacin N:M (muchos a muchos) donde la tabla intermedia
[Tabla_Padres_Hijos] permite el registro de hijos con la posibilidad de ms de una instancia de la tabla
[Tabla_Padre] y cuando menciono "ms de uno" no slo me refiero al padre y a la madre, sino se abre la
posibilidad de registrar -adems de los padres biolgicos- a un tutor o apoderado, si ese es el caso entonces
ste acercamiento es el adecuado.

El segundo acercamiento cierra la posibilidad a que el hijo slo referencie a un padre y/o una madre (ya
sea tutor, apoderado o padres biolgicos) pero como mximo 2 referencias (podra ser ninguna, una o dos).
Pero date cuenta que la tabla [Tabla_Padre] y [Tabla_Madre] replica columnas con el mismo significado,
basta slo una tabla, algo como:

CREATE TABLE dbo.Padre


(
idPadre int PRIMARY KEY,
DNI nvarchar(8) NOT NULL,
...
)
GO
CREATE TABLE dbo.Hijo
(
idHijo int PRIMARY KEY,
idPadre int NULL FOREIGN KEY FK_1 REFERENCES dbo.Padre (idPadre),
idMadre int NULL FOREIGN KEY FK_2 REFERENCES dbo.Padre (idPadre),
DNI nvarchar(8) NOT NULL,
...
)
GO

Nota dos cosas:

Primero, la columnas [idPadre] y [idMadre] hacen referencia a la tabla [dbo.Padre], no necesitas de dos
tablas.
Segundo, ambas columnas permiten NULL porque el hijo podra no tener referencia con ningn padre,
slo un padre o ambos.
o Marcado como respuesta Jose Alrey lunes, 27 de junio de 2016 3:05
domingo, 26 de junio de 2016 18:18

Responder

Citar

Willams Morales
(MCC, MVP)

96,195 Puntos

0
Inicie sesin para votar

Muchas gracias por tus recomendaciones amigo Efrain Mejias Castillo, las tomare en cuenta.

lunes, 27 de junio de 2016 3:06

Responder

Citar

Jose Alrey
65 Puntos

Inicie sesin para votar

Hola Willians todavia tengo la duda con el idMadre que mencionas?

El Id_Padre de la tabla hijo va hacer FK del id_Padre de la Tabla Padre, pero y ese IdMadre como se
relaciona?

no serviria trabajar la relacion de familia con una tabla aparte llamada parentesco?

TablaParentesco
Id_Parentesco int notnull

Nombre varchar(50)

---------------------------------

TablaPadre
Id_Padre int notnull

IdParentesco int (FK de la tabla parentesco)

Nombre varchar(50)

-------
TablaHijo
Id_Hijo int notnull

IdPadre int (FK de la tabla padre)

Nombre varchar(50)

-------

Vista Datos

Tabla Parentesco
Id Nombre

1 Madre

2 Padre

como lo ves o es incorrecta esta forma?

lunes, 27 de junio de 2016 5:16

Responder

Citar

Jose Alrey
65 Puntos

Inicie sesin para votar

Jose Alrey,
Plasma en papel como estaran los datos en la tabla segn tu propuesta.
Tabla Hijo
------------------------------------------------------
Id_Hijo Nombre idPadre IdParentesco
1 Juan Salas 1 2
2 Juan Salas 2 1

Fjate que tendras que tener dos filas del mismo hijo para registrar al padre y a la madre. Nota como sera
si tuvieses dos relaciones en la tabla:

Tabla Hijo
------------------------------------------------------
Id_Hijo Nombre idPadre IdMadre
1 Juan Salas 1 2

En un slo registro defines al padre y madre de un hijo. Recuerda que [idPadre] y [idMadre] provienen de
una sola tabla.

lunes, 27 de junio de 2016 5:29

Responder

Citar

Willams Morales
(MCC, MVP)

96,195 Puntos

Inicie sesin para votar

Perfecto Willian gracias por tu ayuda y paciencia e inclusive asi con la forma que dices no tendriamos
duplicidad de la informacin, Pero como relacionaria la informacion
especificamentede del Id_Madre porque tengo claro que Id_Padre de guardara como FK en la tabla Hijo,
pero no me queda claro como se guardara los datos de la madre cual seria su PK?
Tabla dbo.Padre
IdPadre int PK

DNI nvarchar

Nombre

Apellidos

...

Tabla dbo.Hijo
IdHijo int PK

Id_Padre int

Id_Madre int
DNI nvarchar

Nombre

Apellidos

...

Podria hacer esta query para jalar los datos del padre pero los de la madre no tendria idea,ejemplo

SELECT TablaHijo.Id, TablaPadre.Id_Padre, TablaPadre.Nombre, TablaPadre.Apellidos,


TablaPadre.DNI

FROM TablaHijo INNER JOIN TablaPadre

ON TablaHijo.Id_Padre = TablaPadre.Id_Padre

WHERE TablaHijo.Id = '1' --(El ejemplo que pusiste: Juan Salas)--

o Editado Jose Alrey lunes, 27 de junio de 2016 6:42


lunes, 27 de junio de 2016 6:30
Responder

Citar

Jose Alrey
65 Puntos

Inicie sesin para votar

Jose Alrey,
Quiz el nombre de la tabla [Padre] te suene a slo pap, en realidad la tabla contiene a los padres de
familia: padre y madre. Quiz el nombre de la tabla sea mas descriptivo si le llamas -por ejemplo-
[Persona].

Entonces, la tabla [Persona] registra padres y madres de familia y en el mundo real un hijo tiene -aunque
podemos discrepar- un padre y una madre, por tanto la tabla [Hijos] debe materializar dicha realidad con
dos relaciones que llegan de la tabla [Persona]. No imaginabas que una tabla puede tener 1 o ms
relaciones con una misma tabla? pues si las hay e incluso consigo misma (tablas recursivas), la nica
salvedad es que no deben llamarse igual, es decir, ambas relaciones no deberan llamarse [IdPersona] e
[IdPersona], suena descriptivo si le llamamos [IdPadre] e [IdMadre], verdad?

Espero ahora est mas claro el tema y para matar toda duda dejo un pequeo diagrama:

Imagina la UI, un objeto de tipo ComboBox para elegir al padre y otro para elegir a la madre, quiz la
consulta a la base de datos sera:

/*Para cargar el desplegable del padre*/


SELECT * FROM Persona WHERE Sexo = 'M'

/*Para cargar el desplegable de la madre*/


SELECT * FROM Persona WHERE Sexo = 'F'
lunes, 27 de junio de 2016 6:49
Responder

Citar

Willams Morales
(MCC, MVP)

96,195 Puntos

Inicie sesin para votar

Acabo de leer la pregunta acerca de la consulta para obtener el nombre de los padres del alumno cuyo Id =
1

Segn el modelo adjunto sera:

SELECT
h.nombre [Nombre hijo]
p.nombre [Nombre padre],
m.nombre [Nombre madre],
<...>
FROM
Hijos h
INNER JOIN Persona p ON (h.idPadre = p.idPersona)
INNER JOIN Persona m ON (h.idMadre = p.idPersona)

lunes, 27 de junio de 2016 6:54

Responder

Citar
Willams Morales
(MCC, MVP)

96,195 Puntos

Inicie sesin para votar

Muchas gracias Willians, y si estuviera el caso de que necesitara guardar los datos no solo del padre y
madre si no que tambien por decir algo el Padrastro u otro encargado del hijo, se cambiaria la relacion a
N:M cierto?

Fijate en la siguiente UI:

Imaginate que una pareja de padres tuvieran 6 nios y uno de ellos es de diferente papa y lo cuida el
padrasto, ya se complica lo que recomiendas, la opcion de muchos a muchos que te mencione en un
principio no aplica?

Resumiendo lo que necesito es:

Guardar datos del padre

Guardar datos de la madre

y si el nio estuviera con otro encargado (padrastro,abuelo,tio) guardar los datos de ese encargado

ademas:

Si una pareja de padres tiene de 1-n hijos, asignar esos datos de los padres a cada hijo.

asi ala hora de consultar por cualquier Id de unnio, se le debe de traer los mismos datos de los padres o
del encargado(en caso de que se registre la informacion del encargado).

y de igual manera si se consulta por un Id de madre, padre o encargado, se debe de traer todos los hijos sea
1 o n que estan relacionados.

o Editado Jose Alrey martes, 28 de junio de 2016 2:04


martes, 28 de junio de 2016 1:51

Responder

Citar

Jose Alrey
65 Puntos

Inicie sesin para votar

Jose Alrey,
Nada impide que definas una relacin N:M donde contengas los hijos y los tutores relacionados, es
incorrecto? no, es innecesario? quiz. Fjate que slo tendrs como mximo 3 relaciones (idPadre,
idMadre, idEncargado), eso aplica para tenerlo en una sola tabla. Recomendara la relacin N:M cuando un
hijo puede definir "n" relaciones de dependencia y eso es lo que te comente en el primer aporte que te hice.

martes, 28 de junio de 2016 2:29

Responder

Citar

Willams Morales
(MCC, MVP)

96,195 Puntos

0
Inicie sesin para votar

Considera -en caso tengas las 3 relaciones sobre la tabla [Hijos]-, la relacin definida para el encargado
[idEncargado] debe ser opcional NULL.

martes, 28 de junio de 2016 2:40

Responder

Citar

Willams Morales
(MCC, MVP)

96,195 Puntos

Inicie sesin para votar

Saludos Williams, me sale el siguiente error ala hora de asignarle la PK de persona a cada FK en la
tablaHijo, no sabras a que se debe?

mircoles, 29 de junio de 2016 1:04

Responder

Citar

Jose Alrey
65 Puntos

Inicie sesin para votar

Jose Alrey,
No muestras todo el error que obtienes, pero vamos, utiliza algo de cdigo t-sql para crear las relaciones:

ALTER TABLE tHijo ADD CONSTRAINT FK_tHijo_id_Padre FOREIGN KEY (id_Padre)


REFERENCES dbo.tPersona (id_Persona);
ALTER TABLE tHijo ADD CONSTRAINT FK_tHijo_id_Madre FOREIGN KEY (id_Madre)
REFERENCES dbo.tPersona (id_Persona);

Este hilo ya se ha vuelto extenso, te recomiendo que si tienes problemas adicionales crees un nuevo hilo,
adems por estar cerrado tienes menos posibilidades de que otros colaboradores puedan leer y apoyarte.
PARA POWER PIVOT

Novedades de PowerPivot en Denali (XI):


Relacin padre-hijo o autoreferencia en
PowerPivot
por Ildefonso Mas | Nov 22, 2011 | BI & Analytics | 0 Comentarios
En algunas ocasiones necesitamos relacionar una tabla con sigo misma, construyendo una
relacin de autoreferencia o lo que se conoce como relacin padre-hijo en el mundo de
Inteligencia de Negocio. PowerPivot no tiene soporte explcito para este tipo de relaciones
pero con la nueva versin de PowerPivot en SQL Server 2012 disponemos de funciones que
nos permiten simularla perfectamente. Ejemplos de estas relaciones son: empleados o las
cuentas del libro de cuentas de la organizacin. Nuestro objetivo es construir algo como lo
siguiente:

En esta imagen podemos ver que empleado es manager de cada uno de los empleados. En la
versin anterior de PowerPivot no disponamos de jerarquas y los distintos niveles los
tenamos que calcular en la consulta contra el origen sobrecargando as los orgenes debido a
la complejidad de estas consultas. Ahora con la nueva versin de PowerPivot podemos
resolverlo en 3 pasos:
Crear una columna calculada en la tabla que nos permita obtener la ruta desde el primer nivel
hasta el nivel de la fila concreta. Esto lo hacemos con una funcin nueva en PowerPivot para
SQL 2012 que se llama PATH y que la podemos utilizar de la siguiente manera:
=PATH(DimEmployee[EmployeeKey],DimEmployee[ParentEmployeeKey])

Esta funcin recibe como primer parmetro la columna de la tabla que tiene que utilizar para
buscar el valor del padre y el segundo nos dice que valor tiene que buscar. La funcin
construir una ruta con el siguiente aspecto:112|23|18|1, lo que nos indica que estamos en el
empleado con EmployeeKey es el 1 y que su manager es el 18, que a su vez tiene como
manager el 23, y as sucesivamente. Este es el resultado de la columna para el ejemplo de
AdventureWorks:

Crear columnas calculadas para cada una de las columnas y para cada nivel que queremos
utilizar. Para este ejemplo de empleados con Adventure Works, vamos a obtener el nombre de
los tres primeros niveles. Esto lo hacemos tambin con 2 funciones nuevas que
son: LOOKUPVALUE y PATHITEM, y que las podemos utilizar en las columnas calculadas
como vemos en el siguiente ejemplo:
=LOOUPVALUE(DimEmployee[FistName],DimEmployee[EmployeeKey],PATHITEM(Di
mEmployee[RutaEmpleado],1))

En esta columna tenemos que explicar el funcionamiento de dos funciones:


PATHITEM > Recibe como primer parmetro la lista generada con la funcin path y como
segundo el elemento que queremos obtener. En este caso estamos dicindole que queremos
obtener el primer elemento de la lista (el empleado que es manager de todos los dems).
LOOKUPVALUE > Recibe como primer parmetro la columna que queremos obtener (en
nuestro caso el nombre del empleado), como segundo parmetro espera la columna con la
que localizaremos al empleado (normalmente la columna que representa a cada elemento de
la tabla) y por ltimo, en el tercer parmetro enviaremos el elemento que estamos buscando
(el EmployeeKey del manager)
Este es el resultado que obtenemos al crear las tres columnas:

Por ltimo, podemos construir la jerarqua en PowerPivot utilizando las columnas calculadas
creadas.
De esta manera ya podemos construir el informe que necesitbamos. Espero que os haya
gustado y nos vemos en futuros post.
Tambin recordaros que este Jueves 24 de Noviembre de 2011 a las 16:00 horas (horario
Espaa) impartir un webcast sobre novedades de DAX, en que hablaremos de este tema y
otros relacionados con el mundo de las expresiones para el Anlisis de Datos. Espero veros
por all, aqu tenis el link de registro (Webcast de novedades en DAX).
Un saludo
Ilde
https://alejandrocabanchik.com/category/power-pivot/

Introduccin a Funciones de Tablas en DAX

DAX es un lenguaje con una gama de posibilidades y tonalidades nada desdeables, adems, sabemos
que su utilizacin recae en los tres clculos DAX. Dos de los cuales estn disponibles en Power Pivot
para Excel, a saber:
Medidas
Columnas Calculadas
.
El tercer clculo DAX, tablas calculadas, no est disponible en Power Pivot; esperemos que en una
actualizacin futura poder contar con el.
DAX es un lenguaje de funciones destinado a resumir datos, por lo tanto, destinado al anlisis de
datos; para los tres clculos DAX disponibles podemos escribir frmulas o expresiones para conseguir
un objetivo determinado, un resumen de los datos de acuerdo un clculo algortmico deseado.
Aunque el objetivo es resumir los datos en un valor para cierto contexto en la base o bases de datos, lo
cierto es que tambin podemos crear expresiones que devuelvan varios elementos; esta es la razn por la
cual el lenguaje DAX puede ser utilizado como lenguaje de consulta.
En cualquier caso
Podemos crear expresiones DAX que den como resultado una tabla. Ese es el punto!

lenguaje DAX tenemos dos tipos de funciones de acuerdo al valore que arrojan:
Funciones Escalares
Funciones de Tabla
Funciones Escalares y Funciones de Tabla

Decimos entonces que: En DAX podemos crear dos tipos de frmulas o expresiones, Expresiones
Escalares yExpresiones de Tabla. Ejemplo:
Expresin Escalar: Funcin o frmula que arroja como resultado final una escalar, es decir un valor
nico, solo un elemento
=
SUM ( TABLA_Pedidos[Precio de Venta] )
Expresin de Tabla: Funcin o frmula que retornar como resultado final una tabla o un conjutno de
resultados, varios elementos. Ejemplo:
=
FILTER ( TABLA_Pedidos; TABLA_Pedidos[Precio de Venta] >= 40 )

La expresin anterior devuelve un subconjunto de tabla Pedidos de tal manera que nicamente retorna
los registros que son igual o mayores a cuarenta en el campo Precio de Venta.
NOTA IMPORTATE: Aunque podemos utilizar expresiones DAX que retornen una tabla como
resultado, lo cierto es que: No podemos asignar expresiones de tabla directamente a una Medida o
Columna Calculada.
Inferir el porqu de la nota no es muy complejo si miramos una tabla dinmica:

Vemos que los datos se deben resumir en nico valor para mostrarlo en una celda determinada del
reporte de tabla dinmica.
Una Medida se calcula de manera independiente para cada una de las celdas de la tabla dinmica, esto
de acuerdo a su contexto, es decir, de acuerdo a los filtros que la rodean. Por lo anterior la expresin
de la medida debe arrojar un escalar para poder presentarle en dicha celda.
A pesar de lo previo, hay funciones de tipo escalar que aceptan tablas en sus argumentos, por
consiguiente, podemos utilizar expresiones de tabla dentro de funciones escalares. De aqu es donde
nace el principio de encapsulacin oTake Away de encapsulacin como lo llamamos en el libro El
ADN de Power Pivot.
Ejemplo: Funcin COUNTROWS
Por ejemplo, la funcin COUNTROWS es una funcin que retornar un escalar, por ello de agregacin,
adems en su nico argumento acepta una tabla. Como su nombre lo indica es una funcin que cuenta el
nmero de filas en uan tabla o, en una tabla definida por una expresin.
Sintaxis: COUNTROWS(<tabla>)
Segn la definicin podemos utilizar COUNTROWS as:
=
COUNTROWS ( TABLA_Pedidos )
Lo cual cuenta el nmero de filas en la tabla Pedidos , sin embargo, tambin nos dice que en dicho
argumento podemos utilizar expresiones que devuelva una tabla, por lo que podemos crear la siguiente
medidad:
[Ventas de Alta Rentabilidad]:=
COUNTROWS ( FILTER ( TABLA_Pedidos; TABLA_Pedidos[Precio de Venta] >= 40 ) )

En la expresin DAX de la medida anterior, sabemos que la funcin FILTER retorna una tabla con
solamente aquellas filas que en la columna Precio de Venta tienen un valor mayor o igual a 40 y, como
esta encapsulada en la funcin COUNTROWS, entonces la medida retorna el nmero de ventas con un
precio mayor o igual a 40 para el contexto actual.
Existen una infinidad de funciones de tabla, alguns de uso bsico, otras de alta complejidad.
Aqu en este artculo les quiero hablar de la funcin VALUES y la combinacin IF(VALUES()).
Funcin VALUES
La funcin VALUES retorna una tabla de una columna la cual contiene los distintos valores de una tabla
especificada o una expresin de tabla en el contexto actual, es decir, es una funcin de tabla que
remueve los valores duplicados y retorna los valores nicos.
EJEMPLO: si creamos una tabla dinmica con el campo Fecha de Envio (Ao) en el rea de filas y la
siguiente Medida:
[tem]:=
COUNTROWS ( VALUES ( TABLA_Pedidos[SKU] ) )
Obtenemos:
Todos los aos tiene el mismo nmero como resultado, ya que est contando el nmero de SKU
diferentes (Productos) para el contexto, por lo que se infiere que en cada ao hubo por lo menos una
venta de cada uno de los productos disponibles en el catlogo.
La excepcin radica en el ao 1999, pues arroja 12, de ello se puede deducir que para 1999 la lista de
elementos nicos del total disponible era 12, queriendo decir que 7 de los productos en el catlogo no
tuvieron ventas en dicho ao.
Nota como la funcin VALUES se encapsulo en la funcin COUNTROWS, no obstante, Qu sucede si
la tabla es de solo una fila y una columna?
Funcin VALUES como Escalar
Aunque la funcin VALUES es una funcin de tabla, Tambin La Podemos Utilizar Como Escalar,
esto cuando el resultado de la tabla es de una fila por una columna, un nico elemento (Esto es una
caracterstica del Lenguaje DAX en general)
Para tratar de dilucidar mejor, supongamos que queremos crear una tabla dinmica con la siguiente
configuracin:
.
Tipo de Compra de la TABLA_Pedidos al rea de filtros (Filtrado por Devolucin)
Categora de Descuento de la tabla Descuentos al rea de filtros (Filtrado por Black Fraday)
Fecha de Envio (Ao) al rea de filas
Un Slicer (Segmentacin de Datos) del Campo Ciudad (Filtrado por Caracas)
La Medida: [Sum Of Precio de Venta] en el rea de valores
.
La imagen siguiente ilustra la tabla dinmica:

Lo que queremos hacer es ver el Nombre del SKU en caso de que cierta seleccin tenga el mismo SKU,
la Medida sera:
[Nombre SKU]:=
IF (
COUNTROWS ( VALUES ( TABLA_Pedidos[SKU] ) ) = 1;
VALUES ( TABLA_Pedidos[SKU] )
)
El resultado:
Podemos apreciar en la tabla dinmica anterior, que las columnas que tienen las celdas en blanco
significa que hay ms de un SKU para el contexto, mientras que los que tiene el valor solamente tiene
dicho elemento nico.
Un punto interesante aqu es que estamos utilizando el resultado de VALUES como un valor escalar, a
pesar de que por definicin VALUES retorna una tabla, por lo tanto, se debe convertir de formato
Tabla a formato Escalar; en esta situacin el DAX engine lo hace automticamente. Para resumirlo:
Regla de Conversin Implcita (Tabla a Escalar): S una o funcin de tabla arroja una tabla con solo
una fila y una sola columna, entonces, la conversin de tabla a escalar se hace automticamente, si es
requerido.
Si miramos el contexto para el ao 2003, tenemos:
Vemos que hay ms de un valor diferente para la columna SKU, estos son: L01, L02, C14 y CB01.
S no utilizramos el condicional, una vez llegue aqu la ejecucin arrojar un error, pues la conversin
no se puede hacer, no se cumple la regla de conversin implcita.
Si miramos el contexto para el ao 2002:

Vemos para este caso que slo hay un elemento: L04, por lo que VALUES retorna una tabla de un nico
elemento, por esto aparece en la tabla dinmica.
La conversin sucede naturalmente!
Siempre, SIEMPRE, se debe proteger la conversin (Regla De Conversin Implcita) cuando se
utiliza una expresin o funcin de tabla que devuelve un elemento nico, esta proteccin se hace con
un condicional, lo cual permite que el flujo siga si solo hay un valor y la conversin implcita se lleve
a cabo, o que salte sino se cumple.
Combinacin IF(VALUES()) Caso Duplicar Valor

** Las Lnea a continuacin son un extracto del libro El ADN de Power Pivot.
Miremos el siguiente caso, supogamos que tenemos la siguiente tabla dinmica:
Digamos, por ejemplo, que el valor del producto C10 en la tabla dinmica lo queremos multiplicar por
2 (Los dems no hacerlas nada). La medida que formularamos sera la siguiente:
[C10 Doble Suma Precio de Venta]:=
IF (
VALUES ( TABLA_Pedidos[SKU] ) = C10;
[Suma of Precio de Venta] * 2;
[Suma of Precio de Venta] )
No obstante, la medida anterior arroja un error inevitable, esto debido a que no se est protegiendo la
conversin como dijimos previamente, en otras palabras, la expresin DAX puede arrojar ms de un
valor, el DAX engine lo sabe, nos advierte y nos detiene con un error.
La medida vlida sera:
[C10 Doble Suma Precio de Venta]:=
IF (
COUNTROWS ( VALUES ( TABLA_Pedidos[SKU] ) ) = 1;
IF (
VALUES ( TABLA_Pedidos[SKU] ) = C10;
[Suma of Precio de Venta] * 2;
[Suma of Precio de Venta] );
[Suma of Precio de Venta] )
En Qu Momento se Presentara ms de un Valor?
Puede llegar a ser engaoso el caso donde se presente ms de un valor en la funcin VALUES para la
tabla dinmica anterior, esto si nos fijamos nicamente en la configuracin de la tabla dinmica previa;
puesto que para cada celda en la tabla dinmica siempre habra un slo SKU; por ejemplo, la primera
celda: C10, la segunda C11, etc.
Es decir, slo uno en un momento determinado, con lo cual la parte de la
medida: COUNTROWS ( VALUES ( TABLA_Pedidos[SKU] ) ) = 1 no parecera tener un caso en el
que sea falso.
> He aqu la trampa
Qu si pasa si reordenamos los campos de la tabla dinmica de tal manera que el campo SKU no
quede en ninguna de las reas de colocacin?
UN EJEMPLO:

Lo ves ahora?

Ahora es algo ms claro donde puede suceder y el porqu de la proteccin, pues se debe garantizar para
cualquier configuracin (arreglo de campos en las reas de colocacin)
De hecho, esta maleabilidad en la cual se puede utilizar una medida en cualquier configuracin de una
tabla dinmica y en cualquier tabla dinmica del mismo origen se denomina: PORTABILIDAD DE
FUNCIONES. Claro, se debe garantizar!
Funcin HASONEVALUE
Una ltima cosa antes de cerrar este artculo
En lugar de usar: COUNTROWS ( VALUES ( TABLA_Pedidos[SKU] ) ) = 1
Podemos acortar de la siguiente manera: HASONEVALUE ( TABLA_Pedidos[SKU] )
Entiendes lo que hace la funcin HASONEVALUE?

Al final del da podramos acortar un poco la expresin de la medida as:


[C10 Doble Suma Precio de Venta]:=
IF (
HASONEVALUE ( TABLA_Pedidos[SKU] );
IF (
VALUES ( TABLA_Pedidos[SKU] ) = C10;
[Suma of Precio de Venta] * 2;
[Suma of Precio de Venta] );
[Suma of Precio de Venta] )
.
Bueno mis amigos, esto ha sido todo de mi parte el da,
Cuntame Qu te ha parecido este primer acercamiento a las funciones de tabla con VALUES?
No dejes de comentar.
Power Pivot from Identical
Structure Excel Files
Power Pivot is a powerful data analysis add-in that will let you work with millions
of records within the familiar Excel environment. In this tutorial, use it to create a
pivot table from multiple files
Introduction
Create a Connection in the Workbook
Combine the Data in Power Pivot
Change the SQL Statement
Create the Pivot Table
Watch the Power Pivot Video
Download the Sample file

Introduction
Power Pivot for Excel 2010 is a powerful data analysis add-in that will let you work
with millions of records within the familiar Excel environment. To download the
free add-in, go to the Power Pivot pageon the Microsoft website.
You can use Power Pivot to create a pivot table from multiple Excel workbooks or
worksheets, by using the Primary and Foreign keys to join the tables. For example,
there could be a 'ProductID' field in an Orders table and a PriceList table.
Occasionally you might want to create a pivot table from files where you can't use
keys to join the tables. Maybe you have workbooks for different years' sales data, or
budget data from several departments.
In this example, we'll combine data from two Excel files. The files have different
data, but an identical structure -- sales data for the East and West regions. In this
case, we can't use a key to connect the tables; instead, we want to create one
combined table from all the data. The following technique allows you to import
more than a million records from Excel, despite the fact that one worksheet can
only contain up to 1,048,576 rows.
Thanks to Excel MVP, Kirill Lapin, for sharing this very helpful tip with us. You can
see more of Kirill's work in the Contextures blog posts on Combining Data from
Two Excel Files in a Pivot Table.
Create a Connection in the
Workbook
The key to combining data from identical files is to start by creating a workbook
connection, before you launch Power Pivot.

On the Excel Ribbon's Data tab, click Connections.

In the Workbook Connections window, click Add


At the bottom of the Existing Connections window, click Browse for More.

Navigate to the folder where your files are located. In this example the files are in
the C:\_TESTfolder
Select one of the files that you want to import -- EastSales.xlsx in this example --
and click Open.
Select a table to import, and click OK.

The new connection appears in the Workbook Connections window.

Combine the Data in Power Pivot


Close the Workbook Connections window, and on the Ribbon, click the Power Pivot
tab.
Click Power Pivot Window, to launch the Power Pivot add-in.

Note: I'm using Windows XP, so the Power Pivot window has a menu bar in the
screen shots below. If you're using Vista or Windows 7, you'll see a Ribbon instead.

On the Table menu, click Existing Connections, or, on the Ribbon, click Design,
then Existing Connections.

At the bottom of the Existing Connections window, under Workbook Connections,


click on the connection that you added, and click Open.

In the Table Import Wizard, click Next, then select the table, and click Finish
After the data is successfully imported, click Close.

Change the SQL Statement


Now that the first table has been imported, you can change its properties, to
combine it with data from the second table.

On the Table menu, click Table Properties, or on the Ribbon, click the Design tab,
then click Table Properties.
From the Switch To drop down list, select Query Editor.

Edit the SQL statement, to create a union query, combining the two tables. In this
example, the SQL statement is:

SELECT [EastSales$].* FROM [EastSales$]


UNION ALL
SELECT * FROM `C:\_TEST\WestSales.xlsx`.[WestSales$]

After you change the SQL statement, click the Validate button, to verify that the
statement is correct, then click Save.

Note: The SQL query string can also be edited in the Excel workbook connection
window, but there's no Validate feature there:

On the Excel Ribbon, click the Data tab, and click Connections
Select the connection you want to edit, and click Properties.
On the Definition tab, edit the SQL string in the Command text box.
Create the Pivot Table
Now that the data from the two files are combined, you can create a pivot table
from the combined data.

On the Toolbar, click the Create a PivotTable button, or on the Ribbon, click the
Home tab, then click PivotTable.

Select a location for the pivot table, and click OK.

In the Power Pivot Field List, add fields to the pivot table layout, to see a summary
of the combined data.
Here's the pivot table that was created from the combined data, with columns for
the East and West regions. The Report Layout is Tabular, and Number format is
used, with thousands separator and zero decimals.

********************************
Problem

I have read a tip on Importing SQL Server Data from Multiple Data Sources into
PowerPivot for Excel, which talks about bringing in data from two or more sources
into PowerPivot and storing data from each source table/query as a separate
PowerPivot table. I would like to know if there is a way to combine data from two or
more databases/sources into one table in PowerPivot.

Solution

In this tip we will see how the above stated problem can be addressed. For the
purpose of this tip, let's consider the following scenario.

We have a Sales Database which has a large amount of data. The data in this
database is archived every year and stored in a separate database, which is on a
different server. Let's assume that we have data starting from January 2010 and
data for 2010 has been archived and stored in SalesDB_2010, data for 2011 has
been archived and stored in SalesDB_2011, and the current data is present in
SalesDB. All these three databases are present on different servers.

Sample Data Preparation

Let's first prepare the sample data for this demonstration using the following steps:

Create SalesDB_2010 on Server1, SalesDB_2011 on Server2, and SalesDB on


Server3 (Server which holds the current or most recent data, which in our case is
2012 data). Do not try any of these on your live or mission critical servers. Try
these steps only on your development/test servers.
Create the Sales table in each of these three databases using the following script.
CREATE TABLE dbo.FactSales(
Id INT IDENTITY(1,1) PRIMARY KEY
, DateKey INT
, ProductKey INT
, SalesAmount MONEY
)
GO
Run the following insert script on SalesDB_2010 on Server1.
INSERT INTO dbo.FactSales (DateKey,ProductKey,SalesAmount)
VALUES
(20100101,123,1000.26)
, (20100201,456,1003.20)
, (20100301,789,1007.856)
, (20100401,123,1011.66)
, (20100501,456,1016.982)
, (20100601,789,1020.594)
, (20100701,123,1028.70)
, (20100801,456,1039.3515)
, (20100901,789,1043.217)
, (20101001,123,1046.28)
, (20101101,456,1049.118)
, (20101201,789,1065.90)
GO
Run the following insert script on SalesDB_2011 on Server2.
INSERT INTO dbo.FactSales (DateKey,ProductKey,SalesAmount)
VALUES
(20110101,123,2016.882)
, (20110201,456,2023.32)
, (20110301,789,2024.994)
, (20110401,123,2033.964)
, (20110501,456,2039.994)
, (20110601,789,2041.188)
, (20110701,123,2045.8791)
, (20110801,456,2084.6752)
, (20110901,789,2092.56)
, (20111001,123,2097.2945)
, (20111101,456,2101.2043)
, (20111201,789,2108.4343)
GO
Run the following insert script on SalesDB_2012 on Server3.
INSERT INTO dbo.FactSales (DateKey,ProductKey,SalesAmount)
VALUES
(20120101,123,3001.3125)
, (20120201,456,3011.73)
, (20120301,789,3032.3036)
, (20120401,123,3050.946)
, (20120501,456,3051.6096)
, (20120601,789,3061.782)
, (20120701,123,3117.87)
, (20120801,456,3123.2728)
, (20120901,789,3123.4376)
, (20121001,123,3124.1301)
, (20121101,456,3212.082)
, (20121201,789,3222.7484)
GO

Combining data from three different source databases/servers into a


Single PowerPivot Table

Follow the below steps to extract the data from the above three data sources and
consolidate them into a single PowerPivot table. Here we are basically doing a
UNION ALL operation.

Connect to Server3 in SQL Server Management Studio (SSMS) and create


two linked servers as "SalesDB_2010" pointing to Server1 and "SalesDB_2011"
pointing to Server2.

Open Excel, go to the PowerPivot tab and open the PowerPivot window. Note that
you can either create a new Excel file or you can use the Excel file created in our
previous tip Creating Linked Tables in PowerPivot for Excel.
In the PowerPivot window, click on "From Database" under "Get External Data"
section of Top Ribbon, and select "From SQL Server". This will start the "Table
Import Wizard".
Enter the connection information and click Next. Make sure to set the server and
database to the one which holds the current (2012) data. In the above scenario, it
should point to Server3.
Click on "Select from a list of tables and views to choose the data to import" in the
"Choose How to Import the Data" step.
Select "FactSales" in the "Select Tables and Views" step.
Click Close once the data import is completed. After the data import is completed,
the PowerPivot window should look as shown below.
With the first cell in the above table selected, go to Design Tab and click on "Table
Properties" in the Top Ribbon. This will bring up the "Edit Table Properties"
window.
In the "Edit Table Properties" change the "Switch to" property drop-down from
"Table Preview" to "Query Editor".
Paste the following query into the "Edit Table Properties" window.
SELECT Id, DateKey, ProductKey, SalesAmount
FROM OPENQUERY(
SalesDB_2010
, 'SELECT Id, DateKey, ProductKey, SalesAmount FROM
[SalesDB_2010].[dbo].[FactSales]'
)
UNION ALL
SELECT Id, DateKey, ProductKey, SalesAmount
FROM OPENQUERY(
SalesDB_2011
, 'SELECT Id, DateKey, ProductKey, SalesAmount FROM
[SalesDB_2011].[dbo].[FactSales]'
)
UNION ALL
SELECT Id, DateKey, ProductKey, SalesAmount FROM [dbo].[FactSales]
Ensure that the above query is prepared and tested in SSMS before using in
PowerPivot. The updated "Edit Table Properties" window should look as shown
below.
Click Validate and then click Save in the "Edit Table Properties" window. Once the
query is saved, the PowerPivot window will get refreshed and the data for all the
three years will be loaded into a PowerPivot Table as shown below.
Notes

Note that the primary data source is Server3 and the linked servers are created
from this data source to the other two data sources Server1 and Server2, which
contain the 2010 and 2011 data respectively. As we can see, we are using a
simple OPENQUERY and UNION ALL in the above query, which is verified and
executed in SSMS. Based on this, we can clearly say that pretty much any query
which works in SSMS (when executed on the Primary Data Source which is
Server3 for this example), can be used in PowerPivot.
To refresh the data in PowerPivot, go to the Home Tab in PowerPivot ribbon and
click on the down-arrow of the Refresh button and select "Refresh" or "Refresh All"
depending upon whether you want to refresh the current table or all the tables in
PowerPivot respectively.

So, combining data from multiple servers/databases/tables/queries into a single


PowerPivot table is as simple as that.