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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
Anonymous
Not applicable

problema de clasificación

¡Hola!

Me topé con el siguiente problema. Estoy trabajando con una función padre-hijo y terminé con la siguiente tabla:

Camino

10000

10000-10001

10000-10002

10000-10001-10003

10000-10001-10004

10000-10002-10009

El orden deseado es:

Camino

10000

10000-10001

10000-10001

10000-10001-10003

10000-10001-10004

10000-10002

10000-10002-10009

¿Puede alguien ayudarme, por favor? Por favor, hágamelo saber si se requiere información adicional.

¡¡¡¡Gracias!!!!

1 ACCEPTED SOLUTION
v-easonf-msft
Community Support
Community Support

Hola , @Loekahead

Aquí hay un archivo de ejemplo.

pbix adjunto

Puede ordenar directamente ascendente por cloumn "ruta".

50.png

o cree una columna de ordenación y, a continuación, ordene ascendente por la columna, por ejemplo:

sort Column = 
var _path = 'Table 1'[PATH]
var tab = 
ADDCOLUMNS(
    GENERATESERIES(1,LEN(_path),1),
    "Word",
    RIGHT(LEFT(_path,[Value]),1)
)
return
CONCATENATEX(
    FILTER(
        tab,
        MOD([Value],6)=5
    ),
    [Word]
)

49.png

También puede intentar utilizar el editor de consultas para lograr el resultado que desea:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQAAiUdJaVYHQjHEMiBCMJEjDBEjKEihnAREwwRS6iIkVJsLAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Child = _t, Parent = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Child", Int64.Type}, {"Parent", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each let //Define your columns below
 c=[Child],p=[Parent],mytable=#"Changed Type",pc="Parent",cc="Child" 
  in
let mylist={c} & List.Generate(()=>[x=0,y=p,w=1],each [w] > 0,each [z=[y], 
x=Table.Column(Table.SelectRows(mytable,each Record.Field(_,cc)=z),pc),y=x{0},w=List.Count(x)
],
each [y])
        in
Text.Combine(List.Reverse(List.RemoveItems(
List.Transform(mylist,each Text.From(_)),{null,""})),"|")),
    #"Duplicated Column" = Table.DuplicateColumn(#"Added Custom", "Custom", "Custom - Copy"),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Duplicated Column", "Custom - Copy", Splitter.SplitTextByDelimiter("|", QuoteStyle.None), {"Custom - Copy.1", "Custom - Copy.2", "Custom - Copy.3"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Custom - Copy.1", Int64.Type}, {"Custom - Copy.2", Int64.Type}, {"Custom - Copy.3", Int64.Type}}),
    #"Sorted Rows" = Table.Sort(#"Changed Type1",{{"Custom - Copy.1", Order.Ascending}, {"Custom - Copy.2", Order.Ascending}, {"Custom - Copy.3", Order.Ascending}})
in
    #"Sorted Rows"

48.png

47.png

Saludos
Equipo de soporte de la comunidad _ Eason
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

1 REPLY 1
v-easonf-msft
Community Support
Community Support

Hola , @Loekahead

Aquí hay un archivo de ejemplo.

pbix adjunto

Puede ordenar directamente ascendente por cloumn "ruta".

50.png

o cree una columna de ordenación y, a continuación, ordene ascendente por la columna, por ejemplo:

sort Column = 
var _path = 'Table 1'[PATH]
var tab = 
ADDCOLUMNS(
    GENERATESERIES(1,LEN(_path),1),
    "Word",
    RIGHT(LEFT(_path,[Value]),1)
)
return
CONCATENATEX(
    FILTER(
        tab,
        MOD([Value],6)=5
    ),
    [Word]
)

49.png

También puede intentar utilizar el editor de consultas para lograr el resultado que desea:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjQAAiUdJaVYHQjHEMiBCMJEjDBEjKEihnAREwwRS6iIkVJsLAA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Child = _t, Parent = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Child", Int64.Type}, {"Parent", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each let //Define your columns below
 c=[Child],p=[Parent],mytable=#"Changed Type",pc="Parent",cc="Child" 
  in
let mylist={c} & List.Generate(()=>[x=0,y=p,w=1],each [w] > 0,each [z=[y], 
x=Table.Column(Table.SelectRows(mytable,each Record.Field(_,cc)=z),pc),y=x{0},w=List.Count(x)
],
each [y])
        in
Text.Combine(List.Reverse(List.RemoveItems(
List.Transform(mylist,each Text.From(_)),{null,""})),"|")),
    #"Duplicated Column" = Table.DuplicateColumn(#"Added Custom", "Custom", "Custom - Copy"),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Duplicated Column", "Custom - Copy", Splitter.SplitTextByDelimiter("|", QuoteStyle.None), {"Custom - Copy.1", "Custom - Copy.2", "Custom - Copy.3"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Custom - Copy.1", Int64.Type}, {"Custom - Copy.2", Int64.Type}, {"Custom - Copy.3", Int64.Type}}),
    #"Sorted Rows" = Table.Sort(#"Changed Type1",{{"Custom - Copy.1", Order.Ascending}, {"Custom - Copy.2", Order.Ascending}, {"Custom - Copy.3", Order.Ascending}})
in
    #"Sorted Rows"

48.png

47.png

Saludos
Equipo de soporte de la comunidad _ Eason
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
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

Feb2025 NL Carousel

Fabric Community Update - February 2025

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

Top Solution Authors
Top Kudoed Authors