Hace un par de días recibí una pregunta muy interesante de un alumno. Acabábamos de finalizar una formación sobre PowerBI con MS Office Excel 2013 y se preguntaba cuáles serían las diferencias entre Power Query y Power Pivot, ya que con ambas es posible importar datos de orígenes externos y realizar transformaciones. Ambas funcionalidades, importar de orígenes externos y transformar, hablando genéricamente, están disponibles desde la ficha Datos de Excel desde hace mucho. Lo que podemos conseguir hoy desde Power Query y Power Pivot va mucho, muchísimo más allá.
Partiendo de que son dos herramientas diferentes, con funcionalidades y resultados diferentes, enumeré algunos de los aspectos que me parecieron más relevantes. He continuado pensando sobre este tema, por lo que comienzo hoy una nueva serie, cuyo objetivo es, no sólo enumerar algunas de las diferencias, sino ejemplificarlas y llegado el caso, ayude a decidir cuándo utilizar cada una.
A partir de la respuesta dada al alumno, les dejo esta tabla, que nos servirá como punto de partida para desarrollar la serie.
Aspecto / Herramienta |
Power Query |
Power Pivot |
Disponibilidad | No integrada en Excel 2013, suplemento gratuito descargable. En desarrollo, evolucionando rápidamente. | Integrada en Excel 2013, con sus diferentes sabores |
Orígenes de datos | Muy diversos, muchos orígenes están disponibles sólo desde Power Query | Aunque también importa desde orígenes de datos muy diversos, no llega, ni de lejos a las posibilidades de Power Query |
Lectura de Metadatos en servidor SQL Server | Muy efectivo. Como se trata de la consulta, desde el editor, podemos acceder a las columnas de las tablas relacionadas. | Sólo trae las tablas o vistas seleccionadas por el asistente, con las relaciones existentes, si se importan juntas. |
Identificación de relaciones entre tablas en servidor SQL Server | Al reutilizar la conexión, sí importa las relaciones entre tablas existentes en la base de datos de origen | Al reutilizar la conexión, no importa las relaciones entre tablas existentes en la base de datos de origen |
Extracción de datos | Extrae un subconjunto para facilitar vista preliminar y realizar las transformaciones | Importa los datos, creando una instantánea entre lo que hay físicamente en Excel y lo que hay en el servidor en el momento de la importación |
Ejecución de transformaciones | En el servidor que corresponde al origen de datos | En Excel, al servidor de origen sólo se accede durante la importación y el procesado o recarga de datos |
Uso de memoria | Durante la creación de la consulta al no tener cargados todos los datos, no es un problema | Al tener todos los datos almacenados en memoria, puede provocar problemas de rendimiento |
Consumo del resultado desde tabla dinámica (TD) | No hay paso directo de PQ a TD | Sí, nativo |
Consumo del resultado desde Power View (PV) | No | Sí, es origen de datos para PV |
Consumo del resultado desde Power Map (PM) | No | Sí, es origen de datos para PM |
Lenguaje para transformaciones | Lenguaje M para extracción y transformación | Lenguaje de expresiones DAX para crear columnas calculadas y medidas |
Opciones de menú para transformaciones | Cubren todas las transformaciones básicas necesarias | No existen opciones de menú para transformaciones que en PP es crear columnas calculadas y/o medidas |
Opciones de menú para propiedades | Si, existen | Si, existen |
Curva de aprendizaje | No hay que aprender M, si se conoce se pde trabajar desde el editor avanzado de código | No se puede evitar, hay que entender DAX, que aunque puede recordar a Excel y/o al mundo relacional, es diferente y puede costar entender su comportamiento |
Reusabilidad | La consulta en M, puede ser copiada y pegada en otro libro Excel, ejecuta, modificada a mano, por ejemplo, es muy sencillo actualizar la ruta de un origen de datos | No es posible «copiar» y «pegar» un modelo tabular creado en PowerPivot, lo que sí se puede hacer es consultar, con DAX, uno existente |
Resultado | Consulta | Modelo tabular |
Funcionalidad | Definir la consulta para extraer datos y cargarlos en hojas Excel y/o Modelos de datos | Su funcionalidad es crear el Modelo tabular que será consumido, entre otros, por tablas y gráficos dinámicos, PV y PM |
Hasta la próxima entrada, en la que comenzaremos a ver, diferencias en Orígenes de datos externos.
No te pierdas el resto de entradas de la serie Power Query vs Power Pivot
Estimada Ana
Encontré muy interesante su comparación.
Estoy empezando a ver el mundo de Power BI, mas aun hay algo que no me queda claro y quizá pudiera Ud. ayudarme. ¿Power Query es mas potente o tiene más limitaciones en contraste con SSIS?
De antemano muchas gracias.
Me gustaMe gusta
Hola José
Gracias por tu mensaje y amables comentarios.
Siento el retraso, estoy intentando ponerme al día con la web.
Sobre tu pregunta, Power Query y SSIS hacen lo mismo en su esencia, importar datos externos, transformarlos y cargarlo en un destino. Power query tiene acceso a muchos orígenes de datos a los que no llega SSIS, además está en Excel, por lo que llega a mayor cantidad de usuarios. No es necesario conocer un lenguaje de programación ni entrar en proyectos VS para crear consultas con Power Query. Soy fan de ambas herramientas, cada una para si destinatario.
Espero que resulte de utilidad.
Saludos,
Ana
Me gustaMe gusta