¿Qué es Power Query?

Power Query es un motor de transformación y preparación de datos. Power Query incluye una interfaz gráfica para obtener datos de orígenes y un editor de Power Query para aplicar transformaciones. Debido a que el motor está disponible en muchos productos y servicios, el destino donde se almacenarán los datos depende de dónde se haya utilizado Power Query. Mediante Power Query puede realizar el procesamiento de datos de extracción, transformación y carga (ETL).

Entrada, transformación y destino de Power Query.

Diagrama con orígenes de datos simbolizados a la izquierda, que pasan por Power Query para la transformación en el centro y, a continuación, se dirigen a cuatro destinos a la derecha: Microsoft Azure Data Lake Storage, Microsoft Dataverse, Microsoft Excel y Microsoft Power BI.

Cómo ayuda Power Query con la adquisición de datos

Los usuarios empresariales invierten hasta el 80 % de su tiempo en preparar datos, lo que retrasa el trabajo de análisis y toma de decisiones. Varios desafíos contribuyen a esta situación y Power Query ayuda a abordar muchos de ellos.

Desafíos existentes ¿Cómo ayuda Power Query?
Buscar y conectarse a datos es demasiado difícil Power Query permite la conectividad a una amplia gama de orígenes de datos, entre los que se incluyen datos de todos los tamaños y formas.
Las experiencias de conectividad a los datos están demasiado fragmentadas Coherencia de la experiencia y paridad de las funcionalidades de consulta en todos los orígenes de datos.
A menudo, es necesario volver a dar forma a los datos antes del consumo. Experiencia altamente interactiva e intuitiva para crear consultas de forma rápida e interactiva en cualquier origen de datos, sea del tamaño que sea.
Cualquier modelado es único y no se puede repetir Al usar Power Query para acceder a los datos y transformarlos, se define un proceso repetible (consulta) que se puede actualizar con facilidad en el futuro para obtener datos actualizados.
En caso de que necesite modificar el proceso o la consulta para tener en cuenta los cambios de esquema o datos subyacentes, puede usar la misma experiencia interactiva e intuitiva que usó al definir inicialmente la consulta.
Volumen (tamaños de datos), velocidad (tasa de cambio) y variedad (amplitud de orígenes de datos y formas de datos) Power Query ofrece la capacidad de trabajar con un subconjunto de todo el conjunto de datos para definir las transformaciones de datos necesarias, lo que le permite filtrar y transformar fácilmente los datos en un tamaño manejable.
Las consultas de Power Query se pueden actualizar manualmente o aprovechando las funcionalidades de actualización programadas en productos específicos (como Power BI) o incluso mediante programación (mediante el modelo de objetos de Excel).
Dado que Power Query proporciona conectividad a cientos de orígenes de datos y más de 350 tipos diferentes de transformaciones de datos para cada uno de estos orígenes, puede trabajar con datos de cualquier origen y en cualquier forma.

Experiencias de Power Query

La experiencia del usuario de Power Query se ofrece a través de la interfaz de usuario del editor de Power Query. El objetivo de esta interfaz es ayudarle a aplicar las transformaciones que necesita, para ello tan solo debe interactuar con un conjunto de cintas de opciones, menús, botones y otros componentes interactivos fáciles de usar.

El editor de Power Query es la experiencia de preparación de datos principal, en la que puede conectarse a una amplia variedad de orígenes de datos y aplicar cientos de transformaciones de datos diferentes mediante la vista previa de los datos y la selección de transformaciones desde la interfaz de usuario. Estas funcionalidades de transformación de datos son comunes en todos los orígenes de datos, sean cuales sean las limitaciones subyacentes del origen de datos.

Cuando se crea un nuevo paso de transformación al interactuar con los componentes de la interfaz de Power Query, Power Query crea automáticamente el código M necesario para realizar la transformación, por lo que no es necesario escribir ningún código.

Actualmente, hay disponibles dos experiencias de Power Query:

  • Power Query Online: se encuentra en integraciones como flujos de datos de Power BI, flujos de datos de Microsoft Power Platform, flujos de datos de limpieza y transformación de Azure Data Factory y muchos más que proporcionan la experiencia a través de una página web en línea.
  • Power Query para escritorio: se encuentra en integraciones como Power Query para Excel y Power BI Desktop.

Nota:

Aunque existen dos experiencias de Power Query, ambas proporcionan casi la misma experiencia de usuario en cada escenario.

Transformaciones

El motor de transformación de Power Query incluye muchas funciones de transformación precompiladas que se pueden usar a través de la interfaz gráfica del editor de Power Query. Estas transformaciones pueden ser tan sencillas como quitar una columna o filtrar filas, o tan habituales como usar la primera fila como encabezado de tabla. También hay opciones de transformación avanzadas, como combinar, anexar, agrupar (por), dinamizar y anular la dinamización.

Todas estas transformaciones son posibles al elegir la opción de transformación en el menú y aplicar las opciones necesarias para esa transformación. En la siguiente ilustración se muestran algunas de las transformaciones disponibles en el editor de Power Query.

