¿Qué es Power Query?
Power Query es un motor de preparación de datos y transformació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. Dado que el motor está disponible en muchos productos y servicios, el destino donde se almacenan los datos depende de dónde se use Power Query. Con Power Query, puede realizar el procesamiento de extracción, transformación y carga (ETL) de datos.
Diagrama con orígenes de datos simbolizados a la izquierda, pasando por Power Query para la transformación en el centro y, a continuación, ir 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 la preparación de 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ío existente | ¿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, incluidos los datos de todos los tamaños y formas. |
Las experiencias de conectividad de datos son 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 iterativa en cualquier origen de datos, de cualquier tamaño. |
Cualquier forma es única y no repetible | Al usar Power Query para acceder a los datos y transformarlos, se define un proceso repetible (consulta) que se puede actualizar fácilmente en el futuro para obtener datos de up-to-date. 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 (velocidad 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 de usuario de Power Query se proporciona 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 simplemente interactuando con un conjunto descriptivo de cintas de opciones, menús, botones y otros componentes interactivos.
El editor de Power Query es la experiencia de preparación de datos principal. En el editor, puede conectarse a una amplia gama 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 de la interfaz de usuario. Estas funcionalidades de transformación de datos son comunes en todos los orígenes de datos, independientemente de las limitaciones del origen de datos subyacente.
Al crear un nuevo paso de transformación interactuando 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 integrado en herramientas como los flujos de datos de Power BI, los flujos de datos de Power Platform, los flujos de datos de organización de Azure Data Factory y muchos más que ofrecen la experiencia mediante una página web en línea.
- Power Query for Desktop: 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 comunes 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 eligiendo la opción de transformación en el menú y aplicando las opciones necesarias para esa transformación. En la ilustración siguiente se muestran algunas de las transformaciones disponibles en el editor de Power Query.
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. Dataflows son una versión del servicio independiente de producto de la experiencia de Power Query que se ejecuta en la nube. Con los flujos de datos, puede obtener datos y transformarlos de la misma manera. Pero en lugar de enviar la salida a Power BI o Excel, 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 M de Power Query
En cualquier escenario de transformación de datos, hay algunas transformaciones que no se pueden realizar de la mejor manera mediante el editor gráfico. Algunas de estas transformaciones pueden requerir configuraciones y configuraciones especiales que la interfaz gráfica no admite actualmente. 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 encuentra que las funciones y transformaciones de la interfaz de usuario no pueden realizar 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 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 M1 | Power Query Escritorio2 |
Power Query En línea3 |
Flujos de datos4 |
---|---|---|---|---|
Excel para Windows | Sí | Sí | No | No |
Excel para Mac | Sí | Sí | No | No |
Power BI | Sí | Sí | Sí | Sí |
Power Apps | Sí | No | Sí | Sí |
Power Automate | Sí | No | Sí | No |
Servidor de informes de Power BI | Sí | Sí | No | No |
Azure Data Factory | Sí | No | Sí | Sí |
Data Factory en Microsoft Fabric | Sí | No | Sí | Sí |
SQL Server Integration Services | Sí | No | No | No |
SQL Server Analysis Services | Sí | Sí | No | No |
Dynamics 365 Customer Insights | Sí | No | Sí | Sí |
1Motor 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 funcionalidad de Power Query disponible 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. |