79544070

Date: 2025-03-30 00:45:28
Score: 1.5
Natty:
Report link

does this solution work for your case?

q)t:([]date:20?2011.03.01+til 10;uid:20?17000+til 10;sym:20?50000+til 15)
q)7#t
date       uid   sym
----------------------
2011.03.09 17008 50001
2011.03.02 17003 50000
2011.03.01 17004 50000
2011.03.08 17001 50010
2011.03.04 17006 50001
2011.03.04 17004 50010
2011.03.07 17004 50007

q)updCols:{`$string[x],\:string[y]}
q)prevCols:{if[x=0;:`date`uid`sym]; updCols[;x] `prevdate`prevuid`prevsym}
q)f:{![x;();0b;prevCols[y]!(prev;) each prevCols y-1]}

q)7#f/[t;1+til 6]
date       uid   sym   prevdate1  prevuid1 prevsym1 prevdate2  prevuid2 prevsym2 prevdate3  prevuid3 prevsym3 prevdate4  prevuid4 prevsym4 prevdate5  prevuid5 prevsym5 prevdate6  prevuid6 prevsym6
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2011.03.09 17008 50001                                                                                                                                                        
2011.03.02 17003 50000 2011.03.09 17008    50001                                                                                                                              
2011.03.01 17004 50000 2011.03.02 17003    50000    2011.03.09 17008    50001                                                                                                 
2011.03.08 17001 50010 2011.03.01 17004    50000    2011.03.02 17003    50000    2011.03.09 17008    50001                                                                    
2011.03.04 17006 50001 2011.03.08 17001    50010    2011.03.01 17004    50000    2011.03.02 17003    50000    2011.03.09 17008    50001                                       
2011.03.04 17004 50010 2011.03.04 17006    50001    2011.03.08 17001    50010    2011.03.01 17004    50000    2011.03.02 17003    50000    2011.03.09 17008    50001          
2011.03.07 17004 50007 2011.03.04 17004    50010    2011.03.04 17006    50001    2011.03.08 17001    50010    2011.03.01 17004    50000    2011.03.02 17003    50000    2011.03.09 17008    50001
Reasons:
  • Long answer (-1):
  • Has code block (-0.5):
  • Ends in question mark (2):
  • Low reputation (1):
Posted by: qfb