Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

Tabla de división Cada vez que se encuentra un valor de columna

Hola a todos,

Tengo una tabla de hojas de horas y me gustaría cortarla para mostrar el tiempo dedicado a las tareas para personas/proyectos seleccionados.

También me gustaría mostrar el tiempo total para un proyecto para todos o personas seleccionadas.

El problema es que la tarea y el identificador de proyecto se repiten en la tabla y el contexto de las tareas proceden de filas anteriores donde se especifica la persona y el proyecto.

Mi pensamiento era si pudiera dividir la tabla cada vez que encontrara la fila que contiene la información de la persona que eliminaría los valores repetidos y tendría tablas únicas.

Todavía soy realmente nuevo en power bi y crear consultas, así que podría estar perdiendo algo obvio.

Gracias por leer, espero que la pregunta sea clara.

Aquí está mi conjunto de datos:

TodosProjectIDTaskidTipoHora
TODOS LOS PROYECTOS Total9
Proyecto12015301 Proyecto5
Task1201530174709878Tarea5
Proyecto22348062 Proyecto4
Task2234806288239468Tarea4
Persona1ProjectIDTaskidTipoHora
TODOS LOS PROYECTOS Total5
Proyecto12015301 Proyecto3
Task1201530174709878Tarea3
Proyecto22348062 Proyecto2
Task2234806288239468Tarea2
Persona2ProjectIDTaskidTipoHora
TODOS LOS PROYECTOS Total4
Proyecto12015301 Proyecto2
Task1201530174709878Tarea2
Proyecto22348062 Proyecto2
Task2234806288239468Tarea2

1 ACCEPTED SOLUTION

Hola @tbicim

Puede conectarse al archivo csv mediante el modo improt. Puede transformar el modelo de datos en Power Query Editor.

Mi mesa:

1.png

Mi editor avanzado:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("tY+xCoMwFEV/RTI7JC9R41hahxZBad3EQUqG2lZFpeDfNzEipiBksBDI493DTU6eo+gjujGpBXJR2jWVuA/nk5yzsn/qYWxVlj3eAhVujg5x7KTX5BIds5sjA32GZihf8g4nZi4icgGYeBQTTbV6Lydv4tQjJhSwAIc84KpShgs5N4KCKePYh99GtjSaEOdAQ+avGjWZiq5varKPtret7Ri/pNbedNvbrARrcViJwz7izFYcrMXhL+LFFw==", 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]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}}),
    #"Promoted Headers" = Table.PromoteHeaders(#"Changed Type", [PromoteAllScalars=true]),
    #"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"EveryOne", type text}, {"ProjectID", type text}, {"TaskID", type text}, {"Type", type text}, {"Time", type text}}),
    #"Removed Top Rows" = Table.Skip(#"Changed Type1",5),
    #"Added Conditional Column" = Table.AddColumn(#"Removed Top Rows", "Person", each if Text.Contains([EveryOne], "Person") then [EveryOne] else null),
    #"Added Conditional Column1" = Table.AddColumn(#"Added Conditional Column", "P/T", each if Text.Contains([EveryOne], "Project") then [EveryOne] else if Text.Contains([EveryOne], "Task") then [EveryOne] else null),
    #"Reordered Columns" = Table.ReorderColumns(#"Added Conditional Column1",{"Person", "P/T", "EveryOne", "ProjectID", "TaskID", "Type", "Time"}),
    #"Filled Down" = Table.FillDown(#"Reordered Columns",{"Person"}),
    #"Removed Columns" = Table.RemoveColumns(#"Filled Down",{"EveryOne"}),
    #"Sorted Rows" = Table.Sort(#"Removed Columns",{{"P/T", Order.Ascending}}),
    #"Removed Top Rows1" = Table.Skip(#"Sorted Rows",4),
    #"Sorted Rows1" = Table.Sort(#"Removed Top Rows1",{{"Person", Order.Ascending}, {"P/T", Order.Ascending}}),
    #"Changed Type2" = Table.TransformColumnTypes(#"Sorted Rows1",{{"Time", Int64.Type}})
