It is possible to do what you want, but it isn’t very straight forward. The example below uses array.from to build a stream of tables that matches your data, so you don’t actually need it when you do this operation on your actual data, but it creates 3 separate streams of tables (one for each value number), restructures them to what you need, unions them back together and applies the necessary sorting: