Crossfilter arrays as keys

Trying to find a way how to expand array of keys into separate records, one per element of array

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/d3/3.2.2/d3.v3.min.js"></script>
<div id="chart"></div>
<div id="chart2"></div>

CSS

.dc-chart {
    float: left;
}
.dc-chart rect.bar {
    stroke: none;
    fill: steelblue;
}
.dc-chart rect.bar:hover {
    fill-opacity: .5;
}
.dc-chart rect.stack1 {
    stroke: none;
    fill: red;
}
.dc-chart rect.stack2 {
    stroke: none;
    fill: green;
}
.dc-chart rect.deselected {
    stroke: none;
    fill: #ccc;
}
.dc-chart .sub .bar {
    stroke: none;
    fill: #ccc;
}
.dc-chart .pie-slice {
    /*fill: white;*/
    font-size: 12px;
    cursor: pointer;
}
.dc-chart .pie-slice :hover {
    fill-opacity: .8;
}
.dc-chart .selected path {
    stroke-width: 3;
    stroke: #ccc;
    fill-opacity: 1;
}
.dc-chart .deselected path {
    strok: none;
    fill-opacity: .5;
    fill: #ccc;
}
.dc-chart .axis path, .axis line {
    fill: none;
    stroke: #000;
    shape-rendering: crispEdges;
}
.dc-chart .axis text {
    font: 10px sans-serif;
}
.dc-chart .grid-line line {
    fill: none;
    stroke: #ccc;
    opacity: .5;
    shape-rendering: crispEdges;
}
.dc-chart .brush rect.background {
    z-index: -999;
}
.dc-chart .brush rect.extent {
    fill: steelblue;
    fill-opacity: .125;
}
.dc-chart .brush .resize path {
    fill: #eee;
    stroke: #666;
}
.dc-chart path.line {
    fill: none;
    stroke: steelblue;
    stroke-width: 1.5px;
}
.dc-chart circle.dot {
    fill: steelblue;
}
.dc-chart g.stack1 path.line {
    stroke: green;
}
.dc-chart g.stack1 circle.dot {
    fill: green;
}
.dc-chart g.stack2 path.line {
    stroke: red;
}
.dc-chart g.stack2 circle.dot {
    fill: red;
}
.dc-chart g.dc-tooltip path {
    fill: none;
    stroke: grey;
    stroke-opacity: .8;
}
.dc-chart path.area {
    fill: steelblue;
    fill-opacity: .3;
    stroke: none;
}
.dc-chart g.stack1 path.area {
    fill: green;
}
.dc-chart g.stack2 path.area {
    fill: red;
}
.dc-chart .node {
    font-size: 0.7em;
    cursor: pointer;
}
.dc-chart .node :hover {
    fill-opacity: .8;
}
.dc-chart .selected circle {
    stroke-width: 3;
    stroke: #ccc;
    fill-opacity: 1;
}
.dc-chart...

JavaScript

(function(r){function n(r){return r}function t(r,n){for(var t=0,e=n.length,u=Array(e);e>t;++t)u[t]=r[n[t]];return u}function e(r){function n(n,t,e,u){for(;u>e;){var f=e+u>>>1;r(n[f])<t?e=f+1:u=f}return e}function t(n,t,e,u){for(;u>e;){var f=e+u>>>1;t<r(n[f])?u=f:e=f+1}return e}return t.right=t,t.left=n,t}function u(r){function n(r,n,t){for(var u=t-n,f=(u>>>1)+1;--f>0;)e(r,f,u,n);return r}function t(r,n,t){for(var u,f=t-n;--f>0;)u=r[n],r[n]=r[n+f],r[n+f]=u,e(r,1,f,n);return r}function e(n,t,e,u){for(var f,o=n[--u+t],i=r(o);(f=t<<1)<=e&&(e>f&&r(n[u+f])>r(n[u+f+1])&&f++,!(i<=r(n[u+f])));)n[u+t]=n[u+f],t=f;n[u+t]=o}return n.sort=t,n}function f(r){function n(n,e,u,f){var o,i,a,c,l=Array(f=Math.min(u-e,f));for(i=0;f>i;++i)l[i]=n[e++];if(t(l,0,f),u>e){o=r(l[0]);do(a=r(c=n[e])>o)&&(l[0]=c,o=r(t(l,0,f)[0]));while(++e<u)}return l}var t=u(r);return n}function o(r){function n(n,t,e){for(var u=t+1;e>u;++u){for(var f=u,o=n[u],i=r(o);f>t&&r(n[f-1])>i;--f)n[f]=n[f-1];n[f]=o}return n}return n}function i(r){function n(r,n,u){return(U>u-n?e:t)(r,n,u)}function t(t,e,u){var f,o=0|(u-e)/6,i=e+o,a=u-1-o,c=e+u-1>>1,l=c-o,v=c+o,s=t[i],h=r(s),d=t[l],p=r(d),g=t[c],y=r(g),m=t[v],b=r(m),A=t[a],k=r(A);h>p&&(f=s,s=d,d=f,f=h,h=p,p=f),b>k&&(f=m,m=A,A=f,f=b,b=k,k=f),h>y&&(f=s,s=g,g=f,f=h,h=y,y=f),p>y&&(f=d,d=g,g=f,f=p,p=y,y=f),h>b&&(f=s,s=m,m=f,f=h,h=b,b=f),y>b&&(f=g,g=m,m=f,f=y,y=b,b=f),p>k&&(f=d,d=A,A=f,f=p,p=k,k=f),p>y&&(f=d,d=g,g=f,f=p,p=y,y=f),b>k&&(f=m,m=A,A=f,f=b,b=k,k=f);var x=d,w=p,E=m,O=b;t[i]=s,t[l]=t[e],t[c]=g,t[v]=t[u-1],t[a]=A;var M=e+1,U=u-2,z=O>=w&&w>=O;if(z)for(var N=M;U>=N;++N){var C=t[N],S=r(C);if(w>S)N!==M&&(t[N]=t[M],t[M]=C),++M;else if(S>w)for(;;){var q=r(t[U]);{if(!(q>w)){if(w>q){t[N]=t[M],t[M++]=t[U],t[U--]=C;break}t[N]=t[U],t[U--]=C;break}U--}}}else for(var N=M;U>=N;N++){var C=t[N],S=r(C);if(w>S)N!==M&&(t[N]=t[M],t[M]=C),++M;else if(S>O)for(;;){var...