Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowThe 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.
¡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!!!!
Solved! Go to Solution.
Hola , @Loekahead
Aquí hay un archivo de ejemplo.
Puede ordenar directamente ascendente por cloumn "ruta".
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]
)
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"
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.
Hola , @Loekahead
Aquí hay un archivo de ejemplo.
Puede ordenar directamente ascendente por cloumn "ruta".
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]
)
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"
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.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the February 2025 Power BI update to learn about new features.