2014-08-27 2 views
2

Как вы получаете транспонирование стола?KDB/Q Как перенести таблицу?

Say т:

x   ltCt  poPt  kgAg  xoOt  woWa yTri zapR  
    ----------------------------------------------------------------- 
    today  41.66 367.69 -662.89 11347.91 30644 -177 19149.92 
    yesterday -1570.33 77233.76 -1169.33 11267.63 17079 5623 31069.08 

и мы хотим, чтобы t2 выглядеть следующим образом:

x  | today yesterday 
    ltCt | 41.66 -1570.33 
    poPt | 367.69 77233.76 
    ... 

Я хочу это было так просто, как "флип-т", но, увы.

ответ

2

«флип» выполнит эту работу, просто не на клавиатуре. Был ли ваш стол ключом? Похоже, он был создан с использованием инструкции select-by.

В этом случае попробуйте "флип 0 стол!"

3

Так вот таблицу (не шпоночным)

q)t 
x   ltCt poPt kgAg xoOt woWa yTri zapR 
-------------------------------------------- 
today  9 1 8 7 4 4 7 
yesterday 2 8 1 2 5 2 8 

Флип это, чтобы включить в словарь:

q)flip t 
x | today yesterday 
ltCt| 9  2 
poPt| 1  8 
kgAg| 8  1 
xoOt| 7  2 
woWa| 4  5 
yTri| 4  2 
zapR| 7  8 

You» потребуется немного волшебства, чтобы превратить его в надлежащий стол:

q)flip ft[`x]!flip 1_ value ft:flip t 
today yesterday 
--------------- 
9  2 
1  8 
8  1 
7  2 
4  5 
4  2 
7  8 

EDIT

Полного транспонирование

q)flip raze[(key 1#ft),value(1#ft)]!(enlist 1_key ft),flip value 1_ft:flip t 
x today yesterday 
-------------------- 
ltCt 9  2 
poPt 1  8 
kgAg 8  1 
xoOt 7  2 
woWa 4  5 
yTri 4  2 
zapR 7  8 
+0

Wow Я люблю д! Спасибо пользователю2393012 Я должен вам пиво – Sputnik2513

Смежные вопросы