¿Cómo hacer lo contrario de GROUP BY (o UNGROUP BY) en Power BI?

Un usuario Pregunto ✅

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.

Untitled.png

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.

Untitled.png

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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *