Power Query es una herramienta poderosa en Excel que permite importar, transformar y limpiar datos de diversas fuentes. En este módulo, exploraremos técnicas avanzadas que te ayudarán a manejar datos complejos y realizar transformaciones sofisticadas.
Contenido
- Introducción a Power Query Avanzado
- Transformaciones Avanzadas de Datos
- Uso de Columnas Personalizadas
- Fusión y Anexado de Consultas
- Uso de Parámetros en Consultas
- Optimización de Consultas
- Ejercicios Prácticos
- Introducción a Power Query Avanzado
Power Query permite realizar tareas avanzadas de manipulación de datos que van más allá de las transformaciones básicas. Estas técnicas son esenciales para trabajar con grandes volúmenes de datos y realizar análisis complejos.
- Transformaciones Avanzadas de Datos
2.1. Dividir Columnas por Delimitadores
Puedes dividir una columna en varias columnas utilizando delimitadores específicos.
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], SplitColumn = Table.SplitColumn(Source, "FullName", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"FirstName", "LastName"}) in SplitColumn
2.2. Pivotar y Despivotar Columnas
Pivotar y despivotar columnas es útil para reorganizar datos.
Pivotar Columnas:
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], PivotedColumn = Table.Pivot(Source, List.Distinct(Source[Category]), "Category", "Value") in PivotedColumn
Despivotar Columnas:
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], UnpivotedColumns = Table.UnpivotOtherColumns(Source, {"ID"}, "Attribute", "Value") in UnpivotedColumns
- Uso de Columnas Personalizadas
Las columnas personalizadas permiten crear nuevas columnas basadas en fórmulas.
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], CustomColumn = Table.AddColumn(Source, "FullName", each [FirstName] & " " & [LastName]) in CustomColumn
- Fusión y Anexado de Consultas
4.1. Fusión de Consultas
La fusión de consultas combina dos tablas basadas en una columna común.
let Source1 = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], Source2 = Excel.CurrentWorkbook(){[Name="Table2"]}[Content], MergedTables = Table.NestedJoin(Source1, "ID", Source2, "ID", "NewColumn", JoinKind.Inner) in MergedTables
4.2. Anexado de Consultas
El anexado de consultas combina filas de dos o más tablas.
let Source1 = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], Source2 = Excel.CurrentWorkbook(){[Name="Table2"]}[Content], AppendedTables = Table.Combine({Source1, Source2}) in AppendedTables
- Uso de Parámetros en Consultas
Los parámetros permiten crear consultas dinámicas que pueden ser reutilizadas con diferentes valores.
let Param = Excel.CurrentWorkbook(){[Name="ParameterTable"]}[Content]{0}[Value], Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], FilteredRows = Table.SelectRows(Source, each [Column1] = Param) in FilteredRows
- Optimización de Consultas
6.1. Eliminar Columnas No Necesarias
Eliminar columnas innecesarias puede mejorar el rendimiento de las consultas.
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], RemovedColumns = Table.RemoveColumns(Source, {"UnnecessaryColumn1", "UnnecessaryColumn2"}) in RemovedColumns
6.2. Filtrar Datos en la Fuente
Filtrar datos en la fuente reduce la cantidad de datos que se importan y procesan.
let Source = Sql.Database("ServerName", "DatabaseName"), FilteredData = Table.SelectRows(Source, each [Date] >= #date(2023, 1, 1)) in FilteredData
- Ejercicios Prácticos
Ejercicio 1: Dividir Nombres Completo
Objetivo: Dividir una columna de nombres completos en nombres y apellidos.
Instrucciones:
- Crea una tabla con una columna "FullName" que contenga nombres completos.
- Usa Power Query para dividir la columna en "FirstName" y "LastName".
Solución:
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], SplitColumn = Table.SplitColumn(Source, "FullName", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"FirstName", "LastName"}) in SplitColumn
Ejercicio 2: Fusionar Tablas
Objetivo: Fusionar dos tablas basadas en una columna común.
Instrucciones:
- Crea dos tablas con una columna común "ID".
- Usa Power Query para fusionar las tablas en una sola.
Solución:
let Source1 = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], Source2 = Excel.CurrentWorkbook(){[Name="Table2"]}[Content], MergedTables = Table.NestedJoin(Source1, "ID", Source2, "ID", "NewColumn", JoinKind.Inner) in MergedTables
Conclusión
En esta sección, hemos explorado técnicas avanzadas de Power Query que te permitirán manejar y transformar datos de manera más eficiente y efectiva. Estas habilidades son esenciales para cualquier analista de datos que trabaje con grandes volúmenes de información y necesite realizar análisis complejos. En el próximo módulo, profundizaremos en la integración de Excel con otras herramientas avanzadas.
Dominar Excel: De Principiante a Avanzado
Módulo 1: Introducción a Excel
- Comenzando con Excel
- Entendiendo la Interfaz de Excel
- Terminología Básica de Excel
- Creando y Guardando Libros de Trabajo
- Ingresando y Editando Datos
Módulo 2: Funciones Básicas de Excel
- Fórmulas y Funciones Básicas
- Usando AutoSuma y Otros Cálculos Rápidos
- Referencias de Celdas
- Técnicas Básicas de Formato
- Ordenar y Filtrar Datos
Módulo 3: Habilidades Intermedias de Excel
- Trabajando con Múltiples Hojas de Trabajo
- Usando Rangos Nombrados
- Formato Condicional
- Introducción a Gráficos y Diagramas
- Validación de Datos
Módulo 4: Fórmulas y Funciones Avanzadas
- Funciones Lógicas Avanzadas (SI, Y, O)
- Funciones de Búsqueda (BUSCARV, BUSCARH, XLOOKUP)
- Funciones de Texto
- Funciones de Fecha y Hora
- Fórmulas de Matrices
Módulo 5: Análisis y Visualización de Datos
- Tablas Dinámicas
- Gráficos Dinámicos
- Técnicas Avanzadas de Gráficos
- Usando Segmentaciones y Líneas de Tiempo
- Introducción a Power Query
Módulo 6: Gestión Avanzada de Datos
- Consolidación de Datos
- Usando Tablas de Excel
- Técnicas Avanzadas de Filtrado
- Análisis de Suposiciones (Administrador de Escenarios, Buscar Objetivo)
- Validación de Datos con Reglas Personalizadas
Módulo 7: Automatización y Macros
- Introducción a Macros
- Grabación y Ejecución de Macros
- Editando Macros con VBA
- Creación de Funciones Definidas por el Usuario
- Automatización de Tareas con VBA
Módulo 8: Colaboración y Seguridad
- Compartir y Colaborar en Libros de Trabajo
- Rastrear Cambios y Comentarios
- Protección de Libros y Hojas de Trabajo
- Usando Excel Online
- Cifrado y Seguridad de Datos