###前提・実現したいこと
jqueryのプラグインのpivottable.jsを使ってjsonデータの集計を表示させようとしています。pivottable.jsの機能はとてもいいと思うんですが、自分が使いやすいようにカスタマイズをしたいと思っています。aggregatorsの部分について聞きたいことがあります。今、aggregatorsの部分にcountとsumの命令を入れているのですが、さらにここにcountAsFractionOfRows(Total(行の)を100%としたときのカウント構成比率)の命令を入れたいと思っています。もともと組み込まれている機能ですが、余計なものが多いと思い、count,sum,countAsFractionOfRowsだけにしたいです。
###該当のソースコード
<!DOCTYPE html> <html><head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <script src="jquery-1.9.1.min.js"></script> <link rel="stylesheet" type="text/css" href="pivot.css"> <script src="jquery-ui-1.9.2.custom.js"></script> <script src="pivot.js"></script> </head> <body> <script type="text/javascript" > ``` var data = [ {"number":"4","shot":3,"result":"yes","time":"4時20分20秒"}, {"number":"5","shot":1,"result":"no","time":"4時20分23秒"}, {"number":"6","shot":2,"result":"yes","time":"4時20分25秒"}, {"number":"7","shot":1,"result":"no","time":"4時20分35秒"}, {"number":"8","shot":1,"result":"yes","time":"4時20分59秒"}, {"number":"4","shot":2,"result":"no","time":"4時21分10秒"}, {"number":"5","shot":3,"result":"yes","time":"4時21分30秒"}, {"number":"6","shot":2,"result":"no","time":"4時21分49秒"}, {"number":"7","shot":2,"result":"yes","time":"4時22分20秒"}, {"number":"4","shot":3,"result":"no","time":"4時22分24秒"}, {"number":"8","shot":2,"result":"yes","time":"4時22分28秒"}, {"number":"6","shot":2,"result":"no","time":"4時23分40秒"}, {"number":"7","shot":2,"result":"no","time":"4時24分24秒"}, {"number":"8","shot":3,"result":"yes","time":"4時24分50秒"}, {"number":"4","shot":2,"result":"yes","time":"4時24分51秒"}, {"number":"5","shot":1,"result":"no","time":"4時25分10秒"}, {"number":"5","shot":1,"result":"yes","time":"4時25分12秒"}, {"number":"7","shot":2,"result":"no","time":"4時25分46秒"}, {"number":"4","shot":2,"result":"no","time":"4時26分49秒"}, {"number":"7","shot":3,"result":"yes","time":"4時26分59秒"}, {"number":"5","shot":2,"result":"no","time":"4時26分00秒"}, {"number":"6","shot":2,"result":"yes","time":"4時27分00秒"}, {"number":"6","shot":3,"result":"yes","time":"4時28分12秒"}, {"number":"8","shot":3,"result":"yes","time":"4時28分21秒"}, {"number":"5","shot":2,"result":"no","time":"4時28分46秒"}, {"number":"5","shot":3,"result":"yes","time":"4時28分47秒"}, {"number":"7","shot":1,"result":"yes","time":"4時28分49秒"}, {"number":"7","shot":1,"result":"yes","time":"4時29分01秒"}, {"number":"8","shot":1,"result":"no","time":"4時29分10秒"}, {"number":"8","shot":1,"result":"no","time":"4時29分15秒"}, {"number":"6","shot":2,"result":"yes","time":"4時30分56秒"}, {"number":"7","shot":2,"result":"yes","time":"4時30分36秒"}, {"number":"4","shot":3,"result":"no","time":"4時30分37秒"}, {"number":"4","shot":2,"result":"yes","time":"4時31分29秒"}, {"number":"4","shot":1,"result":"no","time":"4時32分10秒"}, {"number":"5","shot":3,"result":"no","time":"4時33分48秒"}, {"number":"6","shot":3,"result":"yes","time":"4時33分59秒"}, {"number":"8","shot":2,"result":"no","time":"4時34分00秒"} ];$(function(){
var tpl = $.pivotUtilities.aggregatorTemplates;
$("#output").pivotUI(data,
{
rows: ["number"],
cols: ["result","shot"],
vals: ["shot"],
aggregators: {
"シュート数": function() { return tpl.count()() },
"合計": function() { return tpl.sum()(["shot"]) },
"成功率": function() { return tpl.countAsFractionOfRow()() }
},
rendererName: "Table"
},
false
);
});
``````jQuery```
</script></body> </html><div id="output"></div> ``````HTML
###試したこと
count,sumは上記のソースだけで実装できました。しかし、countAsFractionOfRow()では実装できませんでした。どう書けば実装できるのかどなたか教えてください。
参考にしたページは「PivotTable.jsを使ってjavascriptで集計を簡単に表示するテスト」と「Aggregators」です。