Forum Discussion
Transformar Column1 en ColumnHeaders
- 1 year ago
Hola @powerbidev123
Aquí está la solución a su problema
Ritesh
✔️Por favor, marque la respuesta si es útil para que pueda ayudar a otros también🙏
- 1 year ago
Hola @dyabes
He tomado solo la columna 1 y la columna 2 en mi archivo de Excel:
Esta es la consulta M:
dejar
Origen = Excel.Workbook(File.Contents("File_Name.xlsx"), null, true),
Sheet1_Sheet = fuente{[item="Hoja1",kind="hoja"]}[datos],
#"Encabezados promocionados" = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),
#"Tipo cambiado" = Tabla.TransformColumnTypes(#"Encabezados promocionados",{{"Columna1", escriba texto}, {"Columna2", escriba cualquiera}}),
#"Columna condicional agregada" = Tabla.AddColumn(#"Tipo cambiado", "Grupo", cada uno si [Columna1] = "Nombre completo" entonces [Columna2] else null),
#"Llenado" = Tabla.FillDown(#"Columna condicional agregada",{"Grupo"}),
#"Columna pivotada" = Tabla.Pivote(#"Llenado", Lista.Distinto(#"Llenado"[Columna1]), "Columna1", "Columna2"),
#"Columnas eliminadas" = Table.RemoveColumns(#"Columna pivotada",{"Grupo"})
en
#"Columnas eliminadas"
Esto debería darte el resultado deseado:
Hola
No estoy seguro de cuál es el formato de origen de estos datos. Por ejemplo, ¿tiene dos columnas separadas o tanto column1 como Column2 forman parte de una columna?
Así que he hecho la transformación asumiendo que tanto la columna 1 como la columna 2 son dos columnas separadas y se guardan en Excel.
| Columna1 | Columna2 |
| Nombre completo | Abayan, Marcos |
| Fecha de liberación del préstamo | 11/21/2024 |
| Monto del préstamo | 4000 |
| Tipo de préstamo | Préstamo Sueldo |
| Propósito del préstamo | Enviado a los padres |
| Nombre completo | Dacanay, Jeffrey |
| Fecha de liberación del préstamo | 11/25/2024 |
| Monto del préstamo | 1000 |
| Tipo de préstamo | Adelanto de efectivo |
| Propósito del préstamo | Adelanto de efectivo |
| Nombre completo | Flores, Joan |
| Fecha de liberación del préstamo | 11/28/2024 |
| Monto del préstamo | 500 |
| Tipo de préstamo | Adelanto de efectivo |
| Propósito del préstamo | nulo |
A continuación se muestran los pasos de transformación en Power Query:
Paso 1: Cree una columna condicional, llámela como 'Grupo' e incluya lo siguiente
Si [Columna1] = "Nombre completo", entonces [Columna2] else null
De esta manera, estamos tratando de romper el grupo de filas en función del nombre completo
Ste2: Rellena la columna 'Grupo'
Paso 3: Pivote la columna1 y seleccione la columna2 como valores
Paso 4: Eliminar la columna de grupo
Esta es la consulta M:
dejar
Origen = Excel.Workbook(File.Contents("File_Path.xlsx"), null, true),
Sheet1_Sheet = fuente{[item="Hoja1",kind="hoja"]}[datos],
#"Encabezados promocionados" = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),
#"Tipo cambiado" = Tabla.TransformColumnTypes(#"Encabezados promocionados",{{"Columna1", escriba texto}, {"Columna2", escriba cualquiera}}),
#"Columna condicional agregada" = Tabla.AddColumn(#"Tipo cambiado", "Grupo", cada uno si [Columna1] = "Nombre completo" entonces [Columna2] else null),
#"Llenado" = Tabla.FillDown(#"Columna condicional agregada",{"Grupo"}),
#"Columna pivotada" = Tabla.Pivote(#"Llenado", Lista.Distinto(#"Llenado"[Columna1]), "Columna1", "Columna2"),
#"Columnas eliminadas" = Table.RemoveColumns(#"Columna pivotada",{"Grupo"})
en
#"Columnas eliminadas"