Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hola
Disculpas por esta pregunta tan simple, simplemente no puedo entenderlo.
Tengo datos que en la forma más básica es este:
ArtículoNombre Presupuesto en N-1 Presupuesto en N Presupuesto en N+1 Presupuesto en N+2 (Donde N = el año en curso)
Actualización de PC 15 20 25 0
Comprar ratones 5 0 5 0
Nuevos portátiles 30 40 50 60
Me gustaría ver un gráfico con en el eje X el año (ya sea N-1,N, N+1,N+2 o incluso mejor 2021, 2022, 2023, 2024)
Y en el eje Y la suma del presupuesto de las filas actualmente filtradas. El filtrado se produce haciendo clic en el usuario en otras visualizaciones.
Hola @Jamie9979 ,
Según mi interpretación de su requisito, está buscando algo como esto:
En caso afirmativo, así es como lo logré:
1) En Power Query, no he votado las columnas que tienen presupuesto
2) Divido los nombres de las columnas para derivar el año
3) Cambiar el nombre de las columnas con nombres significativos y eliminar la columna no deseada.
El código M tiene el siguiente aspecto:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCi1IL0pMycxLVwhwjik1MDAyL1bSUTI0BRJGBiACxDJQitWJVnIqrQSpy81MTgWKQcRhNEjeL7VcISexoCS/AGSEMUjSBKwCRJgB1cQCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Article = _t, #"Budget 2021" = _t, #"Budget 2022" = _t, #"Budget 2023" = _t, #"Budget 2024" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Article", type text}, {"Budget 2021", Int64.Type}, {"Budget 2022", Int64.Type}, {"Budget 2023", Int64.Type}, {"Budget 2024", Int64.Type}}),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Article"}, "Attribute", "Value"),
#"Split Column by Delimiter" = Table.SplitColumn(#"Unpivoted Columns", "Attribute", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"Attribute.1", "Attribute.2"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Attribute.1", type text}, {"Attribute.2", Int64.Type}}),
#"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"Attribute.2", "Year"}, {"Value", "BudgetValue"}}),
#"Removed Columns" = Table.RemoveColumns(#"Renamed Columns",{"Attribute.1"})
in
#"Removed Columns"
Además, adjunte el archivo pbix aquí para su referencia.
Esa es una solución interesante, ¿es viable cuando se trata de miles de artículos?
Siempre he pensado que debería tener más filas que columnas en un conjunto de datos.
Si se agregaran más elementos, tendría que seguir extendiendo la cantidad de columnas, lo que para mi cerebro principiante parece algo extraño, ¿no?
Si está probando esto en los datos de ejemplo que ha compartido, funcionaría bien hasta que se agreguen las filas y no haya ningún cambio en el nombre de las columnas.
Los pasos no están codificados, pero los nombres de columna sí. Si cambia un nombre en su origen de datos, esto dejará de funcionar y luego también tendrá que modificar esos nombres de columna aquí.
No hay codificación rígida de columnas aquí.
El código recogerá los últimos datos automáticamente sin intervención manual en absoluto.
Puedes intentarlo una vez. 🙂
¡Hi! @Jamie9979
Por favor, vea si esto ayuda.
Entonces, por favor, despivot sus columnas. Puede consultar el código m que he compartido a continuación.
dejar
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCi1IL0pMycxLVwhwjik1MDAyL1bSUTI0BRJGBiACxDJQitWJVnIqrQSpy81MTgWKQcRhNEjeL7VcISexoCS/AGSEMUjSBKwCRJgB1cQCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Name = _t, #"2021" = _t, #"2022" = _t, #"2023" = _t, #"2024" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"2021", Int64.Type}, {"2022", Int64.Type}, {"2023", Int64.Type}, {"2024", Int64.Type}}),
#"Unpivoted Only Selected Columns" = Table.Unpivot(#"Changed Type", {"2021", "2022", "2023", "2024"}, "Attribute", "Value"),
#"Columnas renombradas" = Table.RenameColumns(#"Unpivoted Only Selected Columns",{{"Atributo", "Year"}})
en
#"Columnas renombradas"
Si está buscando algo más, le pediría que comparta una muestra de pbix con la solución requerida.
De lo contrario, pediría
Check out the September 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |