jueves, 29 de diciembre de 2022

Power Query: Table.TransformRows

Si en la (entrada anterior hablábamos de una función alternativa muy interesante como Table.TransformColumns, hoy hablaremos de otra semejante, pero más impresionante si cabe:
Table.TransformRows(table as table, transform as function) as list
Función que crea un elemento list aplicando la operación transform a cada fila de table.

Esta función nos va a permitir, fácilmente, controlar qué columnas queremos elegir (en lugar de Table.SelectColumns), y a un mismo tiempo, incluso podemos realizar un proceso de transformación de nuestros datos!!.

Personalmente no había analizado esta función en profundidad, y me ha sorprendido gratamente ;-)

Iniciemos nuestro ejercicio desde una tabla con cuatro columnas: Fechas, Artículos, Unidades y Name
Power Query: Table.TransformRows

Objetivo a cumplir:
1-elegir solo las columnas de Fechas, Unidades y País
2-transformar el campo Fechas al formato Date
transformar la Unidades en el doble
transformar el País y quitar el prefijo 'Tbl'
3-Renombrar los nombres de las columnas

Veamos nuestro código creado en una Consulta en blanco dentro del editor de Power Query:
let
    Origen = AlternativaClasica,

    //TransformRows nos permite Elegir Columnas, renombrarlas, y a un tiempo aplicar algún tipo de transformación!!
    Transformacion=Table.TransformRows(Origen, 
            each [Fechas=Date.From([Fechas]),   //convertimos las FEchas 
                B = [Unidades]*2,               //doblamos las Unidades
                País=Text.End([Name],2)] ),     //Eliminamos el prefijo de cada texto

    //convertimos la lista de registros que no retorna TransformRows en Tabla
    ATabla=Table.FromRecords(Transformacion)
in
    ATabla

Power Query: Table.TransformRows


El resultado es el esperado...
Power Query: Table.TransformRows


Función muy versatil, sin duda.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.