in
    #"Changed Type2"

Resultado:

2.png

Puede descargar el archivo pbix desde este enlace: Dividir tabla siempre que se encuentre un valor de columna

Saludos

Rico Zhou

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

3 REPLIES 3
v-rzhou-msft
Community Support
Community Support

Hola @tbicim

Puede mostrar la suma de tiempo por segmentación de datos.

Actualizo su modelo de datos como se muestra a continuación.

1.png

Cree un objeto visual de tarjeta por columna Time y cree algunas segmentaciones de datos. Como se muestra a continuación, muestra la suma de tiempo para la tarea person1 y Type .

2.png

Si esta respuesta todavía no pudo ayudarle a resolver su problema, por favor muéstreme una captura de pantalla del resultado que desea y puede hacer que sea más fácil para mí entender su requisito.

Puede descargar el archivo pbix desde este enlace: Dividir tabla siempre que se encuentre un valor de columna

Saludos

Rico Zhou

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Anonymous
Not applicable

Hola Rico,

Gracias por su respuesta.

Sí, el modelo de datos actualizado sería fácil de trabajar sin embargo, la forma en que se crea el archivo csv es de esa manera y no tengo control sobre las exportaciones.

¿Cómo haría esa actualización en el sistema power bi en lugar de hacerlo manualmente o con un script de línea de comandos?

Gracias

Atún Bicim

Hola @tbicim

Puede conectarse al archivo csv mediante el modo improt. Puede transformar el modelo de datos en Power Query Editor.

Mi mesa:

1.png

Mi editor avanzado:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("tY+xCoMwFEV/RTI7JC9R41hahxZBad3EQUqG2lZFpeDfNzEipiBksBDI493DTU6eo+gjujGpBXJR2jWVuA/nk5yzsn/qYWxVlj3eAhVujg5x7KTX5BIds5sjA32GZihf8g4nZi4icgGYeBQTTbV6Lydv4tQjJhSwAIc84KpShgs5N4KCKePYh99GtjSaEOdAQ+avGjWZiq5varKPtret7Ri/pNbedNvbrARrcViJwz7izFYcrMXhL+LFFw==", 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]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}}),
    #"Promoted Headers" = Table.PromoteHeaders(#"Changed Type", [PromoteAllScalars=true]),
    #"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"EveryOne", type text}, {"ProjectID", type text}, {"TaskID", type text}, {"Type", type text}, {"Time", type text}}),
    #"Removed Top Rows" = Table.Skip(#"Changed Type1",5),
    #"Added Conditional Column" = Table.AddColumn(#"Removed Top Rows", "Person", each if Text.Contains([EveryOne], "Person") then [EveryOne] else null),
    #"Added Conditional Column1" = Table.AddColumn(#"Added Conditional Column", "P/T", each if Text.Contains([EveryOne], "Project") then [EveryOne] else if Text.Contains([EveryOne], "Task") then [EveryOne] else null),
    #"Reordered Columns" = Table.ReorderColumns(#"Added Conditional Column1",{"Person", "P/T", "EveryOne", "ProjectID", "TaskID", "Type", "Time"}),
    #"Filled Down" = Table.FillDown(#"Reordered Columns",{"Person"}),
    #"Removed Columns" = Table.RemoveColumns(#"Filled Down",{"EveryOne"}),
    #"Sorted Rows" = Table.Sort(#"Removed Columns",{{"P/T", Order.Ascending}}),
    #"Removed Top Rows1" = Table.Skip(#"Sorted Rows",4),
    #"Sorted Rows1" = Table.Sort(#"Removed Top Rows1",{{"Person", Order.Ascending}, {"P/T", Order.Ascending}}),
    #"Changed Type2" = Table.TransformColumnTypes(#"Sorted Rows1",{{"Time", Int64.Type}})
in
    #"Changed Type2"

Resultado:

2.png

Puede descargar el archivo pbix desde este enlace: Dividir tabla siempre que se encuentre un valor de columna

Saludos

Rico Zhou

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.