Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Sintaxe
Table.Sort(table as table, comparisonCriteria as any) as table
Sobre
Classifica a table usando a lista de um ou mais nomes de coluna e o comparisonCriteria opcional no formato {{ {{ col1, comparisonCriteria }}, {{col2}} }}.
Como Power Query às vezes descarrega determinadas operações para fazer back-end de fontes de dados (conhecidas como "dobragem"), e também às vezes otimiza consultas ignorando operações que não são estritamente necessárias, em geral não há garantia de como linhas com colunas de classificação idênticas serão ordenadas. Por exemplo, você não pode assumir que a primeira linha com um conjunto exclusivo de valores de coluna será classificada primeiro. Se você quiser que a ordem de classificação se comporte de forma previsível, primeiro faça o buffer da tabela usando Table.Buffer.
Exemplo 1
Classificar a tabela na coluna "OrderID".
Usage
Table.Sort(
Table.FromRecords({
[OrderID = 1, CustomerID = 1, Item = "Fishing rod", Price = 100.0],
[OrderID = 2, CustomerID = 1, Item = "1 lb. worms", Price = 5.0],
[OrderID = 3, CustomerID = 2, Item = "Fishing net", Price = 25.0],
[OrderID = 4, CustomerID = 3, Item = "Fish tazer", Price = 200.0],
[OrderID = 5, CustomerID = 3, Item = "Bandaids", Price = 2.0],
[OrderID = 6, CustomerID = 1, Item = "Tackle box", Price = 20.0],
[OrderID = 7, CustomerID = 5, Item = "Bait", Price = 3.25],
[OrderID = 8, CustomerID = 5, Item = "Fishing Rod", Price = 100.0],
[OrderID = 9, CustomerID = 6, Item = "Bait", Price = 3.25]
}),
{"OrderID"}
)
Saída
Table.FromRecords({
[OrderID = 1, CustomerID = 1, Item = "Fishing rod", Price = 100],
[OrderID = 2, CustomerID = 1, Item = "1 lb. worms", Price = 5],
[OrderID = 3, CustomerID = 2, Item = "Fishing net", Price = 25],
[OrderID = 4, CustomerID = 3, Item = "Fish tazer", Price = 200],
[OrderID = 5, CustomerID = 3, Item = "Bandaids", Price = 2],
[OrderID = 6, CustomerID = 1, Item = "Tackle box", Price = 20],
[OrderID = 7, CustomerID = 5, Item = "Bait", Price = 3.25],
[OrderID = 8, CustomerID = 5, Item = "Fishing Rod", Price = 100],
[OrderID = 9, CustomerID = 6, Item = "Bait", Price = 3.25]
})
Exemplo 2
Classificar a tabela na coluna "OrderID" em ordem decrescente.
Usage
Table.Sort(
Table.FromRecords({
[OrderID = 1, CustomerID = 1, Item = "Fishing rod", Price = 100.0],
[OrderID = 2, CustomerID = 1, Item = "1 lb. worms", Price = 5.0],
[OrderID = 3, CustomerID = 2, Item = "Fishing net", Price = 25.0],
[OrderID = 4, CustomerID = 3, Item = "Fish tazer", Price = 200.0],
[OrderID = 5, CustomerID = 3, Item = "Bandaids", Price = 2.0],
[OrderID = 6, CustomerID = 1, Item = "Tackle box", Price = 20.0],
[OrderID = 7, CustomerID = 5, Item = "Bait", Price = 3.25],
[OrderID = 8, CustomerID = 5, Item = "Fishing Rod", Price = 100.0],
[OrderID = 9, CustomerID = 6, Item = "Bait", Price = 3.25]
}),
{"OrderID", Order.Descending}
)
Saída
Table.FromRecords({
[OrderID = 9, CustomerID = 6, Item = "Bait", Price = 3.25],
[OrderID = 8, CustomerID = 5, Item = "Fishing Rod", Price = 100],
[OrderID = 7, CustomerID = 5, Item = "Bait", Price = 3.25],
[OrderID = 6, CustomerID = 1, Item = "Tackle box", Price = 20],
[OrderID = 5, CustomerID = 3, Item = "Bandaids", Price = 2],
[OrderID = 4, CustomerID = 3, Item = "Fish tazer", Price = 200],
[OrderID = 3, CustomerID = 2, Item = "Fishing net", Price = 25],
[OrderID = 2, CustomerID = 1, Item = "1 lb. worms", Price = 5],
[OrderID = 1, CustomerID = 1, Item = "Fishing rod", Price = 100]
})
Exemplo 3
Classificar a tabela na coluna "CustomerID" e depois em "OrderID", com "CustomerID" em ordem crescente.
Usage
Table.Sort(
Table.FromRecords({
[OrderID = 1, CustomerID = 1, Item = "Fishing rod", Price = 100.0],
[OrderID = 2, CustomerID = 1, Item = "1 lb. worms", Price = 5.0],
[OrderID = 3, CustomerID = 2, Item = "Fishing net", Price = 25.0],
[OrderID = 4, CustomerID = 3, Item = "Fish tazer", Price = 200.0],
[OrderID = 5, CustomerID = 3, Item = "Bandaids", Price = 2.0],
[OrderID = 6, CustomerID = 1, Item = "Tackle box", Price = 20.0],
[OrderID = 7, CustomerID = 5, Item = "Bait", Price = 3.25],
[OrderID = 8, CustomerID = 5, Item = "Fishing Rod", Price = 100.0],
[OrderID = 9, CustomerID = 6, Item = "Bait", Price = 3.25]
}),
{
{"CustomerID", Order.Ascending},
"OrderID"
}
)
Saída
Table.FromRecords({
[OrderID = 1, CustomerID = 1, Item = "Fishing rod", Price = 100],
[OrderID = 2, CustomerID = 1, Item = "1 lb. worms", Price = 5],
[OrderID = 6, CustomerID = 1, Item = "Tackle box", Price = 20],
[OrderID = 3, CustomerID = 2, Item = "Fishing net", Price = 25],
[OrderID = 4, CustomerID = 3, Item = "Fish tazer", Price = 200],
[OrderID = 5, CustomerID = 3, Item = "Bandaids", Price = 2],
[OrderID = 7, CustomerID = 5, Item = "Bait", Price = 3.25],
[OrderID = 8, CustomerID = 5, Item = "Fishing Rod", Price = 100],
[OrderID = 9, CustomerID = 6, Item = "Bait", Price = 3.25]
})