I have an Association which contains three arrays 200x1000x2.  
Each row _m_ of a matrix denotes a different set of parameters, while
each column _n_ contains the outcomes of the function for a specific value of _x_.
Each elements is {_x_,f_m(_x_)}.


I want to sort each {_x_,f_m(_x_)} in a column in ascending order by f(_x_), so that the first row will now contains the lowest values of f(x), while the last row will contain the highest. Moreover, the elements should stay in their original column, so that all the elements in a column keep having the same value of _x_.  
The rows will then be used to create a function that represents the envelope of the different outcomes of a Monte Carlo method.

I tried using ```Sort```, together with ```Transpose```, but the result is messed up.



Data Example with three 4x3x2 arrays:

```
<| 1-> 
{
 {{0.1,2.1},{0.2,0.7}, {0.5,-3.5}},
 {{0.1,4.2},{0.2,5.5}, {0.5,3.1} },
 {{0.1,5.6},{0.2,-6.4},{0.5,0.2} },
 {{0.1,7.4},{0.2,7.2}, {0.5,-8.2}}
},
2-> 
{
 {{0.1,4.5}, {0.2,3.5}, {0.5,5.6} },
 {{0.1,-3.1},{0.2,1.4}, {0.5,-7.4}},
 {{0.1,1.3}, {0.2,3.4}, {0.5,4.27}},
 {{0.1,-3.6},{0.2,-2.5},{0.5,0.2} }
},
3-> 
{
 {{0.1,3.6}, {0.2,7.2},{0.5,9.1} },
 {{0.1,-1.4},{0.2,1.3},{0.5,5.4} },
 {{0.1,2.3}, {0.2,3.4},{0.5,2.4} },
 {{0.1,-3.7},{0.2,5.6},{0.5,-6.2}}
}|>
``` 

and I want to obtain something like this

```
<| 1-> 
{
 {{0.1,2.1},{0.2,-6.4},{0.5,-8.2}},
 {{0.1,4.2},{0.2,0.7}, {0.5,-3.5}},
 {{0.1,5.6},{0.2,5.5}, {0.5,0.2} },
 {{0.1,7.4},{0.2,7.2}, {0.5,3.1} }
},
2-> 
{
 {{0.1,_3.6}, {0.2,-2.5},{0.5,-7.4}},
 {{0.1,-3.1},{0.2,1.4}, {0.5,0.2} },
 {{0.1,1.3}, {0.2,3.4}, {0.5,4.27}},
 {{0.1,4.5},{0.2,3.5}, {0.5,5.6} }
},
3-> 
{
 {{0.1,-3.7}, {0.2,1.3},{0.5,-6.2}},
 {{0.1,-1.4},{0.2,3.4}, {0.5,2.4} },
 {{0.1,2.3}, {0.2,5.6}, {0.5,5.4} },
 {{0.1,3.6}, {0.2,7.2}, {0.5,9.1} }
}|>
```