Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hola a todos
Inténtalo como pueda - No estoy descubriendo una buena manera de solucionar mi escenario. He pivotado y desenfadado datos, pero con menos complejidad. Este conjunto de datos actual tiene más de 25 medidas como esta:
Por cualquier razón, los datos vienen con Current y year Ago en esa columna TimeSet.
Basado en cómo he usado los datos en el pasado, así es como asumo que lo querría:
A) No puedo entender cómo pivotaría esas 25 columnas. B) ¿Es esa la manera correcta de pensar en ello? O es más fácil crear medidas utilizando TimeSet como filtro.
¡Apreciaría algunas ideas al respecto!
¡Gracias!
Solved! Go to Solution.
Hola, @JillHenninger
Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.
Mesa:
Puede aplicar las siguientes transformaciones en Power Query.
1. Despivo 'M1', 'M2', 'M3', 'M4', 'M5', 'M6', 'M7'.
2. Combine las columnas 'Timeset' y 'Attribute'.
3. Pivote la columna 'Combinado' y establezca la columna de valor como columna 'Valor'.
Aquí están los códigos m en 'Advanced Editor'.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcszJUdJRCs7PTUVQEDEI6VxaVJSaVwJkGQKxERAbA7EJEJsCsRkQmyvF6qCZg2wAVCgyNbFIwTE9H6chIAsQBmExAd092I0AGQ8yBrdLoBTCIOyGgCzAMAiLqUgew24IyAL8BmEGEXZTQDbExgIA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [A1 = _t, A2 = _t, A3 = _t, A4 = _t, A5 = _t, Timeset = _t, M1 = _t, M2 = _t, M3 = _t, M4 = _t, M5 = _t, M6 = _t, M7 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"A1", type text}, {"A2", type text}, {"A3", type text}, {"A4", type text}, {"A5", type text}, {"Timeset", type text}, {"M1", Int64.Type}, {"M2", Int64.Type}, {"M3", Int64.Type}, {"M4", Int64.Type}, {"M5", Int64.Type}, {"M6", Int64.Type}, {"M7", Int64.Type}}),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"A1", "A2", "A3", "A4", "A5", "Timeset"}, "Attribute", "Value"),
#"Merged Columns" = Table.CombineColumns(#"Unpivoted Columns",{"Timeset", "Attribute"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"Merged"),
#"Pivoted Column" = Table.Pivot(#"Merged Columns", List.Distinct(#"Merged Columns"[Merged]), "Merged", "Value", List.Sum)
in
#"Pivoted Column"
Saludos
Allan
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola, @JillHenninger
Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.
Mesa:
Puede aplicar las siguientes transformaciones en Power Query.
1. Despivo 'M1', 'M2', 'M3', 'M4', 'M5', 'M6', 'M7'.
2. Combine las columnas 'Timeset' y 'Attribute'.
3. Pivote la columna 'Combinado' y establezca la columna de valor como columna 'Valor'.
Aquí están los códigos m en 'Advanced Editor'.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcszJUdJRCs7PTUVQEDEI6VxaVJSaVwJkGQKxERAbA7EJEJsCsRkQmyvF6qCZg2wAVCgyNbFIwTE9H6chIAsQBmExAd092I0AGQ8yBrdLoBTCIOyGgCzAMAiLqUgew24IyAL8BmEGEXZTQDbExgIA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [A1 = _t, A2 = _t, A3 = _t, A4 = _t, A5 = _t, Timeset = _t, M1 = _t, M2 = _t, M3 = _t, M4 = _t, M5 = _t, M6 = _t, M7 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"A1", type text}, {"A2", type text}, {"A3", type text}, {"A4", type text}, {"A5", type text}, {"Timeset", type text}, {"M1", Int64.Type}, {"M2", Int64.Type}, {"M3", Int64.Type}, {"M4", Int64.Type}, {"M5", Int64.Type}, {"M6", Int64.Type}, {"M7", Int64.Type}}),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"A1", "A2", "A3", "A4", "A5", "Timeset"}, "Attribute", "Value"),
#"Merged Columns" = Table.CombineColumns(#"Unpivoted Columns",{"Timeset", "Attribute"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"Merged"),
#"Pivoted Column" = Table.Pivot(#"Merged Columns", List.Distinct(#"Merged Columns"[Merged]), "Merged", "Value", List.Sum)
in
#"Pivoted Column"
Saludos
Allan
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@JillHenninger , Puede seleccionar el conjunto de tiempo y todas las medidas después de eso y despivot. Asumo que estas son columnas en la tabla
Si no es así
¿Puede compartir datos de ejemplo y salida de ejemplo en formato de tabla? O una muestra de pbix después de eliminar datos confidenciales.
¿Puede usar un objeto visual de matriz con esa columna Timeset en el pozo de campos Columnas?
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.