function visualize(data,params){
InjectDcCss;
tltp;
const columns = Object.keys(data[0])
.filter((c,i)=>{
const nested = d3.nest().key(d=>d).entries(data.map(d=>d[c]));
return nested.length<30
})
var view = html`${container(columns)}`
var cr = crossfilter(data);
var charts = [];
const dcConfigs = columns.map((d,i)=>{
return {
selector:'selector'+i,
group:d
}
})
dcConfigs.forEach(config=>{
var chart = dc.rowChart(view.querySelector('#'+config.selector))
charts.push(chart);
var dimension = cr.dimension(data => {
if(typeof data[config.group] =='boolean'){
if(data[config.group]){
return "true"
}else{
return "false";
}
}
return (data[config.group] && typeof data[config.group] !='object' && data[config.group].trim())||'N\\A'
})
var group = dimension.group().reduceCount(d=>1)
console.log(dimension)
chart
.width(width/3)
.height(450)
.elasticX(true)
.dimension(dimension)
.group(group)
chart.xAxis()
.ticks(5)
})
dc.renderAll() ;
return view
}