1

Google 埋め込み API とデータテーブルを使用して、分析を視覚化します。問題は、列が正しく並べ替えられないことです。つまり、すべてが文字列として扱われます。私はこのコードを持っています:

gapi.client.analytics.data.ga.get(queryObj1).execute(function(results){
    var myTable = new google.visualization.DataTable(results.dataTable);
    ....

これにより myTable が正しく作成され、デバッグすると、作成された列の型が文字列または数値であることがわかります。しかし、results.dataTable (クエリによって返されるオブジェクト) の値を確認すると、ajax 呼び出しから予想されるように、すべてが文字列であることがわかります。

ソート関数の書き直しに関するこのスレッドを見つけましたが、それは少し複雑に思えます。何か問題が発生した場合、それを理解できるかどうかわかりません。

私のアプローチは、データテーブルを反復処理し、すべての数値列を実際の数値に変換することです。

function makeNumbers(results){

    // make numbers actually numbers so they will sort properly
    for(var c in results.cols){
        // check if the column is a number type
        if(results.cols[c].type === "number"){
            // fix the values for that column is all the rows
            for(var r in results.rows){
                results.rows[r].c[c].v = +results.rows[r].c[c].v
            }
        }   
    }
    return results;
}

これはうまく機能しているようで、ソート機能を変更するよりもはるかに簡単だと思います。

誰でもこれに問題がありますか?またはそれを行うより良い方法はありますか?

4

0 に答える 0