Built with blockbuilder.org
Created
April 13, 2018 07:21
-
-
Save taufiqibrahim/a02ef35376d982c8737e5012e47945bb to your computer and use it in GitHub Desktop.
trueconex
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
license: mit |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "Trueconex", | |
"children": [{ | |
"name": "Management Contract", | |
"level": "root", | |
"tc_root_id": 2, | |
"children": [{ | |
"name": "TrueCONEx", | |
"level": "category", | |
"tc_category_id": 1, | |
"children": [{ | |
"name": "TrueCONEx Index", | |
"level": "kpi_main", | |
"tc_kpi_main_id": 5, | |
"children": [{ | |
"name": "Experience", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 11, | |
"children": [{ | |
"name": "Customer Survey Satisfaction", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 7, | |
"children": [{ | |
"name": "None", | |
"level": "metric", | |
"tc_metric_id": 0 | |
}] | |
}] | |
}, { | |
"name": "Service", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 12, | |
"children": [{ | |
"name": "Youtube Performance", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 1, | |
"children": [{ | |
"name": "None", | |
"level": "metric", | |
"tc_metric_id": 0 | |
}] | |
}, { | |
"name": "DT Benchmark", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 4, | |
"children": [{ | |
"name": "None", | |
"level": "metric", | |
"tc_metric_id": 0 | |
}] | |
}] | |
}, { | |
"name": "Performance", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 13, | |
"children": [{ | |
"name": "POI QoS", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 3, | |
"children": [{ | |
"name": "None", | |
"level": "metric", | |
"tc_metric_id": 0 | |
}] | |
}, { | |
"name": "Network Quality Index", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 6, | |
"children": [{ | |
"name": "None", | |
"level": "metric", | |
"tc_metric_id": 0 | |
}] | |
}] | |
}] | |
}, { | |
"name": "Service Availability", | |
"level": "kpi_main", | |
"tc_kpi_main_id": 6, | |
"children": [{ | |
"name": "None", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 0, | |
"children": [{ | |
"name": "None", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 0, | |
"children": [{ | |
"name": "None", | |
"level": "metric", | |
"tc_metric_id": 0 | |
}] | |
}] | |
}] | |
}, { | |
"name": "Network Comparative", | |
"level": "kpi_main", | |
"tc_kpi_main_id": 4, | |
"children": [{ | |
"name": "Mobile Quality Agent Performance", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 9, | |
"children": [{ | |
"name": "None", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 0, | |
"children": [{ | |
"name": "None", | |
"level": "metric", | |
"tc_metric_id": 0 | |
}] | |
}] | |
}, { | |
"name": "Speed Test", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 10, | |
"children": [{ | |
"name": "None", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 0, | |
"children": [{ | |
"name": "None", | |
"level": "metric", | |
"tc_metric_id": 0 | |
}] | |
}] | |
}] | |
}] | |
}] | |
}, { | |
"name": "Regional Performer", | |
"level": "root", | |
"tc_root_id": 1, | |
"children": [{ | |
"name": "TrueNEx", | |
"level": "category", | |
"tc_category_id": 3, | |
"children": [{ | |
"name": "TrueCONEx Performance", | |
"level": "kpi_main", | |
"tc_kpi_main_id": 1, | |
"children": [{ | |
"name": "Service Quality", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 3, | |
"children": [{ | |
"name": "Network Quality Index", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 6, | |
"children": [{ | |
"name": "NQI Score", | |
"level": "metric", | |
"tc_metric_id": 7 | |
}] | |
}, { | |
"name": "POI QoS", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 3, | |
"children": [{ | |
"name": "POI QoS Score", | |
"level": "metric", | |
"tc_metric_id": 4 | |
}] | |
}] | |
}] | |
}, { | |
"name": "TrueCONEx Progress", | |
"level": "kpi_main", | |
"tc_kpi_main_id": 2, | |
"children": [{ | |
"name": "POI QoS Progress", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 4, | |
"children": [{ | |
"name": "None", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 0, | |
"children": [{ | |
"name": "% Ticket Close", | |
"level": "metric", | |
"tc_metric_id": 8 | |
}] | |
}] | |
}, { | |
"name": "NQI Progress", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 7, | |
"children": [{ | |
"name": "None", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 0, | |
"children": [{ | |
"name": "NQI Score", | |
"level": "metric", | |
"tc_metric_id": 7 | |
}] | |
}] | |
}] | |
}, { | |
"name": "Business Performance", | |
"level": "kpi_main", | |
"tc_kpi_main_id": 3, | |
"children": [{ | |
"name": "Network Productivity", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 8, | |
"children": [{ | |
"name": "Network Quality Index", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 6, | |
"children": [{ | |
"name": "Network Productivity Score", | |
"level": "metric", | |
"tc_metric_id": 9 | |
}] | |
}] | |
}] | |
}] | |
}, { | |
"name": "TrueBEx", | |
"level": "category", | |
"tc_category_id": 2, | |
"children": [{ | |
"name": "TrueCONEx Progress", | |
"level": "kpi_main", | |
"tc_kpi_main_id": 2, | |
"children": [{ | |
"name": "POI QoS Progress", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 4, | |
"children": [{ | |
"name": "None", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 0, | |
"children": [{ | |
"name": "% Ticket Close", | |
"level": "metric", | |
"tc_metric_id": 8 | |
}] | |
}] | |
}, { | |
"name": "NQI Progress", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 7, | |
"children": [{ | |
"name": "None", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 0, | |
"children": [{ | |
"name": "NQI Score", | |
"level": "metric", | |
"tc_metric_id": 7 | |
}] | |
}] | |
}, { | |
"name": "Speed Test Progress", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 6, | |
"children": [{ | |
"name": "None", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 0, | |
"children": [{ | |
"name": "% Ticket Close", | |
"level": "metric", | |
"tc_metric_id": 8 | |
}] | |
}] | |
}] | |
}, { | |
"name": "Business Performance", | |
"level": "kpi_main", | |
"tc_kpi_main_id": 3, | |
"children": [{ | |
"name": "Network Productivity", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 8, | |
"children": [{ | |
"name": "Network Quality Index", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 6, | |
"children": [{ | |
"name": "Network Productivity Score", | |
"level": "metric", | |
"tc_metric_id": 9 | |
}] | |
}] | |
}] | |
}, { | |
"name": "TrueCONEx Performance", | |
"level": "kpi_main", | |
"tc_kpi_main_id": 1, | |
"children": [{ | |
"name": "Service Quality", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 3, | |
"children": [{ | |
"name": "Network Quality Index", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 6, | |
"children": [{ | |
"name": "NQI Score", | |
"level": "metric", | |
"tc_metric_id": 7 | |
}] | |
}, { | |
"name": "Speed Test", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 5, | |
"children": [{ | |
"name": "Speed Test Score", | |
"level": "metric", | |
"tc_metric_id": 6 | |
}] | |
}, { | |
"name": "POI QoS", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 3, | |
"children": [{ | |
"name": "POI QoS Score", | |
"level": "metric", | |
"tc_metric_id": 4 | |
}] | |
}] | |
}] | |
}] | |
}, { | |
"name": "TrueCONEx", | |
"level": "category", | |
"tc_category_id": 1, | |
"children": [{ | |
"name": "TrueCONEx Performance", | |
"level": "kpi_main", | |
"tc_kpi_main_id": 1, | |
"children": [{ | |
"name": "Network Experience", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 2, | |
"children": [{ | |
"name": "Youtube Performance", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 1, | |
"children": [{ | |
"name": "Cell population with 40% Observation support 1080p HD", | |
"level": "metric", | |
"tc_metric_id": 2 | |
}] | |
}, { | |
"name": "Mobile Quality Agent Performance", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 2, | |
"children": [{ | |
"name": "Customer Survey Performance Index", | |
"level": "metric", | |
"tc_metric_id": 3 | |
}] | |
}] | |
}, { | |
"name": "Service Quality", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 3, | |
"children": [{ | |
"name": "POI QoS", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 3, | |
"children": [{ | |
"name": "POI QoS Score", | |
"level": "metric", | |
"tc_metric_id": 4 | |
}] | |
}, { | |
"name": "Network Quality Index", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 6, | |
"children": [{ | |
"name": "NQI Score", | |
"level": "metric", | |
"tc_metric_id": 7 | |
}] | |
}, { | |
"name": "Speed Test", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 5, | |
"children": [{ | |
"name": "Speed Test Score", | |
"level": "metric", | |
"tc_metric_id": 6 | |
}] | |
}, { | |
"name": "DT Benchmark", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 4, | |
"children": [{ | |
"name": "Drive Test KQI Score", | |
"level": "metric", | |
"tc_metric_id": 5 | |
}] | |
}] | |
}, { | |
"name": "Customer Survey Satisfaction", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 1, | |
"children": [{ | |
"name": "None", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 0, | |
"children": [{ | |
"name": "Top 3 Box (T3B)", | |
"level": "metric", | |
"tc_metric_id": 1 | |
}] | |
}] | |
}] | |
}, { | |
"name": "Business Performance", | |
"level": "kpi_main", | |
"tc_kpi_main_id": 3, | |
"children": [{ | |
"name": "Network Productivity", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 8, | |
"children": [{ | |
"name": "Network Quality Index", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 6, | |
"children": [{ | |
"name": "Network Productivity Score", | |
"level": "metric", | |
"tc_metric_id": 9 | |
}] | |
}] | |
}] | |
}, { | |
"name": "TrueCONEx Progress", | |
"level": "kpi_main", | |
"tc_kpi_main_id": 2, | |
"children": [{ | |
"name": "Speed Test Progress", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 6, | |
"children": [{ | |
"name": "None", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 0, | |
"children": [{ | |
"name": "% Ticket Close", | |
"level": "metric", | |
"tc_metric_id": 8 | |
}] | |
}] | |
}, { | |
"name": "DT Benchmark Progress", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 5, | |
"children": [{ | |
"name": "None", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 0, | |
"children": [{ | |
"name": "% Ticket Close", | |
"level": "metric", | |
"tc_metric_id": 8 | |
}] | |
}] | |
}, { | |
"name": "NQI Progress", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 7, | |
"children": [{ | |
"name": "None", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 0, | |
"children": [{ | |
"name": "NQI Score", | |
"level": "metric", | |
"tc_metric_id": 7 | |
}] | |
}] | |
}, { | |
"name": "POI QoS Progress", | |
"level": "kpi_sub_1", | |
"tc_kpi_sub_1_id": 4, | |
"children": [{ | |
"name": "None", | |
"level": "kpi_sub_2", | |
"tc_kpi_sub_2_id": 0, | |
"children": [{ | |
"name": "% Ticket Close", | |
"level": "metric", | |
"tc_metric_id": 8 | |
}] | |
}] | |
}] | |
}] | |
}] | |
}] | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
.node { | |
cursor: pointer; | |
} | |
.node circle { | |
fill: #fff; | |
stroke: steelblue; | |
stroke-width: 1.5px; | |
} | |
.node text { | |
font: 10px sans-serif; | |
} | |
.link { | |
fill: none; | |
stroke: #ccc; | |
stroke-width: 1.5px; | |
} | |
</style> | |
<body> | |
<script src="//d3js.org/d3.v3.min.js"></script> | |
<script> | |
var margin = {top: 20, right: 120, bottom: 20, left: 120}, | |
width = 960 - margin.right - margin.left, | |
height = 800 - margin.top - margin.bottom; | |
var i = 0, | |
duration = 750, | |
root; | |
var tree = d3.layout.tree() | |
.size([height, width]); | |
var diagonal = d3.svg.diagonal() | |
.projection(function(d) { return [d.y, d.x]; }); | |
var svg = d3.select("body").append("svg") | |
.attr("width", width + margin.right + margin.left) | |
.attr("height", height + margin.top + margin.bottom) | |
.append("g") | |
.attr("transform", "translate(" + margin.left + "," + margin.top + ")"); | |
d3.json("data.json", function(error, flare) { | |
if (error) throw error; | |
root = flare; | |
root.x0 = height / 2; | |
root.y0 = 0; | |
function collapse(d) { | |
if (d.children) { | |
d._children = d.children; | |
d._children.forEach(collapse); | |
d.children = null; | |
} | |
} | |
root.children.forEach(collapse); | |
update(root); | |
}); | |
d3.select(self.frameElement).style("height", "800px"); | |
function update(source) { | |
// Compute the new tree layout. | |
var nodes = tree.nodes(root).reverse(), | |
links = tree.links(nodes); | |
// Normalize for fixed-depth. | |
nodes.forEach(function(d) { d.y = d.depth * 180; }); | |
// Update the nodes… | |
var node = svg.selectAll("g.node") | |
.data(nodes, function(d) { return d.id || (d.id = ++i); }); | |
// Enter any new nodes at the parent's previous position. | |
var nodeEnter = node.enter().append("g") | |
.attr("class", "node") | |
.attr("transform", function(d) { return "translate(" + source.y0 + "," + source.x0 + ")"; }) | |
.on("click", click); | |
nodeEnter.append("circle") | |
.attr("r", 1e-6) | |
.style("fill", function(d) { return d._children ? "lightsteelblue" : "#fff"; }); | |
nodeEnter.append("text") | |
.attr("x", function(d) { return d.children || d._children ? -10 : 10; }) | |
.attr("dy", ".35em") | |
.attr("text-anchor", function(d) { return d.children || d._children ? "end" : "start"; }) | |
.text(function(d) { return d.name; }) | |
.style("fill-opacity", 1e-6); | |
// Transition nodes to their new position. | |
var nodeUpdate = node.transition() | |
.duration(duration) | |
.attr("transform", function(d) { return "translate(" + d.y + "," + d.x + ")"; }); | |
nodeUpdate.select("circle") | |
.attr("r", 4.5) | |
.style("fill", function(d) { return d._children ? "lightsteelblue" : "#fff"; }); | |
nodeUpdate.select("text") | |
.style("fill-opacity", 1); | |
// Transition exiting nodes to the parent's new position. | |
var nodeExit = node.exit().transition() | |
.duration(duration) | |
.attr("transform", function(d) { return "translate(" + source.y + "," + source.x + ")"; }) | |
.remove(); | |
nodeExit.select("circle") | |
.attr("r", 1e-6); | |
nodeExit.select("text") | |
.style("fill-opacity", 1e-6); | |
// Update the links… | |
var link = svg.selectAll("path.link") | |
.data(links, function(d) { return d.target.id; }); | |
// Enter any new links at the parent's previous position. | |
link.enter().insert("path", "g") | |
.attr("class", "link") | |
.attr("d", function(d) { | |
var o = {x: source.x0, y: source.y0}; | |
return diagonal({source: o, target: o}); | |
}); | |
// Transition links to their new position. | |
link.transition() | |
.duration(duration) | |
.attr("d", diagonal); | |
// Transition exiting nodes to the parent's new position. | |
link.exit().transition() | |
.duration(duration) | |
.attr("d", function(d) { | |
var o = {x: source.x, y: source.y}; | |
return diagonal({source: o, target: o}); | |
}) | |
.remove(); | |
// Stash the old positions for transition. | |
nodes.forEach(function(d) { | |
d.x0 = d.x; | |
d.y0 = d.y; | |
}); | |
} | |
// Toggle children on click. | |
function click(d) { | |
if (d.children) { | |
d._children = d.children; | |
d.children = null; | |
} else { | |
d.children = d._children; | |
d._children = null; | |
} | |
update(d); | |
} | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment