Forum Discussion
02650705R
5 years agoNew Member
estructurar tabla
Buenos días, necesito convertir una tabla en editor power query de la siguiente manera:
Tabla inicial:
| nulo | nulo | mes1 | mes1 | mes2 | mes2 | mes3 | mes3 |
| nulo | nulo | primera quincena | segunda quincena | primera quincena | segunda quincena | primera quincena | segunda quincena |
| persona 1 | tipo1 | 1 | 2 | 3 | 4 | 5 | 6 |
| persona1 | tipo2 | 5 | 8 | 4 | 3 | 8 | 25 |
| persona 2 | tipo1 | 1 | 2 | 3 | 4 | 5 | 6 |
| persona2 | tipo2 | 5 | 8 | 4 | 3 | 8 | 25 |
| persona 3 | tipo1 | 1 | 2 | 3 | 4 | 5 | 6 |
| persona3 | tipo2 | 5 | 8 | 4 | 3 | 8 | 25 |
Tabla a conseguir:
| persona | tipo | mes | quincena | valor |
| persona1 | tipo1 | mes1 | primera quincena | 1 |
| persona1 | tipo1 | mes1 | segunda quincena | 2 |
| persona1 | tipo1 | mes2 | primera quincena | 3 |
| persona1 | tipo1 | mes2 | segunda quincena | 4 |
| persona1 | tipo1 | mes3 | primera quincena | 5 |
| persona1 | tipo1 | mes3 | segunda quincena | 6 |
| persona1 | tipo2 | mes1 | primera quincena | 5 |
| persona1 | tipo2 | mes1 | segunda quincena | 8 |
| persona1 | tipo2 | mes2 | primera quincena | 4 |
| persona1 | tipo2 | mes2 | segunda quincena | 3 |
| persona1 | tipo2 | mes3 | primera quincena | 8 |
| persona1 | tipo2 | mes3 | segunda quincena | 25 |
| persona2 | tipo1 | mes1 | primera quincena | 1 |
| persona2 | tipo1 | mes1 | segunda quincena | 2 |
| persona2 | tipo1 | mes2 | primera quincena | 3 |
| persona2 | tipo1 | mes2 | segunda quincena | 4 |
| persona2 | tipo1 | mes3 | primera quincena | 5 |
| persona2 | tipo1 | mes3 | segunda quincena | 6 |
| persona2 | tipo2 | mes1 | primera quincena | 5 |
| persona2 | tipo2 | mes1 | segunda quincena | 8 |
| persona2 | tipo2 | mes2 | primera quincena | 4 |
| persona2 | tipo2 | mes2 | segunda quincena | 3 |
| persona2 | tipo2 | mes3 | primera quincena | 8 |
| persona2 | tipo2 | mes3 | segunda quincena | 25 |
| persona3 | tipo1 | mes1 | primera quincena | 1 |
| persona3 | tipo1 | mes1 | segunda quincena | 2 |
| persona3 | tipo1 | mes2 | primera quincena | 3 |
| persona3 | tipo1 | mes2 | segunda quincena | 4 |
| persona3 | tipo1 | mes3 | primera quincena | 5 |
| persona3 | tipo1 | mes3 | segunda quincena | 6 |
| persona3 | tipo2 | mes1 | primera quincena | 5 |
| persona3 | tipo2 | mes1 | segunda quincena | 8 |
| persona3 | tipo2 | mes2 | primera quincena | 4 |
| persona3 | tipo2 | mes2 | segunda quincena | 3 |
| persona3 | tipo2 | mes3 | primera quincena | 8 |
| persona3 | tipo2 | mes3 | segunda quincena | 25 |
Espero haberme explicado.
Muchisimas gracias de antemano
@Syndicate_Admin
Cree una consulta en blanco, vaya al Editor avanzado, borre el código existente y pegue los códigos que darán a continuación y siga los pasos.let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WyivNyVHSgVG5qcWGKJQRCmUMo2J10HWmZRYVlyik5ReV5GWmZ5QARYpTk/PzUlCEqKUIZH1BalFxfp4CyJ0lmQX5IBqEQS4FOdMEiE2B2AxJcSJMsRFU0gKq0BjKNjJFNtqIFKONSDLamBSjjYkwOhYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t, Column3 = _t, Column4 = _t, Column5 = _t, Column6 = _t, Column7 = _t, Column8 = _t]), #"Transposed Table" = Table.Transpose(Source), #"Merged Columns" = Table.CombineColumns(#"Transposed Table",{"Column1", "Column2"},Combiner.CombineTextByDelimiter("|", QuoteStyle.None),"Merged"), #"Transposed Table1" = Table.Transpose(#"Merged Columns"), #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table1", [PromoteAllScalars=true]), #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"null|null", type text}, {"null|null_1", type text}, {"mes1|first fortnight", Int64.Type}, {"mes1|second fortnight", Int64.Type}, {"mes2|first fortnight", Int64.Type}, {"mes2|second fortnight", Int64.Type}, {"mes3|first fortnight", Int64.Type}, {"mes3|second fortnight", Int64.Type}}), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"null|null", "null|null_1"}, "Attribute", "Value"), #"Split Column by Delimiter" = Table.SplitColumn(#"Unpivoted Other Columns", "Attribute", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Attribute.1", "Attribute.2"}), #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Attribute.1", type text}, {"Attribute.2", type text}}), #"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"null|null", "Person"}, {"null|null_1", "Guy"}, {"Attribute.1", "My"}, {"Attribute.2", "Fortnight"}}) in #"Renamed Columns"
Mira mi video sobre este tema : https://www.youtube.com/watch?v=_YjFGsS9lNY&t=0s
2 Replies
- Syndicate_Admin
Administrator
@Syndicate_Admin
Cree una consulta en blanco, vaya al Editor avanzado, borre el código existente y pegue los códigos que darán a continuación y siga los pasos.let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WyivNyVHSgVG5qcWGKJQRCmUMo2J10HWmZRYVlyik5ReV5GWmZ5QARYpTk/PzUlCEqKUIZH1BalFxfp4CyJ0lmQX5IBqEQS4FOdMEiE2B2AxJcSJMsRFU0gKq0BjKNjJFNtqIFKONSDLamBSjjYkwOhYA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t, Column3 = _t, Column4 = _t, Column5 = _t, Column6 = _t, Column7 = _t, Column8 = _t]), #"Transposed Table" = Table.Transpose(Source), #"Merged Columns" = Table.CombineColumns(#"Transposed Table",{"Column1", "Column2"},Combiner.CombineTextByDelimiter("|", QuoteStyle.None),"Merged"), #"Transposed Table1" = Table.Transpose(#"Merged Columns"), #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table1", [PromoteAllScalars=true]), #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"null|null", type text}, {"null|null_1", type text}, {"mes1|first fortnight", Int64.Type}, {"mes1|second fortnight", Int64.Type}, {"mes2|first fortnight", Int64.Type}, {"mes2|second fortnight", Int64.Type}, {"mes3|first fortnight", Int64.Type}, {"mes3|second fortnight", Int64.Type}}), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"null|null", "null|null_1"}, "Attribute", "Value"), #"Split Column by Delimiter" = Table.SplitColumn(#"Unpivoted Other Columns", "Attribute", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Attribute.1", "Attribute.2"}), #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Attribute.1", type text}, {"Attribute.2", type text}}), #"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"null|null", "Person"}, {"null|null_1", "Guy"}, {"Attribute.1", "My"}, {"Attribute.2", "Fortnight"}}) in #"Renamed Columns"
Mira mi video sobre este tema : https://www.youtube.com/watch?v=_YjFGsS9lNY&t=0s - 02650705RNew Member
Muchísimas gracias