Imagen que muestra los comandos de transformación en las pestañas Transformar, Inicio y Agregar columna del Editor de Power Query.

Para más información: Inicio rápido: Uso de Power Query en Power BI

Flujos de datos

Power Query se puede usar en muchos productos, como Power BI y Excel. Sin embargo, el uso de Power Query dentro de un producto limita su uso solo a ese producto específico. Los flujos de datos son una versión del servicio independiente del producto de la experiencia de Power Query que se ejecuta en la nube. Mediante los flujos de datos, se pueden obtener datos y transformarlos de la misma forma, pero en lugar de enviar la salida a Power BI o Excel, se puede almacenar la salida en otras opciones de almacenamiento, como Dataverse o Azure Data Lake Storage. De este modo, puede usar la salida de flujos de datos en otros productos y servicios.

Más información: ¿Qué son los flujos de datos?

Lenguaje de fórmulas de Power Query M

En cualquier escenario de transformación de datos, hay algunas transformaciones que no se pueden realizar de la mejor forma mediante el editor gráfico. Algunas de estas transformaciones pueden requerir ajustes y configuraciones especiales que la interfaz gráfica no admite en la actualidad. El motor de Power Query usa un lenguaje de scripting en segundo plano para todas las transformaciones de Power Query: el lenguaje de fórmulas M de Power Query, también conocido como M.

El lenguaje M es el lenguaje de transformación de datos de Power Query. Todo lo que sucede en la consulta se escribe en última instancia en M. Si desea realizar transformaciones avanzadas mediante el motor de Power Query, puede usar el editor avanzado para acceder al script de la consulta y modificarlo como desee. Si se da el caso de que las funciones y transformaciones de la interfaz de usuario no realizan los cambios exactos que necesita, use el editor avanzado y el lenguaje M para ajustar las funciones y las transformaciones.

let
    Source = Exchange.Contents("xyz@contoso.com"),
    Mail1 = Source{[Name="Mail"]}[Data],
    #"Expanded Sender" = Table.ExpandRecordColumn(Mail1, "Sender", {"Name"}, {"Name"}),
    #"Filtered Rows" = Table.SelectRows(#"Expanded Sender", each ([HasAttachments] = true)),
    #"Filtered Rows1" = Table.SelectRows(#"Filtered Rows", each ([Subject] = "sample files for email PQ test") and ([Folder Path] = "\Inbox\")),
    #"Removed Other Columns" = Table.SelectColumns(#"Filtered Rows1",{"Attachments"}),
    #"Expanded Attachments" = Table.ExpandTableColumn(#"Removed Other Columns", "Attachments", {"Name", "AttachmentContent"}, {"Name", "AttachmentContent"}),
    #"Filtered Hidden Files1" = Table.SelectRows(#"Expanded Attachments", each [Attributes]?[Hidden]? <> true),
    #"Invoke Custom Function1" = Table.AddColumn(#"Filtered Hidden Files1", "Transform File from Mail", each #"Transform File from Mail"([AttachmentContent])),
    #"Removed Other Columns1" = Table.SelectColumns(#"Invoke Custom Function1", {"Transform File from Mail"}),
    #"Expanded Table Column1" = Table.ExpandTableColumn(#"Removed Other Columns1", "Transform File from Mail", Table.ColumnNames(#"Transform File from Mail"(#"Sample File"))),
    #"Changed Type" = Table.TransformColumnTypes(#"Expanded Table Column1",{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}, {"Column6", type text}, {"Column7", type text}, {"Column8", type text}, {"Column9", type text}, {"Column10", type text}})
in
    #"Changed Type"

Más información: Lenguaje de fórmulas M de Power Query

¿Dónde se puede usar Power Query?

En la tabla siguiente se enumeran los productos y servicios de Microsoft en los que se puede encontrar Power Query.

Producto Motor de M1 Power Query
Escritorio2
Power Query
Online3
Flujos de datos4
Excel para Windows No No
Excel para Mac No No
Power BI
Power Apps No
Power Automate No No
Power BI Report Server No No
Azure Data Factory No
Data Factory en Microsoft Fabric No
SQL Server Integration Services No N.º No
SQL Server Analysis Services No No
Dynamics 365 Customer Insights No
1Motor de M Motor de ejecución de consultas subyacente que ejecuta consultas expresadas en el lenguaje de fórmulas de Power Query ("M").
2Power Query Desktop La experiencia de Power Query que se encuentra en las aplicaciones de escritorio.
3Power Query Online La experiencia de Power Query que se encuentra en las aplicaciones del explorador web.
4Flujos de datos Power Query como servicio que se ejecuta en la nube y es independiente del producto. El resultado almacenado se puede usar en otras aplicaciones como servicios.

Consulte también

Orígenes de datos en Power Query
Obtención de datos
Inicio rápido de Power Query
Dar forma y combinar datos mediante Power Query
¿Qué son los flujos de datos?