I get a table when I join the dictionaries with same keys :
q)((`s`p!`s1`p1);(`s`p!`s2`p2))
s p
-----
s1 p1
s2 p2
But if keys are different it just returns the list, is there a way to generate a proper table?
q)((`s`p!`s1`p1);(`s`p`m!`s2`p2`m2))
`s`p!`s1`p1
`s`p`m!`s2`p2`m2
You can use uj
along with adverb over
to get the table:
q)(uj)over enlist each ((`s`p!`s1`p1);(`s`p`m!`s2`p2`m2))
s p m
--------
s1 p1
s2 p2 m2
Please note that we first made the individual dictionary to table before joining.
The over
is particularly useful when there are more than 2 dictionaries.
Otherwise using uj
alone can do the trick.
q)(enlist `s`p!`s1`p1) uj (enlist `s`p`m!`s2`p2`m2)
s p m
--------
s1 p1
s2 p2 m2