JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://rawgit.com/mbostock/d3/master/d3.js"></script>
<script src="https://rawgit.com/mtraynham/crossfilter/master/crossfilter.js"></script>
<link rel="stylesheet" href="https://rawgit.com/dc-js/dc.js/master/dc.css">
<script src="https://rawgit.com/dc-js/dc.js/master/dc.js"></script>
<div id="stacked_barchart"></div>
<div id="test2"></div>

JavaScript

var data = 
[
{
  yearsOfExp : 1,
  Courses_taken: [ 
      {
             Language : " SAP BI 7.0",
             spent : 5.0           
      }, 
      {
             spent : 5.5,
             Language : " SAP ECC 6.0"
      }
  ]
},
{
  yearsOfExp : 2.5,
  Courses_taken: [ 
          {
              Language : " SAP ECC 6.0",
              spent : 2.7
          },
         {
            Language : "ECC6.0",
             spent : 2
         }, 
         {
             Language : "ECC6.0.1",
             spent : 1.4
         }
 ]
},
{
  yearsOfExp : 3,
  _id : 1
}
];

var ndx = crossfilter(data);
var yearDim = ndx.dimension(function(d)
{
  return d.yearsOfExp;
});

var yeargroup = yearDim.group();

var stacked_dimesnion = ndx.dimension(function(d)
{

if(d.Courses_taken!= undefined)
{
 if(d.Courses_taken.length>0 )
  {
  var sample_array = [];

    for (var i=0; i < d.Courses_taken.length; i++) {

      sample_array.push( d.Courses_taken[i].Language);
    }

  return sample_array;
  }
}    
});
  
function reduceAdd(p, v) {

if(v.Courses_taken!= undefined)
{

  if(v.Courses_taken.length!=0 )
  {

    for (var i=0; i < v.Courses_taken.length; i++) {

    	if(v.Courses_taken[i].spent <= 3 )
		  {
        	 p[v.Courses_taken[i].Language] = (p[v.Courses_taken[i].Language] || 0) + 1; //increment counts

      }

    }

  }  
}  
   return p;
  

}

function reduceRemove(p, v) {

if(v.Courses_taken!= undefined)
{

  if(v.Courses_taken.length!=0 )
  {

    for (var i=0; i < v.Courses_taken.length; i++) {

  		if(v.Courses_taken[i].spent <= 3 )
		{
  
         p[v.Courses_taken[i].Language] = (p[v.Courses_taken[i].Language] || 0) - 1; //increment counts

        }
    }    
  }
}  
  return p;
}

function reduceInitial() {
  return {};  
}
    
var lt2_group = stacked_dimesnion.groupAll().reduce(reduceAdd, reduceRemove, reduceInitial).value();

lt2_group.all = function() {
  var newObject1 = [];
  
  for (var key in this) {
    if (this.hasOwnProperty(key) && key != "all")...