AllanXu
Tengo un conjunto de datos que incluye registros resumidos. Eso significa que en lugar de repetir registros como los siguientes:
Columna 1 |
Columna 2 |
A |
X |
A |
X |
A |
X |
A |
Y |
B |
Y |
B |
Y |
El conjunto de datos incluye las siguientes filas:
Columna 1 |
Columna 2 |
Número de filas |
A |
X |
3 |
A |
Y |
1 |
B |
Y |
2 |
Si bien el formato resumido reduce significativamente el tamaño del conjunto de datos, impone desafíos en algunas áreas de Power BI.
Desafío n. ° 1: El influyente clave en PowerBI usa la columna «Número_de_fileras» como un dato numérico normal (como edad o precio) y no sabe que el «Número_de_fileras» significa que la fila se repite n veces.
Desafío n. ° 2: No puedo encontrar una manera de decirle a SandDance que la columna «Número_de_fileras» es una columna de recuento. Ve la columna como una columna numérica normal como la edad.
¿Cuáles son mis opciones para enseñarle a PowerBI que la columna «Número_de_fileras» es un recuento y significa que la fila se repite n número de veces?
Gracias,
MFelix
Hola @AllanXu,
Vea el video a continuación que hace uso de la función Table.Repeat.
Creer es lo que está buscando, vea a continuación el código con su tabla:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUYoAYmOlWB0ILxKIDcE8JyjPSCk2FgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t, Number_of_rows = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}, {"Number_of_rows", Int64.Type}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each Table.Repeat(Table.FromRecords({[Col1 =1]}),[Number_of_rows])), #"Expanded Custom" = Table.ExpandTableColumn(#"Added Custom", "Custom", {"Col1"}, {"Col1"}), #"Removed Columns" = Table.RemoveColumns(#"Expanded Custom",{"Col1", "Number_of_rows"}) in #"Removed Columns"
Saludos,
MFelix
Ashish_Mathur
Hola,
Este código M funciona
let Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column 1", type text}, {"Column 2", type text}, {"Number_of_rows", Int64.Type}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each {Number.From(1)..Number.From([Number_of_rows])}), #"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Custom"), #"Removed Columns" = Table.RemoveColumns(#"Expanded Custom",{"Number_of_rows", "Custom"}) in #"Removed Columns"
Espero que esto ayude.
Ashish_Mathur
Hola,
Este código M funciona
let Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content], #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column 1", type text}, {"Column 2", type text}, {"Number_of_rows", Int64.Type}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each {Number.From(1)..Number.From([Number_of_rows])}), #"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Custom"), #"Removed Columns" = Table.RemoveColumns(#"Expanded Custom",{"Number_of_rows", "Custom"}) in #"Removed Columns"
Espero que esto ayude.
MFelix
Hola @AllanXu,
Vea el video a continuación que hace uso de la función Table.Repeat.
Creer es lo que está buscando, vea a continuación el código con su tabla:
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUYoAYmOlWB0ILxKIDcE8JyjPSCk2FgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t, Number_of_rows = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}, {"Number_of_rows", Int64.Type}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each Table.Repeat(Table.FromRecords({[Col1 =1]}),[Number_of_rows])), #"Expanded Custom" = Table.ExpandTableColumn(#"Added Custom", "Custom", {"Col1"}, {"Col1"}), #"Removed Columns" = Table.RemoveColumns(#"Expanded Custom",{"Col1", "Number_of_rows"}) in #"Removed Columns"
Saludos,
MFelix