# RE: \[personal kdb+\] optimize ungroup columns operation in kdb

**URL:** <https://forum.kx.com/t/re-personal-kdb-optimize-ungroup-columns-operation-in-kdb/10703>\
**Category:** Community Support\
**Tags:** imported, kdb-and-q\
**Created:** [January 1, 2016, 9:15pm UTC](https://forum.kx.com/t/re-personal-kdb-optimize-ungroup-columns-operation-in-kdb/10703 "2016-01-01T21:15:00Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![david\_demner](https://avatars.discourse-cdn.com/v4/letter/d/7993a0/32.png) [@david\_demner](https://forum.kx.com/u/david_demner)\
**Post date:** [January 1, 2016, 9:15pm UTC](https://forum.kx.com/t/re-personal-kdb-optimize-ungroup-columns-operation-in-kdb/10703/1 "2016-01-01T21:15:00Z")

</div>

User-Agent: Workspace Webmail 5.16.0Message-Id: \<20160101141535.85f80dae80d1d2f2e266ec6278e6cbe8.09ddc238fa.wbe@email07.europe.secureserver.net\>From: “David Demner (AquaQ)” \<david.demner\>To: personal-kdbplus@googlegroups.comSubject: RE: [personal kdb+] optimize ungroup columns operation in kdbDate: Fri, 01 Jan 2016 14:15:35 -0700Mime-Version: 1.0

You don’t need ungroup in this case. One approach is to create sub-tables, rename the col, and raze

  

q)n:1300000

q)a:([]cust:n?`8;v1:n?100;v2:n?100;v3:n?100)

q)\t t1:ungroup?[a;();0b;`cust`v!(`cust;(flip; enlist,`v1`v2`v3))]

1068

q)\t t2:raze{`cust`v xcol (`cust,y)#x}[a;] each cols[a] except `cust

13

q)asc[t1]~asc[t2]

1b

  

The order is different so it depends on whether that's ok or not.
 

>

---

<div class="post-metadata">

**Author:** ![Sam11](https://avatars.discourse-cdn.com/v4/letter/s/c6cbf5/32.png) [@Sam11](https://forum.kx.com/u/Sam11)\
**Post date:** [January 2, 2016, 1:38am UTC](https://forum.kx.com/t/re-personal-kdb-optimize-ungroup-columns-operation-in-kdb/10703/2 "2016-01-02T01:38:00Z")

</div>

Thanks. That worked perfectly.
