mps_agg.html 2.23 KB
<!DOCTYPE html>
<html>
    <head>
        <title>Pivot Demo</title>
        <!-- external libs from cdnjs -->
        <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
        <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>

        <!-- PivotTable.js libs from ../dist -->
        <link rel="stylesheet" type="text/css" href="../dist/pivot.css">
        <script type="text/javascript" src="../dist/pivot.js"></script>
        <style>
            body {font-family: Verdana;}
        </style>

        <!-- optional: mobile support with jqueryui-touch-punch -->
        <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js"></script>

        <!-- for examples only! script to show code to user -->
        <script type="text/javascript" src="show_code.js"></script>
    </head>
    <body>
        <script type="text/javascript">
    // This example shows custom aggregators and sorters using
    // the "Canadian Parliament 2012" dataset.

    $(function(){
        var tpl = $.pivotUtilities.aggregatorTemplates;

        $.getJSON("mps.json", function(mps) {
            $("#output").pivotUI(mps, {
                rows: ["Province"], cols: ["Party"],
                aggregators: {
                    "Number of MPs":      function() { return tpl.count()() },
                    "Average Age of MPs": function() { return tpl.average()(["Age"])}
                },
                sorters: {
                    Province: $.pivotUtilities.sortAs(
                            ["British Columbia", "Alberta",
                            "Saskatchewan", "Manitoba",
                            "Territories", "Ontario", "Quebec",
                            "New Brunswick", "Prince Edward Island",
                            "Nova Scotia", "Newfoundland and Labrador"]),
                    Age: function(a,b){ return b-a; } //sort backwards
                }
            });
        });
     });
        </script>

        <p><a href="index.html">&laquo; back to PivotTable.js examples</a></p>

        <div id="output" style="margin: 30px;"></div>

    </body>
</html>