JSFiddle - React, Tailwind, and code Playground

by Andrey Gershun

HTML

<script src="http://alasql.org/console/alasql.min.js"></script>
<p>Result()</p><div id="res"></div>

CSS

table {border:1px solid black}

JavaScript

var data = [
{ Phase: "Phase 1", Step: "Step 1", Task: "Task 1", Val: 5 },

{ Phase: "Phase 2", Step: "Step 1", Task: "Task 1", Val: 25 },

{ Phase: "Phase 2", Step: "Step 2", Task: "Task 2", Val: 40 },
{ Phase: "Phase 3", Step: "Step 2", Task: "Task 2", Val: 40 },
{ Phase: "Phase 3", Step: "Step 2", Task: "Task 2", Val: 40 },
{ Phase: "Phase 3", Step: "Step 2", Task: "Task 2", Val: 40 },
];

alasql.fn.myfilter = function(phase) {
    return alasql('SELECT VALUE COUNT(*) FROM ? WHERE Phase = ?',[data,phase]) == 2;
};

var res = alasql('SELECT * FROM ? WHERE myfilter(Phase)',[data]);

document.getElementById('res').textContent = JSON.stringify(res);