cancel
Showing results for 
Search instead for 
Did you mean: 

Linking vector columns

MG4
New Contributor II

Hi,

Is there a way to link vector columns so that when we do something like asc, the corresponding column will also re-arrage:

tbl:([] sVec:((`b`c`a);(`c`a`b);(`a`b`c));sNum:((2 3 1);(3 1 2);(1 2 3)));
tbl
sVec  sNum
-----------
b c a 2 3 1
c a b 3 1 2
a b c 1 2 3

update sVec:asc'[sVec] from tbl
sVec  sNum
-----------
a b c 2 3 1
a b c 3 1 2
a b c 1 2 3

Desired output (Where each symbol is linked to number in same vector position):
tbl1
sVec  sNum
-----------
a b c 1 2 3
a b c 1 2 3
a b c 1 2 3

 

Many thanks!

1 ACCEPTED SOLUTION

rocuinneagain
Contributor II
Contributor II

iasc gives you the sorted idexes which you can use

q)update sVec:sVec(@)'iasc each sNum,asc each sNum from tbl
sVec  sNum
-----------
a b c 1 2 3
a b c 1 2 3
a b c 1 2 3

 

View solution in original post

2 REPLIES 2

rocuinneagain
Contributor II
Contributor II

iasc gives you the sorted idexes which you can use

q)update sVec:sVec(@)'iasc each sNum,asc each sNum from tbl
sVec  sNum
-----------
a b c 1 2 3
a b c 1 2 3
a b c 1 2 3

 

MG4
New Contributor II

Nice solution, thank you!