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;
}
これはうまく機能しているようで、ソート機能を変更するよりもはるかに簡単だと思います。
誰でもこれに問題がありますか?またはそれを行うより良い方法はありますか?