Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
en la vista de tabla, tengo una tabla con columnas de diferentes tipos de tareas, fecha de vencimiento de tareas y nombre asignado a la tarea. La fuente de datos es una hoja de cálculo de Excel. por ejemplo, de diseño.
Nombre | Tarea 1 | Tarea 1 dueDate | Tarea 2 | Tarea 2 Fecha de vencimiento | Tarea 3 | Tarea 3 Fecha de vencimiento |
A | Tarea 1 | 17/05/2024 | Tarea 2 | 21/07/2024 | Tarea 3 | 10/10/2024 |
B | Tarea 1 | 24/07/2024 | Tarea 2 | 20/08/2024 | Tarea 3 | 11/11/2024 |
C | Tarea 1 | 306/2024 | Tarea 2 | 4/09/2024 | Tarea 3 | 15/09/2024 |
En el caso de los requisitos de informe, a los usuarios les gustaría filtrar por tipos de tareas y la próxima fecha de vencimiento de una tarea. Lo que significa que el diseño es mover todas las columnas de diferentes tareas a una columna. (puede crear una nueva tabla), por ejemplo, el diseño
Tipo de tarea | Nombre | Fecha de vencimiento de la tarea |
Tarea 1 | A | 17/05/2024 |
Tarea 1 | B | 24/07/2024 |
Tarea 1 | C | 306/2024 |
Tarea 2 | A | 21/07/2024 |
Tarea 2 | B | 20/08/2024 |
Tarea 2 | C | 4/09/2024 |
Tarea 3 | A | 10/10/2024 |
Tarea 3 | B | 11/11/2024 |
Tarea 3 | C | 15/09/2024 |
Lo ideal es crear una nueva tabla en TableView. ¿Cómo puedo hacer esto en powerbi?
EL AMOR ES
@Ashish_Mathur espero que esto quede más claro.
diseño original de la fuente de datos en Excel.
Un total de 13 columnas/campos de tareas diferentes
Nombre | Tarea 1 | Tarea 1 dueDate | Tarea 2 | Tarea 2 Fecha de vencimiento | Tarea 3 | Tarea 3 Fecha de vencimiento | Tarea 13 | Tarea 13 Fecha de vencimiento | Departamento | Equipo | Categoría 1 | Categoría 2 | Comentarios |
A | Tarea 1 | 17/05/2024 | Tarea 2 | 21/07/2024 | Tarea 3 | N/A | Tarea 13 | 20/08/2024 | HR | Reclutamiento | |||
B | Tarea 1 | 24/07/2024 | Tarea 2 | N/A | Tarea 3 | N/A | Tarea 13 | N/A | Finanzas | Cuentas | |||
C | Tarea 1 | 3/06/2024 | Tarea 2 | 4/09/2024 | Tarea 3 | 15/09/2024 | Tarea 13 | 11/11/2024 | Marketing | Equipo de redes sociales | trabajando en el proyecto B. fecha de finalización en agosto de 2024 |
Los requisitos para el informe de PowerBi, todas las tareas deben estar en 1 columna para permitir el filtro, etc.
Nombre del personal | Todas las tareas | TaskDueDate | Departamento | Equipo | Categoría 1 | Categoría 2 | Comentarios |
A | Tarea 1 | 17/05/2024 | HR | Reclutamiento | |||
A | Tarea 2 | 21/07/2024 | HR | Reclutamiento | |||
A | Tarea 3 | N/A | HR | Reclutamiento | |||
A | Tarea 13 | 20/08/2024 | HR | Reclutamiento | |||
B | Tarea 1 | 24/07/2024 | Finanzas | Cuentas | |||
B | Tarea 2 | N/A | Finanzas | Cuentas | |||
B | Tarea 3 | N/A | Finanzas | Cuentas | |||
B | Tarea 13 | N/A | Finanzas | Cuentas | |||
C | Tarea 1 | 3/06/2024 | Marketing | Equipo de redes sociales | trabajando en el proyecto B. fecha de finalización en agosto de 2024 | ||
C | Tarea 2 | 4/09/2024 | Marketing | Equipo de redes sociales | trabajando en el proyecto B. fecha de finalización en agosto de 2024 | ||
C | Tarea 3 | 15/09/2024 | Marketing | Equipo de redes sociales | trabajando en el proyecto B. fecha de finalización en agosto de 2024 | ||
C | Tarea 13 | 11/11/2024 | Marketing | Equipo de redes sociales | trabajando en el proyecto B. fecha de finalización en agosto de 2024 |
¿Cómo se puede lograr esto?
Pensé que Advanced Power Query - Unpivot Columns with Multiple Headers, resolvería el problema.
Tia
@Ashish_Mathur espero que esto quede más claro.
diseño original de la fuente de datos en Excel.
Un total de 13 columnas/campos de tareas diferentes
Nombre | Tarea 1 | Tarea 1 dueDate | Tarea 2 | Tarea 2 Fecha de vencimiento | Tarea 3 | Tarea 3 Fecha de vencimiento | Tarea 13 | Tarea 13 Fecha de vencimiento | Departamento | Equipo | Categoría 1 | Categoría 2 | Comentarios |
A | Tarea 1 | 17/05/2024 | Tarea 2 | 21/07/2024 | Tarea 3 | N/A | Tarea 13 | 20/08/2024 | HR | Reclutamiento | |||
B | Tarea 1 | 24/07/2024 | Tarea 2 | N/A | Tarea 3 | N/A | Tarea 13 | N/A | Finanzas | Cuentas | |||
C | Tarea 1 | 3/06/2024 | Tarea 2 | 4/09/2024 | Tarea 3 | 15/09/2024 | Tarea 13 | 11/11/2024 | Marketing | Equipo de redes sociales | trabajando en el proyecto B. fecha de finalización en agosto de 2024 |
Los requisitos para el informe de PowerBi, todas las tareas deben estar en 1 columna para permitir el filtro, etc.
Nombre del personal | Todas las tareas | TaskDueDate | Departamento | Equipo | Categoría 1 | Categoría 2 | Comentarios |
A | Tarea 1 | 17/05/2024 | HR | Reclutamiento | |||
A | Tarea 2 | 21/07/2024 | HR | Reclutamiento | |||
A | Tarea 3 | N/A | HR | Reclutamiento | |||
A | Tarea 13 | 20/08/2024 | HR | Reclutamiento | |||
B | Tarea 1 | 24/07/2024 | Finanzas | Cuentas | |||
B | Tarea 2 | N/A | Finanzas | Cuentas | |||
B | Tarea 3 | N/A | Finanzas | Cuentas | |||
B | Tarea 13 | N/A | Finanzas | Cuentas | |||
C | Tarea 1 | 3/06/2024 | Marketing | Equipo de redes sociales | trabajando en el proyecto B. fecha de finalización en agosto de 2024 | ||
C | Tarea 2 | 4/09/2024 | Marketing | Equipo de redes sociales | trabajando en el proyecto B. fecha de finalización en agosto de 2024 | ||
C | Tarea 3 | 15/09/2024 | Marketing | Equipo de redes sociales | trabajando en el proyecto B. fecha de finalización en agosto de 2024 | ||
C | Tarea 13 | 11/11/2024 | Marketing | Equipo de redes sociales | trabajando en el proyecto B. fecha de finalización en agosto de 2024 |
¿Cómo se puede lograr esto?
Pensé que Advanced Power Query - Unpivot Columns with Multiple Headers, resolvería el problema.
Tia
Hola
El código M que compartí con ustedes anteriormente debería funcionar bien.
El ejemplo proporcionado fue una tabla simple con 3 columnas/campos.
Los datos reales tienen 13 tareas/colmuns diferentes.
Los datos de las columnas de tareas contienen los datos o NA. formateado como campo de texto.
+ Los campos adicionales que se mostrarán junto a una columna son:
trabajador, Todas las tareas, fecha de vencimiento, departamento, equipo, categoría 1, categoría 2 y comentarios
Hay un total de 116 registros.
Si combino manualmente todas las tareas en 1 columna, el total de registros es 1508.
Selecciono las 13 columnas de tareas, anulo la dinamización de las columnas seleccionadas.
Los resultados
Sin embargo, se crean filas mnay en su mayoría filas en blanco.
Solo se muestran 2 registros. Revisé la fuente de datos original. Estos 2 registros son los únicos registros con fecha en TODAS las columnas de tareas.
Las otras filas en blanco, los registros de las columnas de tareas contienen una fecha o N/A
¿Cómo puedo lograrlo?
Actualización --- encontré lo siguiente que puede resolver el problema ..
Anular la dinamización de datos tabulados cruzados con varios encabezados y columnas
https://www.youtube.com/watch?v=O2d5Ec10E1E
Advanced Power Query: anular la dinamización de columnas con varios encabezados
https://www.youtube.com/watch?v=y39LFLLbvk0
EL AMOR ES
El ejemplo utilizado fue una tabla simple de 3 campos. o Hacer una prueba y funcionó.
Los datos reales contienen lo siguiente..
13 tareas/campos diferentes. Las columnas con formato de texto.
y contienen valores como la fecha o N/A.
Las 13 tareas diferentes deben estar en una columna.
y 6 campos adicionales necesarios para alinearse y mostrarse junto a las tareas, por ejemplo,
Nombre del personal, Todas las tareas, fecha de vencimiento, departamento, equipo, categoría 1, categoría 2, comentarios
Total de campos 8
Total de registros 116
Selecciono los 13 campos, las diferentes tareas y anulo la dinamización de las columnas.
Los resultados
1.433 filas creadas
sin embargo, solo se muestran 2 registros de datos reales.
Por lo que puedo ver, los 2 registros contienen valores de fecha en las 13 tareas.
Todos los demás registros que no están en la columna 1 contienen una combinación de datos en tipos de tareas, es decir, fecha o N/A
¿Hay alguna manera de reunir TODOS los datos de los 116 registros en la columna 1, lo que dará un total de 1508 registros?
EL AMOR ES
Hola
No puedo entender el diseño de sus datos.
Hola
Este código M funciona
let
Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content],
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"Name"}, "Task type", "Date"),
#"Added Custom" = Table.AddColumn(#"Unpivoted Other Columns", "Custom", each [#"Task type"]=[Date]),
#"Filtered Rows" = Table.SelectRows(#"Added Custom", each ([Custom] = false)),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Custom"}),
#"Replaced Value" = Table.ReplaceValue(#"Removed Columns","dueDate","",Replacer.ReplaceText,{"Task type"}),
#"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","DueDate","",Replacer.ReplaceText,{"Task type"}),
#"Changed Type" = Table.TransformColumnTypes(#"Replaced Value1",{{"Date", type date}})
in
#"Changed Type"
Espero que esto ayude.
Hola
Este código M funciona
let
Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content],
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"Name"}, "Task type", "Date"),
#"Added Custom" = Table.AddColumn(#"Unpivoted Other Columns", "Custom", each [#"Task type"]=[Date]),
#"Filtered Rows" = Table.SelectRows(#"Added Custom", each ([Custom] = false)),
#"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Custom"}),
#"Replaced Value" = Table.ReplaceValue(#"Removed Columns","dueDate","",Replacer.ReplaceText,{"Task type"}),
#"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","DueDate","",Replacer.ReplaceText,{"Task type"}),
#"Changed Type" = Table.TransformColumnTypes(#"Replaced Value1",{{"Date", type date}})
in
#"Changed Type"
Espero que esto ayude.
Gracias a todos, eso es genial.
Hazme saber si estoy en el camino correcto..
La mesa original quiero que no se toque.
En Editar consulta, en la tabla original, seleccioné Referencia. Esto crea una tabla de referencia. He eliminado las columnas que ya no son necesarias. Me di cuenta de que las columnas calculadas creadas en la tabla original no están disponibles en la tabla de referencia. ¿Significa eso que en la vista de tabla, necesito agregar las columnas calculadas? Una vez completado. en la tabla de referencia, anularé la dinamización de las columnas
Puede aplicar todos los cambios de la tabla en Power Query.
Descargue mi archivo de muestra y siga los pasos
saludos
Vahid
Hola @dd88 ,
Creé un archivo Pbix de muestra.
Los pasos son:
let
Source = Excel.Workbook(File.Contents("C:\Users\**bleep**al Clinic(Rutvi)\Downloads\Book1.xlsx"), null, true),
Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
#"Changed Type" = Table.TransformColumnTypes(Sheet1_Sheet,{{"Column1", type text}, {"Column2", type text}, {"Column3", type any}, {"Column4", type text}, {"Column5", type any}, {"Column6", type text}, {"Column7", type any}}),
#"Promoted Headers" = Table.PromoteHeaders(#"Changed Type", [PromoteAllScalars=true]),
#"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"Column1", type text}, {"Column2", type text}, {"Column3", type any}, {"Column4", type text}, {"Column5", type any}, {"Column6", type text}, {"Column7", type any}}),
#"Promoted Headers1" = Table.PromoteHeaders(#"Changed Type1", [PromoteAllScalars=true]),
#"Changed Type2" = Table.TransformColumnTypes(#"Promoted Headers1",{{"Name ", type text}, {"Task 1 ", type text}, {"Task 1 dueDate ", type any}, {"Task 2 ", type text}, {"Task 2 DueDate ", type date}, {" Task 3 ", type text}, {"Task 3 DueDate ", type date}}),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type2", {"Name "}, "Attribute", "Value"),
#"Filtered Rows" = Table.SelectRows(#"Unpivoted Columns", each ([Attribute] = "Task 1 dueDate " or [Attribute] = "Task 2 DueDate " or [Attribute] = "Task 3 DueDate ")),
#"Split Column by Position" = Table.SplitColumn(#"Filtered Rows", "Attribute", Splitter.SplitTextByRepeatedLengths(7), {"Attribute.1", "Attribute.2", "Attribute.3"}),
#"Renamed Columns" = Table.RenameColumns(#"Split Column by Position",{{"Attribute.1", "Task"}, {"Value", "Due Date"}}),
#"Removed Columns" = Table.RemoveColumns(#"Renamed Columns",{"Attribute.2", "Attribute.3"})
in
#"Removed Columns"
Si hay alguna publicación que ayude, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Si no entiendo sus necesidades o aún tiene problemas al respecto, no dude en hacérnoslo saber. ¡Muchas gracias!
Hola @dd88
Puede usar esto en Power Query, simplemente cambie la fuente en el código:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUQpJLM5WMAQyDM31DUz1jQyMTGCiRkCGkaG+gTmKqDFIrYE+EIFFY3WilZyQzTEyQdcBNsdA38AC0xxDfSCCm+OMbI4xUIcZhjlAwy0xjTGFi8bGAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Name = _t, #"Task 1" = _t, #"Task 1 DueDate " = _t, #"Task 2" = _t, #"Task 2 DueDate " = _t, #"Task 3" = _t, #"Task 3 DueDate " = _t]),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(Source, {"Name"}, "Task Type", "Task due date"),
#"Filtered Rows" = Table.SelectRows(#"Unpivoted Columns", each Text.Contains([Task Type], "DueD")),
#"Replaced Value" = Table.ReplaceValue(#"Filtered Rows"," DueDate ","",Replacer.ReplaceText,{"Task Type"}),
#"Sorted Rows" = Table.Sort(#"Replaced Value",{{"Task Type", Order.Ascending}})
in
#"Sorted Rows"
Archivo de muestra adjunto.
Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
¡Agradezco sus felicitaciones!
En Power Query, puede seleccionar la columna Nombre y, a continuación, anular la dinamización de otras columnas.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
3 | |
2 | |
1 | |
1 | |
1 |